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 (FCC 24-17). So an outbound AI call in the US needs the called party's prior express consent (emergencies aside), and prior express written consent for telemarketing (47 CFR 64.1200(a)). Your dialer has to know which numbers have it, and whether it was revoked.

EU AI Act · disclosure

"Tell them it's an AI"

Article 50(1) of the EU AI Act has applied since 2 August 2026, and the Digital Omnibus (Regulation (EU) 2026/1744) did not delay it: a system that talks with people must let them know it is an AI, unless that is obvious. 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). Several US states end sales calls earlier than federal law (Florida, Maryland and Oklahoma at 8 p.m.). And when someone asks "why did you call me?", you need a record in which later edits are detectable.

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 hash-chained (optionally signed) record of why each call was allowed.

US and EU teams

TCPA, state laws, AI Act

Rules as a versioned policy, each citing the statute or regulation it encodes, 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, the national DNC file you download yourself (FTC format) and Reassigned Numbers Database results. 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, national (31-day freshness) and state do-not-call lists
  • Consent level per purpose, with revocation
  • Federal and state calling hours in every time zone of the number
  • Attempt caps, including state 3-per-24-hours rules
  • AI disclosure regex per language, block or warn
  • Business named in the greeting (47 CFR 64.1200(b))
  • 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 . && clearance demo
clearance serve

# before your agent dials
curl -X POST localhost:8787/v0/check -H 'Content-Type: application/json' -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": "... (us-tcpa-telemarketing-hours): America/Los_Angeles 2026-11-06 07:00 ...",
    "citations": [{ "citation": "47 CFR 64.1200(c)(1) ...", "url": "https://www.ecfr.gov/..." }] }],
  "recipient_local_time": "2026-11-06T07:00-08:00",
  "disclaimer": "Technical check against your configured policy. Not legal advice." }

Tested examples for LiveKit SIP, Vapi, Retell and TypeScript are in examples/.

06
provisional

Pricing

Open source Free

Self-hosted, MIT. 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.