Communication you must be able to explain
If you have to be able to explain a message months later, the useful question is what was recorded at the time. Connect records what was decided, by what, under which rule and what happened — including refusals, because a refusal is a decision. What it does not have is a certification, and no page here claims one.
What is on the record#
- The decision
- The audit trail carries what was decided, by what, under which rule, and the outcome. A refusal is recorded on the same footing as an action.
- The approval
- Held actions are released by a named person with permission on that channel, and the decision log answers 'who released this' long after everyone has forgotten.
- The evidence behind a claim
- In prospecting, a claim without evidence does not reach the record at all. The source is attached to the claim rather than remembered alongside it.
- The send
- A message is reported as sent only once the provider acknowledges it. The third state — uncertain — is shown as uncertain rather than resolved by guessing, because a confident wrong answer here is the one that causes trouble.
- The file
- Connect creates and modifies files as new versions, with provenance and audit, so the document somebody objects to has a history rather than a single mutable state.
The refusals that protect you#
Most of the compliance value here is negative — things that do not happen, reliably, without anybody remembering to enforce them.
- No invented commercial term. A price, an SLA or a warranty Knowledge cannot support is refused and escalated. On the realtime voice path the rule can only live in the instructions, so a breach is detected rather than prevented:
price_spokencounts the lines the voice priced, using the same expression the carrier path checks each sentence with. - No guessed contact details. No pattern-generated email address is produced, tested or sent to.
- No quiet override of a do-not-contact entry. Suppression, unsubscribe, complaints and do-not-contact are checked in one place before any outreach, and the Assistant cannot clear a do-not-contact entry at all.
- No cross-workspace leak by accident. Isolation is enforced three times: the tenant allowlist in the middleware, the SQLAlchemy workspace kernel, and row-level security in PostgreSQL, forced on every scoped table.
Handling the messages themselves#
Two things about reading mail matter more in a regulated setting than elsewhere. HTML is sanitised aggressively before it is rendered, and remote images are proxied rather than fetched by the reader browser — so opening a message does not tell the sender that somebody opened it.
Files are read with the standard library: PNG, JPEG and WebP; PDF via its text layer, or read by the model when there is none; DOCX; XLSX; CSV and TSV; PPTX; TXT, MD and JSON. DOCTYPE and ENTITY declarations and zip bombs are refused, which closes the two attachment tricks that turn a document reader into an incident. CSV export neutralises formulas so an exported sheet cannot execute in somebody spreadsheet.
What this documentation does not claim#
| Question | Position |
|---|---|
| Which certifications does Connect hold? | None are claimed here |
| What is the data retention period? | Not documented in these sources; ask before assuming a figure |
| Where is data processed? | Not documented here; the security section is the place to look |
| Can I get an audio recording of a call? | No — recording is foundation and is not enabled on the live carrier. Transcript and summary exist |
| Can a call be handed to a compliance officer live? | A supervisor can act on the live call; a completed transfer to a person is not available |
Where the credentials live#
Provider credentials are sealed on every save and never echoed back to a screen. Google OAuth is the only sign-in — there is no password login to leak or to leave behind when somebody departs. The database password is not held in configuration at all: the managed database rotates the master credential into a secrets store, and boot reads it from there by ARN.
The application own machine-readable API description is closed and stays closed; the public description that exists is published deliberately, separately, and does not expose the internal surface.
Questions#
Can I show a regulator what happened on a specific message?
You can show the decision, the rule it was taken under, who approved it if anybody did, and the provider acknowledgement that the send actually happened. For a call you can show the transcript and the summary. What you cannot show is audio, because recording is not enabled on the live carrier.
Does a refusal get recorded, or only the things that happened?
Refusals are recorded, deliberately, because a refusal is a decision somebody may need to justify. In practice the refusal log is also the most useful operational document in the system: it is a list of the questions your Knowledge cannot yet answer.
Is Connect compliant with my sector rules?
That is a question about your obligations, not about a product feature, and nothing here can answer it. What this page can tell you is precisely which records exist, which refusals are structural, and which claims — certification among them — are not made anywhere in this documentation.