Built to answer one question.

What does a voice agent look like if you stop assuming it is talking to a single person wearing a headset?

The gap

Almost every voice agent shipped so far assumes one human and one assistant. The assumption is invisible until you put the agent in a room with three people, at which point everything built on it stops working. It does not know who spoke. It answers questions asked of somebody else. It has no concept of a person who has gone quiet.

Meanwhile, the conversations where speech carries real legal consequence are almost never two-party. An adviser sits with a couple. A clinician sits with a patient and their daughter. An adjuster takes a call with a family in the background. In those rooms one sentence can create a regulatory problem that nobody notices until the recording is reviewed weeks later — long after the moment when saying it differently would have cost nothing.

Three principles

Speak last, and rarely. An agent that answers things nobody asked it is worse than no agent, because it takes the professional’s attention at the exact moment they need it. Second Chair is biased toward silence: across a twenty-turn call it speaks aloud twice.

The urgent path cannot depend on the clever one. A warning about a prohibited phrase has to arrive inside the sentence that contained it. That rules out a network round trip, so the tier that has to be instant is deterministic and local, and the tier that reasons about context runs detached behind it. Neither can block the other.

Sensitive data does not get a second chance. Redaction is the first stage of the pipeline rather than a filter at the end. There is no configuration in which raw personal data reaches the audit log, the interface, or a language model, because there is no code path that carries it there.

Where it fits

Second Chair is for regulated advice given out loud, in rooms with more than two people, where the record of what was said may later have to be defended. It is not a notetaker, and it is deliberately not a general assistant.

It assumes speech that can be attributed. A crowded room with overlapping voices and no per-speaker microphones will degrade separation, and every stage downstream inherits that. It also assumes a rule pack written for your jurisdiction: the packs that ship are a working starting point that demonstrates the mechanism, and a real deployment replaces them with rules your compliance function has reviewed.

What we are building next

What exists today catches the mistake and keeps the record. These are the pieces that turn it into something a compliance team can run across a whole firm.

  • A view for the person who signs off

    Today the advisor sees their own call. Compliance leads need their own screen: what is trending across the team, who needs coaching, and an export they can hand an auditor.

  • Rule packs you can edit without an engineer

    Rules are already a plain configuration file rather than code. The next step is editing and testing them in the browser, with separate packs per jurisdiction, product line and team.

  • Your client records, not a placeholder

    When the agent is asked a question out loud it answers from a record. Connecting that to the CRM you already keep — Salesforce, Redtail, Wealthbox — makes the answers real.

  • Review of calls that already happened

    The same engine can read yesterday's recordings instead of today's conversation. Teams that sample a small share of calls by hand could cover all of them.

  • Cleaner audio, cleaner separation

    One shared microphone works. Giving each person their own channel removes the guesswork from deciding who spoke, which every later stage depends on.

  • The paperwork a regulated buyer needs

    Recording consent built into the flow, a retention policy you control, and the security certification every compliance team asks for before signing anything.

Hear the difference between the two channels

The demo runs the full reference call in your browser — no signup, no key. Put headphones on: the earpiece channel is panned left, the room channel sits centre.

Run a callRead the sourceChecking the backend