# AVP (Alt Vault Protocol) > An open, vendor-neutral protocol for sharing Minecraft alt accounts across clients through a zero-knowledge, federated sync server. Members are identified by an Ed25519 keypair; the alt payload is encrypted on the client, so the server stores only ciphertext, wrapped keys, public keys, and version counters, and can decrypt nothing. This repository is the specification, not an implementation. It defines the wire contract so any client or server can interoperate. The same messages are available in two interchangeable transport profiles, gRPC and HTTP/JSON. Repositories are addressed `avp://host/repoId` and reachable across independently hosted servers with one portable keypair identity. Notes for implementers: field names are normative; do not rename or renumber them. The additional-authenticated-data layout and the canonical key-binding message are fixed byte constructions with deterministic test vectors. The server must never receive plaintext alts, passphrases, identity seeds, or the data key. Provenance fields carry implementer-defined values at runtime and are never part of the spec text. For a single fetch with the full text of the guide, specification, and threat model inline, see [llms-full.txt](https://raw.githubusercontent.com/trqlmao/avp/main/llms-full.txt). ## Implementer guide - [Implementing AVP (IMPLEMENTING.md)](https://raw.githubusercontent.com/trqlmao/avp/main/IMPLEMENTING.md): The entry point for building a conformant client and server. Covers identity and auth, the full cryptographic envelope (AAD, payload AEAD, HKDF, key wrap), the wire contract, and the conformance checklist. Start here. ## Specification - [Specification (SPEC.md)](https://raw.githubusercontent.com/trqlmao/avp/main/SPEC.md): The normative protocol: identity and authentication, the cryptographic envelope, payload and provenance, the transport surface, operational limits and retries, federation, anti-MITM key binding, invariants, conformance, and security considerations. - [Protobuf schema (avp.proto)](https://raw.githubusercontent.com/trqlmao/avp/main/proto/avp.proto): Canonical gRPC schema with stable field numbers and names. - [JSON Schema (avp.schema.json)](https://raw.githubusercontent.com/trqlmao/avp/main/schema/avp.schema.json): Message shapes for the HTTP/JSON transport profile, including the error body (`$defs/Error`). - [OpenAPI (openapi.yaml)](https://raw.githubusercontent.com/trqlmao/avp/main/openapi.yaml): OpenAPI 3.1 route description of the HTTP/JSON profile: paths, methods, status codes, and error responses, referencing the JSON Schema shapes. ## Examples - [Worked flow and message bodies](https://raw.githubusercontent.com/trqlmao/avp/main/examples/README.md): An end-to-end walkthrough (create, invite, join, pull, push, rotate) with representative request and response JSON. - [Reference implementations](https://raw.githubusercontent.com/trqlmao/avp/main/examples/README.md): Five runnable reference implementations (Go, TypeScript, Rust, Python, Java), each with a client and in-memory HTTP/JSON server, all implementing the real envelope and key-wrap crypto verified against the conformance vectors. Cross-language wire compatibility is tested by the examples-interop workflow. - [gRPC reference example](https://raw.githubusercontent.com/trqlmao/avp/main/examples/grpc/README.md): A runnable client and server for the gRPC profile that load the canonical proto/avp.proto directly and exercise all six Vault RPCs (plus a challenge/token Auth service); run end to end by the examples-grpc workflow. - [Conformance harness](https://raw.githubusercontent.com/trqlmao/avp/main/harness/README.md): A black-box conformance suite: point it at any running server and it drives the full wire contract, asserting the normative MUSTs (auth failure modes, optimistic-concurrency conflict, membership authorization, key rotation, zero-knowledge). ## Conformance vectors - [Vectors index (index.json)](https://raw.githubusercontent.com/trqlmao/avp/main/vectors/index.json): Machine-readable index of every vector file (kind, spec section, and RFC anchors) for a harness to enumerate. - [Vectors overview](https://raw.githubusercontent.com/trqlmao/avp/main/vectors/README.md): How the vectors are organized and which are deterministic versus generated. - [AAD vectors](https://raw.githubusercontent.com/trqlmao/avp/main/vectors/aad.json): Deterministic additional-authenticated-data construction (SPEC section 4). - [Key-binding message vectors](https://raw.githubusercontent.com/trqlmao/avp/main/vectors/key-binding-message.json): Deterministic canonical key-binding message (SPEC section 9). - [HKDF vectors](https://raw.githubusercontent.com/trqlmao/avp/main/vectors/hkdf.json): RFC 5869 HKDF-SHA256 test cases anchoring the key-derivation primitive. - [X25519 vectors](https://raw.githubusercontent.com/trqlmao/avp/main/vectors/x25519.json): RFC 7748 X25519 ECDH vectors anchoring the key-agreement primitive. - [Ed25519 vectors](https://raw.githubusercontent.com/trqlmao/avp/main/vectors/ed25519.json): RFC 8032 Ed25519 vectors anchoring the signature primitive. - [Payload AEAD vectors](https://raw.githubusercontent.com/trqlmao/avp/main/vectors/payload-aead.json): AES-256-GCM payload encryption with the AVP AAD composition. - [Key-wrap vectors](https://raw.githubusercontent.com/trqlmao/avp/main/vectors/key-wrap.json): Full X25519-HKDF-SHA256-AESGCM-v1 wrap composition anchored to RFC 7748. - [Federation vectors](https://raw.githubusercontent.com/trqlmao/avp/main/vectors/federation.json): Base64url join-handshake tokens (invite request, repo locator) and avp:// repository URIs (SPEC section 8); decode oracle plus canonical-encode and URI parse/format. - [Negative vectors](https://raw.githubusercontent.com/trqlmao/avp/main/vectors/negative.json): MUST-reject bank (flipped tag, truncation, wrong AAD repoId/version/epoch, wrong key, wrong recipient/ephemeral key, wrong message/public key); a conformant implementation rejects every case. ## Project - [README](https://raw.githubusercontent.com/trqlmao/avp/main/README.md): Overview, implementer guide, and ways to help. - [Threat model](https://raw.githubusercontent.com/trqlmao/avp/main/THREATMODEL.md): What AVP defends against, the adversary model (network, honest-but-curious and malicious server, insider, removed member, compromised IdP, stolen token/key), cryptographic assumptions, non-goals, and residual risks. - [Contributing guide](https://raw.githubusercontent.com/trqlmao/avp/main/CONTRIBUTING.md): How to propose changes and the vendor-neutrality rule. - [Security policy](https://raw.githubusercontent.com/trqlmao/avp/main/SECURITY.md): How to report a vulnerability privately. ## Optional - [License](https://raw.githubusercontent.com/trqlmao/avp/main/LICENSE): CC-BY-4.0 for prose, MIT for machine-readable artifacts.