Skip to main content

Trust protocol

Nothing that matters crosses unsigned. Compact JWS · Ed25519 · RFC 8785.

Offer payloadcontract example values{ "availability": { "availableDate": "2026-11-17", "stockBasis": "supplier_unconfirmed", "salesBlock": false }, "customer": "100123", "evidence": { "reliability": { "value": 0.97, "source": "product" }, "labels": ["GOODS_FROM_FINLAND_BLUE_SWAN"], "allergenDataStatus": "declared" }, "expiresAt": "2026-11-16T09:29:02+02:00", "issuer": "valio-aimo-gateway", "offerId": "ofr_01JD8Q3W6K", "price": { "unitNet": 0.01, "taxRate": 13.5, "currency": "EUR" }, "productId": "463038", "quantity": 50, "salesUnit": "KI"}Compact JWSeyJhbGciOiJFZERTQSJ9.eyJhdmFpbGFiaWxpdHkiOnsi…(edited).k3Jv…9wQheader: alg EdDSA, kidpayload: the offer, base64urlEd25519 signatureGET /.well-known/jwks.json{ "keys": [ { "kty": "OKP", "crv": "Ed25519", "kid": "gw-ed25519-1", "x": "11qYAYKxCrfVS_7TyWQHOg7hcvPapiMlrwIaaPcHURo" } ] }Verifierany outside agent, script or auditorsignature over header.payload✗kid is in the JWKS✓expiresAt in the future-product and quantity match the line-403 order blocked · offer signature invalid
6/6Rejected. The signature no longer matches the bytes. The gateway answers 403 with “offer signature invalid”, and the attempt lands in the audit log.
ObjectSignerRole
PermissionSlipHuman clientBudgets, diet, autonomy, agent key
OfferAimoGuardFixed price ≤15 min + evidence
ApprovalHuman clientBound to cart, offers, quantities
OrderConfirmationAimoGuardGateway’s own policy + order book
KeyHeld by
GatewayValio (/.well-known/jwks.json)
Human signing keysClient server routes
AgentEngine (per kitchen)

Every quote/order also carries Agent-Signature (method, URL, body hash, jti, freshness).

Guardrails · Audit