Here's a short version of the talk I gave at the vCon Summit, part of VON Fall '26 in Atlanta. The title was "The vCon Is Your Compliance Witness: Auditable AI Voice in Regulated Industries."

The scenario: Can you prove the call was compliant?

The talk opened with a scenario every team running voice AI in healthcare should plan for. Six months after an AI call, a patient says, "I never agreed to a robot calling me." Now your legal team has questions: What did the AI say? Under what consent did you call? And did it tell the patient it was an AI?

Shai Berger on stage at the vCon Summit, presenting a slide that asks whether you can prove a patient agreed to an AI call.

Presenting the opening question at the vCon Summit in Atlanta. Photo: Technology Reseller News.

This is not a theoretical worry. Federal and state laws govern who you can call, when, and how often, and they overlap and keep changing. Since 2024 the FCC has treated an AI voice as an "artificial voice" under the TCPA, so the consent rules for robocalls apply to it. Plaintiffs' lawyers file suits over calls placed at the wrong time, to the wrong person, or without consent.

A transcript answers some of those questions, but incompletely. It shows what was said, but not the consent behind the call, and it can be edited without a trace. Most companies keep call recordings in one system and consent in another. So the argument of the talk was this: for voice AI in regulated industries, compliance has to be built into the call itself, and the vCon is where you prove it.

Four checks before the phone rings

Whether a call is lawful depends on why you place it. Take calling hours. The federal TCPA limits sales calls to 8 AM to 9 PM in the called party's time zone. Florida's law is stricter for sales calls: 8 AM to 8 PM, and no more than three calls in 24 hours. But a treatment call to your own patient is not a sales call. So the call has to know its purpose before it dials.

Our test call was a clinic calling a new patient in Florida to take her history before her first visit. Before it dialed, the campaign declared what it was: a treatment call, made by a covered entity under HIPAA, to a new patient, in an AI voice. From that, the system worked out which rules applied. Then it ran four checks: time of day, consent, the do-not-call list, and the attempt cap.

Slide: four checks run before a treatment call is placed: time of day, consent, do-not-call list and attempt cap.

The campaign declared: Treatment · New patient · AI voice
Treatment call: four checks before the phone rang
  1. Time of day

    Florida: 8 AM to 9 PM ET, our healthcare policy. Location: billing address, high confidence.

  2. Consent

    Consent record 60b22c65… on file, granted for treatment.

  3. Do not call

    Number scrubbed. Not on the list, not a known litigator.

  4. Attempt cap

    Rule pack healthcare_fcc. Within the cap.

Shai Berger · Consig · vCon Summit 2026

Each check wrote its decision into the call record, and the last one was recorded one second before the call started. If a check doesn't write a record, then as far as an auditor can tell, it never happened.

Notice the time window on the slide: 8 AM to 9 PM, not Florida's 8 to 8. Florida's limit is for sales calls, so for a treatment call the platform applies the federal window as its own healthcare policy.

How much should the AI decide? It depends on the part of the call

The next question is how much to let the AI decide. We think of it as a scale. Level zero is fully scripted, with nothing generated at run time. Level four is fully agentic, an open conversation driven by a large language model.

Most of the debate treats this as a choice you make once for each agent. Our view is that autonomy is set for each segment of the call, not for the call as a whole. A call can move up a level when the conversation needs it, and back down when it doesn't.

Slide: autonomy set per call segment: the emergency line read word for word, intake questions phrased by the AI, appointment requests limited.

One agent · Autonomy scale: L0 scripted to L4 fully agentic
Autonomy is set on a per-segment basis (Not per-call)
L0 · Emergency line
Read word for word

“If this is an emergency, dial 9 1 1 immediately.”

Speak verbatim: on. Barge-in: off.

L2 · Intake questions
AI asks, typed fields

The AI phrases each question. Answers fill typed fields, like onset_age: number, required.

Speak verbatim: off.

L3 · Appointments
Open prompt, hard limit

Takes the request. Never changes the appointment.

Shai Berger · Consig · vCon Summit 2026

Some examples show why. A follow-up call after a procedure is where an open conversation shines. "How are you feeling? How's your appetite? Does it hurt where you had the procedure?" Calls like these improve outcomes, but they have always needed a nurse on the phone, and staff is scarce. Now every patient can get one, with the worrying answers flagged for a person.

