Clearance
01
Open source Self-host free

Check every outbound AI call before it dials.

Clearance checks consent, do-not-call lists, the recipient's local calling hours and your AI disclosure against a policy you control, and keeps a tamper-evident record of every decision. One HTTP call before you dial.

Not legal advice. Clearance applies the rules you configure. The shipped policy is a conservative starting point that your lawyer must review. It does not make any call legal and does not protect you from liability.

Example decisions POST /v0/check
  • ALLOWED

    +1 212 555 0123

    10:00 New York · written consent · AI disclosed

  • BLOCKED

    +1 310 555 0123

    07:00 Los Angeles · outside_calling_window

  • BLOCKED

    +1 605 555 0123

    Denver 07:30 / Central 08:30 · must fit every zone

  • WARN

    "Hi, this is Ava from Acme Dental"

    ai_disclosure_missing

02

The problem

TCPA · consent

AI voices need consent

In February 2024 the FCC ruled that AI-generated voices count as "artificial" voices under the TCPA. Outbound AI calls in the US need prior express consent, and written consent for telemarketing. Your dialer has to know which numbers have it, and whether it was revoked.

EU AI Act · disclosure

"Tell them it's an AI"

The EU AI Act's Article 50 transparency obligations apply from 2 August 2026: people must be told they are talking to an AI. Builders running voice agents bring up the TCPA and the AI Act in public threads. A prompt edit can quietly remove the disclosure from your greeting.

Time zones · records

Local time is messy

Calling hours are in the recipient's local time. Some prefixes span several time zones (parts of the US, Spanish mobiles: Madrid and the Canaries). And when someone asks "why did you call me?", you need a record nobody could have edited afterwards.

03

Who it’s for

Teams whose AI agents dial out to people who did not call first.

Outbound sales, collections, appointments

Your agent dials thousands of numbers

Check consent, do-not-call lists, local calling hours and AI disclosure before each call.

Agencies running outbound

Your client's list, your exposure

Block risky calls automatically and keep a signed record of why each call was allowed.

US and EU teams

TCPA today, the AI Act next

Rules as a versioned policy, so you can show what was checked and when. Not legal advice.

04

What it does

  1. Load your data

    Import consent records (with the text the person saw), your internal opt-outs and a national DNC file you obtain yourself. Stored in SQLite on your machine.

  2. Ask before dialing

    POST /v0/check with the number, purpose and greeting. You get allowed, each reason, the rule it came from and the recipient's local time.

  3. Keep the proof

    Every decision, consent and opt-out goes into a hash-chained log. clearance verify-log spots edits; clearance proof <number> shows the full history.

Checks
  • E.164 validation and normalization
  • Internal and imported national do-not-call lists
  • Consent level per purpose, with revocation
  • Calling window in every time zone of the number
  • Per-number daily and weekly attempt caps
  • AI disclosure regex per language, block or warn
  • Opt-outs go straight to your DNC list
  • Rules as a JSON policy file, each with its source
05

Quickstart

Demo, then one check before dialing
# install and run the demo (fixed clock, fictional numbers)
pip install -e '.[dev]' && clearance demo
clearance serve

# before your agent dials
curl -X POST localhost:8787/v0/check -d '{
  "to_number": "+13105550123", "purpose": "telemarketing",
  "greeting_text": "Hi, this is Ava, a virtual assistant from Acme."
}'

{ "allowed": false,
  "reasons": [{ "code": "outside_calling_window", "severity": "block",
    "message": "... America/Los_Angeles Fri 07:00.",
    "rule_source": "TCPA, 47 CFR 64.1200(c)(1) ... Verify with a lawyer." }],
  "recipient_local_time": "2026-11-06T07:00-08:00",
  "disclaimer": "Technical check against your configured policy. Not legal advice." }

Snippets for LiveKit outbound SIP, Twilio and TypeScript are in examples/.

06
provisional

Pricing

Open source Free

Self-hosted, Apache-2.0. Your data stays on your server.

Hosted · usage $0.002/ check

$99/month minimum. For agencies starting outbound campaigns.

Hosted · flat $499/ month

Up to 500k checks per month.

The hosted version is not live yet. Prices may change before launch.

07

Join the hosted waitlist

Tell us what you call for (sales, collections, appointments) and where (US, EU).

We only use your email to contact you about this. Privacy.