Skip to main content

OpenAVT

CI PyPI Python 3.11+ Apache 2.0 Experimental

Closing the Voice-to-Business trust gap. TLS over voice, built for agents.

A personal AI agent calls a bank, utility or store on your behalf. The business needs to verify the agent, the customer it represents and the actions that customer authorized. Conversation alone cannot establish those permissions.

OpenAVT (Open Agent Voice TLS) carries cryptographic identity, encrypted requests and signed customer permissions through the call's actual audio. Participating businesses check identity and permission before acting.

For business teams: the problem, value and adoption path. For developers: run the demo or explore the architecture.

The trust gap

Risk OpenAVT's approach
Audio prompt injection and hijacking: an IVR or counterparty's speech can try to redirect an agent or extract data. Use protected structured requests and enforce signed permissions outside the LLM. Speech cannot expand a grant.
Missing cryptographic identity: a voice, caller ID or spoken passcode does not prove an agent's key or customer authority. Mutual TLS authenticates both endpoints; customer grants travel inside TLS rather than being spoken aloud.
Scope creep: a request to read data can become a request to change an account. Bind each grant to the agent certificate, customer, business, action and resource; check expiry, revocation and single-use state.

TLS does not make an LLM immune to prompt injection. These checks constrain requests at the participating backend; preventing leaks through speech or other tools still requires controls in the calling agent.

How it works

  1. Enroll: the Agent Voice Authority (AVA) issues an agent certificate after key proof.
  2. Delegate: a separate business signer issues a scoped customer grant.
  3. Call: mutual TLS 1.3 authenticates the peers through audio and protects requests and responses.
  4. Enforce: the business checks the grant against the authenticated peer before executing the permitted action.

The current demo allows reading Alice's order, then denies an address change under the same read-only scope. Keys and grant credentials stay out of model inputs. Identity and permission details →

Try the demo

Requires Python 3.11+. No OpenAI key needed.

python -m pip install 'openavt[webrtc,authority]'
openavt sdk-demo

The demo enrolls an agent, issues customer consent, and establishes a live local audio call. It accepts one authorized request and rejects seven misuse cases, including scope escalation, replay and revocation. The peers run in separate Python processes and save a report under output/.

For two real OpenAI voice agents, configure OPENAI_API_KEY locally, then run:

python -m pip install 'openavt[agents,authority]'
openavt sdk-demo --agents

Integrate a voice agent or configure Twilio → · More demos →

PAP sessions and fraud monitoring

OpenAVT works alongside Personal Agent Protocol (PAP/Poppy): PAP supplies HTTPS discovery, sign-in and account permissions; OpenAVT binds those permissions to an authenticated audio call and exact requests. The optional adapter targets PAP draft 0.1 with a negotiated custom voice extension.

python -m pip install 'openavt[pap,webrtc]'
openavt pap-demo

This local demo reads an order over audio, proposes an exchange, and confirms it through PAP's HTTPS operations endpoint exactly once. It also verifies fraud blocking and sign-out before execution. Integration and supported profile →

A vendor-neutral fraud adapter supports unsupported callers and suspicious authenticated requests. It can restrict execution without expanding permissions. Provider-specific integrations and external PAP interoperability still require validation with those providers.

Sub-second handshakes

Measured on an established local 64 kbps G.711 PCMU audio call:

Run Full mutual TLS handshake Evidence
main CI, 5 fresh calls, October 11, 2026 0.561 s median · 0.581 s max Benchmark
Two independent OpenAI SDK processes, WebRTC 0.620 s SDK results

The timer includes both authenticated endpoints and the final audio ACK. It excludes certificate creation, call setup and LLM/speech time. These local results are not a carrier or Internet latency guarantee. The fast PCM profile requires an unchanged digital PCMU path; transcoding or audio processing can break it. Measurements and reproduction →

Scope

This is an experimental local prototype. Both peers run on one machine; public Internet, carrier/PSTN and microphone paths have not been verified. Ordinary speech is outside the inner TLS session. There is no WebRTC data channel carrying the protected requests.

Certificates prove registered account/key control. Customer authentication uses demo credentials; verified provider identities, real customer login and production CA operations remain future work. Banking, payments and utility integrations are target use cases; the standalone demo returns a fixed order result, and the PAP demo adds a simulated exchange with explicit HTTPS confirmation. Trust boundaries →

Documentation

Goal Guide
Evaluate the business case and adoption path Voice-to-Business trust gap
Install and choose a demo Quickstart
Understand certificates and customer consent Authority and delegation
Run a persistent authority AVA CLI walkthrough
Add a personal agent, business gateway or Twilio call SDK integration
Connect PAP sessions and voice authorization PAP adapter
Add voice detection and fraud monitoring Fraud adapters
Understand the transport Architecture
Reproduce the timings Performance
Inspect tests and evidence Verification
Build and publish the package Releasing

Metadata

Release files for openavt 0.3.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for openavt 0.3.1
File Size Uploaded
openavt-0.3.1.tar.gz 328.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for openavt 0.3.1
File Interpreter ABI Platform
openavt-0.3.1-py3-none-any.whl Python 3 none any Details

Total release size: 436.3 kB

Release files / openavt-0.3.1.tar.gz

Download URL openavt-0.3.1.tar.gz
Size 328.0 kB
Tags Source
SHA-256 checksum
How to use checksums
cc00fc79965088226edca00c6369b28b52e8b8927220bad7a33906298de6bfe5
BLAKE2b-256 checksum
How to use checksums
28bda1fe9d20075f9ade5552f68a98e98d1fc3317f684b6ce6e4bc8f04b6caca
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 12, 2026.

Transparency log

Release files / openavt-0.3.1-py3-none-any.whl

Download URL openavt-0.3.1-py3-none-any.whl
Size 108.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e9303c58535e49678976c505561123f5e84f431ba62fb6ddebc9cdcdfdcd47bc
BLAKE2b-256 checksum
How to use checksums
9c1382438675708070ccc1fbe28614c4864ba1298379e0352a63537188c52644
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 12, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.3.1 This release

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page