Skip to content
Centriu
Centriu Axis

Conversation Privacy and Cross-Client Disclosure Guardrail Automation: One Client's Name, Inside Another's Group

Centriu Axis's financial tools already refused to run whenever a client was present in the conversation — a deliberate guard against discussing one client's business in front of another. The client-notification tool did not carry the same guard. A request typed into the wrong group by mistake, one with a client present, and then deleted before anyone answered it, still reached the AI assistant, which went on to confirm — inside that client's own group, in front of that client — that it had already notified a DIFFERENT client by name. That single exchange disclosed another client's name, their status as a client, and the existence of their own private group to someone with no right to any of it. The fix closes the gap in three independent layers: the notification tool itself now refuses outright whenever a client is present in the calling conversation; the assistant's own instructions now state plainly, only in that situation, that naming another client is never acceptable even in passing; and a queued request is now re-checked against its own original message immediately before acting, so a request whose origin was deleted in the meantime is discarded instead of carried out. A closely related fix from the same investigation closes a second leak in the same conversation surface: a deleted message could still show its own content in a conversation list's preview line, even though the open thread had always correctly displayed "message deleted."
Same guard as financial tools
Three independent layers
Person working on a laptop with notifications on screen
One client's name, inside another's group.

A rule that existed in one place and was assumed everywhere else

A safeguard built once, for one specific tool, protects exactly that tool — nothing else automatically inherits it, no matter how obviously the same logic should apply elsewhere. Axis's financial tools already enforced "never discuss this with a client present," a rule written specifically because financial detail belonging to one client has no business surfacing in front of another. The client-notification tool sits right next to those financial tools conceptually, does something just as capable of exposing one client's information to another, and simply never had the same rule written into it — not because anyone decided it didn't need one, but because it was a separate piece of code that nobody had gone back to check.

How the underlying problem shows up before you fix it

A safeguard is implemented once, for one specific capability, with no shared, reusable mechanism ensuring an equally sensitive capability elsewhere automatically inherits the same rule.

An AI assistant's queued action is built from a message's content at the moment the message arrives, with nothing re-checking whether that message still exists — or was ever meant to be acted on — by the time the assistant actually responds.

A person can correct their own mistake from the outside (typing in the wrong group, then deleting the message) while an internal system has already queued a response to the version of events before the correction.

A conversation list's own preview logic and the open thread it summarizes can be built from two different queries with two different rules — one correctly excludes a deleted message's content, the other does not.

The consequence of either gap is not a crash or an error a monitoring system would catch — it is a sentence spoken, or a line of text shown, containing information that should never have crossed from one client's context into another's.

How a mistaken message, deleted before anyone answered, still leaked a name — and the three-layer fix

The incident traced in this investigation started with an ordinary mistake: someone typed a request into the wrong group — one where a client was actively present — and then deleted it, presumably realizing the error right away. The deletion happened at the level a person can see: the message itself vanished from the conversation. It did not happen at the level the AI assistant's own processing queue operates at — the request had already been queued with its content captured at the moment it arrived, and nothing re-checked whether the message behind it still existed by the time the assistant got around to acting on it. The assistant answered as if the mistaken request still stood, and in doing so, confirmed inside that client's own group that it had notified a completely different client, by name — disclosing that other client's name, their status as a client of the agency, and the existence of their own private group, to someone with no legitimate reason to know any of it.

The deeper cause was not the deleted message alone — it was that the tool responsible for notifying a client had never been given the same guard Axis's financial tools already carried: refuse outright whenever a client is present in the conversation making the request. That gap meant even a CORRECTLY intentioned request, typed in the wrong group by simple human error, had no independent check standing between the mistake and the disclosure it caused.

The fix closes this at three independent layers, deliberately not relying on any single one alone. First, the notification tool itself now checks whether a client is present in the calling conversation and refuses outright if so — the same category of guard the financial tools already had, extended to cover a capability just as capable of leaking one client's information to another. Second, the assistant's own operating instructions were updated specifically for the client-present case: naming another client from the roster is stated as never acceptable, even said in passing, even to confirm that something routine was already handled. Third, and specifically to close the exact path this incident took: a queued action is now re-validated against its own originating message immediately before the assistant acts on it — if that message was deleted in the time between being queued and being answered, the action is discarded outright, with its own explicit, named reason recorded, rather than proceeding as if the request still stood.

A second, related leak surfaced in the same investigation, sharing the identical missing-filter root cause on a different, adjacent surface: the query behind a conversation list's own preview line — the short snippet shown next to each conversation before it's opened — did not exclude a deleted message from consideration. If a deleted message happened to be the most recent one in a conversation, its actual content kept appearing in that preview line, even though the conversation itself, once opened, had always correctly shown "message deleted" instead. The fix adds the identical filter to the preview query, which now naturally falls back to the last message that was not deleted — the same discipline the open thread already enforced, extended to the summary view that sits in front of it.

What is actually built today

Centriu Axis's client-notification tool refuses to run whenever a client is present in the calling conversation — the same category of guard already enforced on Axis's financial tools, now extended to cover this equally sensitive capability.

The assistant's own operating instructions state explicitly, specifically for the client-present case, that naming another client from the agency's roster is never acceptable — including in passing, and including to confirm a routine action was completed.

