Open Personal Context specification
Document version: 1.0-draft-1. Wire version: 1.0.
This is the draft specification of Open Personal Context: how a person's context is typed, deliberately disclosed and verifiably accounted for across assistants and services. Autonym is its reference implementation. The draft defines person-controlled records, consent, disclosure, temporary context, contributions and portability. See conformance status for implementation and test coverage.
Structure
| Part | Location | Status |
|---|---|---|
| Core | core/ |
Normative: A1 to A11 and A14 to A17, with terminology, design principles and the implementation notes for identifiers and scopes |
| Reserved chapters | core/reserved/ |
Informative placeholders, with no requirements, for capabilities reserved for 2.0: A12 recipient registry, A13 emergency information and continuous connectors. Their version 1 rules now live in A2.1, A6.8 and A17.6 |
| Bindings | bindings/ |
B1 PDPP, B3 MCP and B4 REST normative; B2 Linked Web Storage informative |
| Adoption records | adoption/ |
Normative where cited: one record per external standard, the generated register and the PDPP pin in pdpp.lock.json |
| Vocabulary | vocabulary/ |
Normative registry, generated as core.json |
| Conformance | conformance/ |
Normative manifest of stable check IDs in profiles.json, and the statement audit that maps every extracted normative statement to its checks; informative test vectors with synthetic keys |
| Contracts | schemas/, openapi/, mcp/, errors.json, scopes.json |
Generated from packages/schema |
| Operational artefacts | schemas/health.json, schemas/readiness.json, examples/operational-errors.json |
Informative here: generated contracts of the reference server's operational surface, which the reference implementation documents outside the specification. errors.json covers these operational codes as well as the recipient codes B4.3 governs |
| Examples | examples/ |
Informative synthetic examples |
| History | history/ |
Informative: changes from the recovered proposal and interpretation notes |
Core chapters
- A1 scope, status and layering
- A2 actors and trust model
- A3 identifiers, handles and resolution
- A4 data model
- A5 disclosure and the compiler
- A6 authorisation
- A7 agent surface
- A8 recipient API
- A9 read receipts and the log
- A10 revocation and purge
- A11 portability
- A14 contributions
- A15 security requirements
- A16 privacy and legal mapping
- A17 conformance and change process
The consent, temporary-context and reciprocity requirements first published as A18 are now A4.6, A6.7, A14.5 and A17.5. section-map.json maps every section of document 0.2-draft to its new location.
Edition and bundle
Edition 1.0-draft-1 is the specification text above with the generated contracts stamped with that version. manifest.json lists every file in the edition with its SHA-256, so an implementation can identify the exact edition it uses. pnpm check:spec fails if the manifest, the section map, a local link or a generated scaffold is out of date, or if the text names a person, cites the project's decision log or refers to a build phase or work package; pnpm check:generated fails if a generated contract differs from packages/schema; pnpm check:statements fails if a normative statement has no current entry in the statement audit. Neither certifies service behaviour.
The core text is maintained by hand from this edition on. The recovered proposal it was first imported from stays hash-locked, unchanged, in the reference repository's source inventory, outside the specification.
A17 defines versioning: the document version and the wire version are separate, the Autonym-Version header echoes the wire version, and breaking wire changes change the URL prefix and require an approved ADR. While the protocol is a draft, changes go through a reviewed pull request with a change-register entry, schema and generated artefact updates and corresponding conformance checks. A public registry or governance process is not established yet.
Licence: Apache-2.0. See the root LICENSING.md for boundaries.
References to other standards and projects describe intended technical alignment only and do not imply endorsement or partnership.