Inspiration
A successful phone connection is not the same thing as a compliant call. During one explicitly authorized CALL-E runtime test, the agent completed its task but added an unapproved question and spoke part of its control instruction. That gap inspired a two-sided safety layer: validate authorization before dialing, then audit what the agent actually said.
What it does
Consent Envelope is a Python reference app around the official CALL-E SDK. It validates a structured authorization record, fails closed on expired or off-scope consent, defaults to a redacted dry run, and requires explicit opt-in before live execution. After a call, it audits bot speech, voicemail behavior, attempt count, and hang-up state against the same authorization envelope. Its output contains hashes and findings without reproducing the recipient's words.
How we built it
The app uses Python and the official calle-ai==0.2.0 SDK. Deterministic preflight and post-call controls are covered by 15 unit tests. A redacted runtime fixture captures the evidence from the authorized test without retaining a phone number, API key, or recipient transcript.
Challenges
CALL-E is goal-driven rather than a literal script player, so task success may still include unscripted speech. Transcript segmentation can also divide one sentence across several bot spans. The auditor reconstructs normalized bot speech before comparing it with the approved speech budget.
Accomplishments
- Turned a genuine CALL-E result into a reproducible regression test rather than a marketing claim.
- Kept phone numbers, credentials, and recipient speech out of audit output.
- Made dry run the default and ensured tests cannot dial.
- Published the source and opened an upstream CALL-E contribution pull request.
What we learned
The runtime call completed successfully, but the outcome auditor found two deviations: an extra audibility question and a spoken fragment of the control instruction. Connection success alone is therefore insufficient evidence of policy compliance.
What's next
Consume structured CALL-E results directly after create_and_wait, add signed authorization and outcome receipts, and distinguish harmless conversational variation from semantic disclosure expansion.
Links
AI-use disclosure
The project, tests, documentation, and submission draft were produced by an AI agent operating within Founder-defined authorization boundaries. The Founder supplied truthful account information, accepted platform terms, owned and consented to the test number, and explicitly approved the single call. No generated statement is presented as the Founder's personal product opinion.
Log in or sign up for Devpost to join the conversation.