A behavioral health questionnaire is the opposite. The questions have to be asked in exactly the same way every time, because the answers become a score that is compared across patients. There, you constrain the AI.

Some lines need to be stricter still. An AI disclosure, or an instruction to dial 911 in an emergency, should be read word for word, and the patient shouldn't be able to talk over it. That is part of proving the patient heard it.

Each level carries different consent, disclosure and audit obligations. So the record should say which level each part of the call ran at.

Here the talk turned to the vCon itself. We record consent inside the vCon, using lawful_basis, a proposed extension to the vCon standard that is currently an IETF Internet-Draft. It records the basis for the call, which is consent. It records the purpose the consent was granted for, which is treatment, and when it was granted.

What it doesn't hold is the evidence itself. It holds a pointer to the consent record, which keeps protected health information out of it. And it is the same ID the consent check used before the dial. Two years from now, nobody has to rebuild the consent story from three systems. It is in the record of the call.

The record says how sure it is

The vCon also keeps what the AI drew out of the conversation: each answer, the words it was based on, and how confident the system was, on a scale from zero to one.

Slide: confidence scores for answers taken from the call: full name 1.0, date of birth 1.0, a one-word yes 0.4.

What the AI extracted · Confidence from 0 to 1
The record says how sure it is
What the AI recordedEvidence from the call (redacted)Confidence
Full nameStated in full on the call1.0
Date of birthStated in full, then confirmed when read back1.0
Speaking with the patient“Yes.”Flagged: bare acquiescence0.4

A one-word “Yes.” is weak evidence, and the record says so. Every call where identity was only weakly confirmed can be found afterward.

Shai Berger · Consig · vCon Summit 2026

In the test call, the patient stated her full name and date of birth, and both were recorded at 1.0. Then the AI asked whether it was speaking with the patient. The answer was one word: "Yes." That answer was recorded at 0.4 and flagged as bare acquiescence, a yes with nothing behind it; the record doesn't "round up" that weak evidence. So afterward, you can find calls where identity was weakly confirmed.

A signed record, and a witness that isn't us

The last question was whether anyone can trust the record. A vCon can be signed. Change one character, and verification fails. An unsigned vCon claims what was said. A signed vCon proves it hasn't changed since it was signed.

Slide comparing an unsigned vCon, which only claims what was said, with a signed vCon, which proves it is unchanged.

Can anyone trust the record?
Unsigned is testimony. Signed is evidence
Unsigned vCon
  • Claims what was said
  • Can be edited without a trace
  • Says nothing provable about when it existed
Signed vCon
  • RS256 signature over the whole record
  • Change one character and verification fails
  • Next: a SCITT receipt that proves when it existed
Test environment · demo signing key · earlier vCon draft
Shai Berger · Consig · vCon Summit 2026

There is a catch. If we hold the signing key, we could edit a record and sign it again, and a signature on its own says nothing about when the record existed. The answer is to register each record with an independent third party, a SCITT transparency service, which returns a receipt. The signature proves the record hasn't changed. The receipt proves when it existed, from someone other than us. Together they make the record tamper-evident: nothing makes a record tamper-proof, but an auditor can tell if this one was changed.

That ecosystem is not fully running yet, but we think it is where records of regulated calls will end up. The sample in the talk came from a test environment and was signed with a demo key.

What we'd like vCons to record next

The proposed lawful_basis extension is the right model, and we would like to see the same approach applied in two more places.

  1. Enforcement decisions. A standard format for each check made before and during a call: which rule was checked, what it looked at, the outcome, and why a rule didn't apply. The aim is to standardize the format, not the rules, which vary by state and by vendor. Our own record shows the 8 to 9 window, but not why Florida's sales-call rule was skipped. That is the gap.
  2. Disclosure events. What the patient was told, when, and proof that it matched the approved text.

If you are working on either, we would like to talk.

Why this matters for healthcare

Many of the healthcare organizations we talk to know which outbound calls they could automate. They hold back because they have read about the liability of placing a call the wrong way. Once legitimate operators can show that they place outbound calls safely, and can prove it call by call, a lot of healthcare work that could never be automated becomes possible. vCons are a big part of how we get there.

Many thanks to Doug Green of Technology Reseller News, who recorded the talk. You can watch it on LinkedIn.