A queued action originating from a specific message is re-validated against that message's own current state immediately before acting — a message deleted after being queued causes the action to be discarded, with its own named reason recorded rather than silently dropped.

A conversation list's own preview line now excludes a deleted message from consideration, matching the rule the open thread itself already enforced, and correctly falls back to the last non-deleted message instead.

All three layers of the disclosure guard are independent of one another by design — a gap in any single layer does not remove the protection the other two still provide.

No change to how the assistant communicates with a client normally — every one of these fixes is a refusal or a discard added specifically for the mistaken or stale-request case, not a change to routine, correctly directed behavior.

A mistaken message, deleted, and a name spoken anyway (illustrative framing of the actual measured finding)

Someone on the team means to ask the internal assistant, in the team's own private channel, whether a different client has already been notified about something — but types the request into the wrong group by mistake, one where a client is actively present, and deletes it seconds later on realizing the error. Before the fix, the assistant's own processing queue had already captured the request before the deletion, and answers it anyway, confirming inside the present client's own group that the other client had been notified — naming them directly. After the fix, the assistant re-checks the originating message immediately before responding, finds it deleted, and discards the action outright — nothing is said, and no name crosses from one client's context into another's.

What changes operationally

Centriu Axis's client-notification tool and its assistant's own instructions now carry the same client-present guard the financial tools already enforced, and a queued action is re-validated against its own originating message before acting — closing a real, dated disclosure of one client's name and group to another, plus a related conversation-preview leak sharing the same root cause.

When this is not the right fit

This automation governs what an internal AI assistant is permitted to say or act on when a client is present, and how a stale or deleted request is handled — it does not change how the assistant behaves in a normal, correctly directed, team-only conversation, and it is not a general content-moderation or message-retention product.

A rule enforced once vs. a rule enforced everywhere it applies

Building a safeguard for one sensitive capability and assuming a similarly sensitive one nearby inherits it automatically is exactly how this gap persisted — the financial tools were protected, and the notification tool, doing something just as capable of crossing a client boundary, simply never received the same review. Centriu's fix treats the underlying RULE — never disclose one client's information to another — as something that has to be verified independently at every place capable of causing that disclosure, not assumed from the existence of a similar rule somewhere else in the system.

Related systems

Main system: Centriu Axis.

What it does NOT do

  • Does not change how the assistant communicates in a normal, correctly directed conversation — every fix here is a refusal or a discard specific to a client-present or stale-request situation.
  • Does not retroactively review or correct any message sent before this fix shipped — a team concerned about a specific past incident should review its own conversation history directly.
  • Does not add message-retention or content-moderation capability beyond the specific is_deleted checks this fix relies on — it does not decide what content is appropriate beyond the client-name disclosure rule described here.
  • Does not prevent every possible way a client's information could theoretically be discussed near another client — this fix closes the two specific, measured mechanisms found in this investigation.
  • Does not change who is allowed to be a member of which conversation — the fix governs what the assistant is permitted to say or act on within a conversation's existing membership, not membership itself.
  • Does not replace an agency's own review of who is present in a given client conversation before sensitive topics are discussed.

Security and governance

The client-notification tool and the assistant's own instructions now enforce the same client-present refusal already used by Axis's financial tools, and a queued action is re-validated against its own originating message before it can act — closing a real, dated cross-client disclosure. Any client or business data referenced remains subject to Brazil's LGPD (Law No. 13,709/2018). Full detail on access control lives at /governanca and /iso.

Pricing and contracting

Included at no extra cost with any Centriu contract. Values and terms come from the official pricing table at /precos (Centriu's central source — never restated here).

Frequently asked questions

Did this actually disclose real information to the wrong client?

Yes — a dated, real incident: the assistant confirmed inside one client's group that it had notified a different client, disclosing that other client's name and the existence of their own group.

Why did deleting the mistaken message not prevent this?

The assistant's own processing queue had already captured the request's content before the deletion — nothing re-checked whether the originating message still existed by the time the assistant acted on it.

What are the three layers of the fix?

The notification tool now refuses outright with a client present, the assistant's own instructions state the same rule explicitly, and a queued action is re-validated against its originating message immediately before acting.

What was the second, related leak?

A conversation list's own preview line did not exclude a deleted message, so a deleted message that was the most recent one could still show its content there, even though the open thread correctly hid it.

Did Axis's financial tools have this same gap?

No — the financial tools already refused with a client present; this fix extends that same category of guard to the notification tool, which had never received it.

What does Centriu Axis cost?

It is sold by subscription with a published starting price — exact current values are on the central pricing page.

See how Centriu Axis keeps one client's information from surfacing in front of another

Reach our commercial team directly, or leave your details below — we'll follow up with guidance for your case.

Sources

  1. Centriu Axis — public product page — Centriu, 2026-07-20 · link(primária)
  2. Centriu Axis — public factsheet (API, JSON) — Centriu, 2026-07-21 · link
  3. Law No. 13,709/2018 — Brazil’s General Data Protection Law (LGPD) — Presidência da República (Brazil), 2018-08-14 · link

Last material update on .

By · AI-assisted production, with human review

We value your privacy

We use cookies to improve your experience, analyze site usage and support our marketing. You can accept all cookies or manage your preferences. To learn more, see our Cookie Policy.