Messaging · 2.0.0-preparation.1
Private conversations.
Explicit permissions.
Prepare encrypted conversations between people and approved agents. Hybrid ID controls identity and credential authority; Messaging controls group admission and delivery; Cortex owns encryption and the conversation experience.
The preparation relay is deployed in Frankfurt. Paths below are relative to the public /messaging prefix; do not prepend /api/v2. The public contract and capability endpoints are available, but commands and long polling return 503 INTEGRATION_NOT_READY. All three group, archive and evidence feature gates default off and remain explicitly disabled in this deployment. Do not register these operations as executable agent tools.
Check live capabilities ↗ · Open the live preparation contract ↗ · Read the deployment receipt ↗
A Hybrid ID sign-in or agent ownership mapping does not grant permission to read, reply, invite, remove participants or disclose history.
Relay interface
Four routes, separately authorized actions.
- 01
GET /v2/capabilitiesRead the contract version and activation state. endToEndAccepted remains false in the preparation release.
- 02
GET /v2/openapi.jsonRead the relay-owned OpenAPI 3.1 contract. It is separate from the gateway's /api/v2 contract.
- 03
POST /v2/commandsSubmit an Ed25519-signed operation with a separate, current Messaging credential. Disabled admission returns 503 INTEGRATION_NOT_READY.
- 04
POST /v2/waitWait briefly for a signed sync operation. The relay rechecks authorization during bounded long polling.
Command contract
Sign exactly what will happen.
Identity and group authority
Commands bind an operation ID, group ID, principal, device, key epoch, expected group epoch, expiry and action. The relay verifies the sender signature and a freshly signed, challenge-bound Identity response, then serializes admission against group membership. Creation, invitations, removal and history sharing require a human principal in this release.
Actions are create, invite, accept, remove, leave, send, share_history, acknowledge, inspect, sync and evidence. The OpenAPI schema defines exact fields; outer fields use camelCase, while action-specific fields use snake_case.
Recipients and retries
A send must include independently encrypted deliveries for the complete current recipient device set, including the sender's eligible devices. One command is limited to 32 deliveries and 1 MiB of decoded ciphertext in total. Large attachments use the existing encrypted Vault file path, referenced inside encrypted messages.
Retry an unchanged signed operation with the same operation ID while it remains valid. A changed payload is not the same operation. After expiry or an uncertain response, reconcile the recorded result before creating a new operation. HTTP acceptance is not delivery, archival or chain finality.
Membership and privacy
New members cannot automatically read earlier history. Explicit history sharing creates new encrypted deliveries and records the source event commitments. Removing a participant ends future relay access, including queued reads, but cannot erase copies or keys already received. The creator cannot leave or be removed; ownership transfer is not included.
The relay queues recipient ciphertext durably, then an asynchronous worker pins blocks to two configured IPFS nodes and independently checks their content identifiers, bytes and pin state. A pin receipt is a point-in-time storage observation, not permanent retention or blockchain proof.
Cortex must connect private per-user indexes and separately encrypted, recoverable history to Vault ownership. Transport ciphertext addressed to a consumed one-time key is not by itself recoverable history. Do not retain those one-time keys as a substitute for a proper personal archive, and do not delete queued ciphertext before recovery and retention acceptance.
Audit boundaries
Verify commitments without publishing conversations.
Each accepted mutation atomically appends an immutable private event and a durable evidence job. Signed commands, Identity observations and a random salt bind the event hash. Only seven public fields are eligible for publication: schema, network, issuer, opaque stream, sequence, event hash and predecessor hash. Messages, participants, filenames, keys and IPFS identifiers remain outside that public envelope.
The prepared verifier checks native Testnet validator signatures, certificate continuity and Merkle inclusion. Core must implement and admit a dedicated Messaging-purpose intake before publication is enabled; Cortex credentials cannot be reused. This is single-operator, non-value Testnet assurance, not Mainnet settlement or independent multi-operator consensus.
Authorized audit disclosure can reveal selected content and its salted commitment without revealing decryption keys. Verification establishes binding and inclusion, not that a statement is true, a human read it, or everyone agreed. Public stream counts and timing still expose metadata.
Proof browsing and verification UI belong to Hybrid Explorer ↗, in its separate repository. This guide does not claim that Messaging proofs are already visible there.
Implementation handoffs
Complete each boundary before activation.
- 01Hybrid ID — Credentials and enrollment
Register recipient devices and agent grants; return signed, operation-bound authority and current recipient eligibility.
Open the handoff ↗ - 02Hybrid ID — Lifecycle and revocation
Agree on revocation ordering, rotation, recovery and scope isolation. A short-lived observation alone does not guarantee immediate revocation.
Open the handoff ↗ - 03Hybrid Cortex — Encryption and inbox
Implement recipient encryption, explicit membership consent, recoverable personal Vault history and separate delivery, archive and proof states.
Open the handoff ↗
Run isolated owners and agents through enrollment, permission denial, removal, rotation, outage recovery, archival restore and proof verification before any owner-approved live acceptance. The reference signing client is not a complete encryption SDK. Keep Cortex's inbox and existing managed-reply proof gate unchanged until integration acceptance.
Milestones and remaining gates ↗Gated deployment and rollback ↗Return to the gateway V2 reference →