Key format
V2 product keys always follow this shape:Capability signing algorithm
For each eligible product response, your SDK must produce a short-lived, write-only capability token. The algorithm is: The resulting token is used as theBearer value in submit.authorization. It is scoped to one interaction, expires in at most two hours, and contains no customer data, product content, or personal information.
Conformance vector
Use these exact values to verify your signing implementation. If your implementation reproduces thetoken field from the inputs below, it is correct.
The nonce
AQIDBAUGBwgJCgsMDQ4PEBES is a fixed deterministic value used only in this test vector. Your production implementation must generate cryptographically random nonces for every real interaction.HTTP response envelope
Attach the feedback contract to eligible2xx responses. The envelope schema (envelope.schema.json) requires all of these fields:
Always add
Cache-Control: private, no-store to instrumented responses because each capability token is unique per interaction.
Route normalization
Normalize route paths before recording them as theoperation field in telemetry. Replace numeric segments and UUID-like segments with the placeholder :id, and strip the query string:
normalizeOperation from core.ts:
Telemetry batch format
Enqueue telemetry locally and POST it toPOST /api/v2/telemetry/batches using the company product key (not the scoped capability). Batches must have between 1 and 100 events. The five required fields per event are interactionId, surface, operation, classification, and occurredAt.
classification: "unclassified". The backend promotes an interaction to confirmed when a valid outcome is submitted against its capability. MCP tool calls begin as confirmed immediately.
Protocol discovery and SDK downloads
Fetch the discovery document to find the canonical download URLs for all official SDK packages:.tgz, .tar.gz, and .whl packages for each language SDK.
Conformance requirements
An adapter is conformant when it:- Produces the exact signing vector in
conformance.json - Preserves the original JSON object shape without wrapping
- Leaves excluded and unsafe responses (errors, redirects, health/metrics endpoints, assets, streams, binary bodies) untouched
- Never blocks or fails a product response when telemetry is unavailable
- Emits the normalized operation and correct initial classification in telemetry
- Rejects untrusted outcome destinations in any agent-side helpers
- Passes all language-specific conformance tests