# SAVP — Superannuation Agent Voice Protocol > An open protocol for authenticated, auditable, voice-mediated agent-to-agent > communication between regulated entities in the Australian superannuation > industry. Every call produces a dual-signed structured artefact that carries > the legal weight of a signed exchange and that a regulator can audit > byte-for-byte. ## What SAVP is SAVP layers cryptographic verifiability onto the voice channel that super-industry institutions (funds, administrators, insurers) already use to talk to each other. It exists because twenty years of failed inter-fund integration projects show these institutions will not agree to bilateral REST APIs at scale, but they will agree to a phone call whose transcript carries the legal weight of a signed exchange. The protocol is designed for institution-to-institution operations, not for fund-to-member voicebots. ## What SAVP is not - Not a fund-to-member voicebot. - Not a replacement for SuperStream batch data exchange. - Not free-form conversation — every call carries a declared intent. - Not a generic agent-to-agent voice protocol — it is super-industry-specific. ## Five protocol layers 1. **L1 — Identity & Discovery.** Federated registry of SAVP-capable agents, keyed by ABN and capability. Self-signed entries, registry countersignature. 2. **L2 — Handshake.** Dual-channel: an audible tone + spoken preamble (the witness) running in parallel with a signed HTTPS exchange (the substance). 3. **L3 — Conversation.** "On the record:" markers prefix binding statements. Periodic state digests detect divergence early. Deliberation pauses are a feature. 4. **L4 — Intent Schemas.** Every call declares one of seven published intents. The artefact must satisfy that intent's required-fields contract. 5. **L5 — Artefact & Resolution.** Both agents independently build, hash, and sign the artefact. Hashes match → signatures exchanged → artefact final. Hashes diverge → adjudicator (default: AFCA). ## v1 intent schemas | Intent | Status | |---|---| | rollover-status-query | Specified, v1.2 | | death-benefit-claim-coordination | Drafting | | successor-fund-transfer-coordination | Drafting | | insurance-underwriting-query | Drafting | | member-information-confirmation | Drafting | | complaint-handover (RG 271) | Drafting | | contribution-allocation-query | Drafting | ## Privacy posture If a regulator listens to a SAVP call, they hear nothing they couldn't already see in a SuperStream batch. Member identifiers, TFNs, dates of birth and balances never appear in audio — they travel out-of-band as encrypted payloads. This is non-negotiable. ## Reference implementation This site hosts a reference implementation of the Cloudflare-deployable layers: - **Verifier**: POST /api/verify — 18-check cryptographic verification. - **Registry**: GET /api/registry/discover?abn=…&intent_type=… - **Intent schemas**: GET /api/intents - **Operator surface**: /app The Call Plane (audio I/O, SIP, STT/TTS) and per-entity Agent runtimes require persistent server processes and are out of scope for this surface. ## Cryptography - Ed25519 signatures via Web Crypto API. No external libraries. - SHA-256 for hashing. - Canonical JSON: deterministic key ordering, compact emission. - Both parties sign the same canonical signing payload independently. ## Adjudication Default dispute resolution body is AFCA (Australian Financial Complaints Authority), which already has jurisdiction over super-industry disputes. The adjudicator is declared in the handshake before substantive content, so every artefact carries its dispute body in its metadata. ## How to cite The reference implementation is open source at https://github.com/abduljaleel/savp. The protocol specification lives in `CLAUDE.md` in that repository. ## What this is not This site is a reference implementation, not affiliated with any specific super fund, administrator, insurer, or regulator. AFCA, APRA, ASIC, and named example entities (Hostplus, AustralianSuper) are referenced for illustrative protocol-walkthrough purposes only.