5 Minute Quickstart
5 Minute Quickstart
This is the shortest safe path from a clean tenant to a verified event. Use it to learn the shape of Attesto before you wire a full production integration.
Meet Article 13 with 1 line of code
For AI-decision workflows, Attesto turns one server-side event call into a receipt, verifier-ready evidence, and an Article 13 support report. It is an adoption shortcut for logging and traceability, not a legal-compliance claim by itself.
export OPENAI_BASE_URL=http://localhost:8765/v1
1. Login
Open dashboard.attesto.eu and sign in as a tenant user. The tenant dashboard is where external users manage systems, streams, exports, webhooks, connectors, and billing.
2. Create a system key
Create one system for the backend service that will send events. Copy the generated key exactly once and store it in your server-side secret manager. Do not place it in browser code or public configuration.
3. Log one event
Python:
import os
from attesto import AttestoClient
from datetime import UTC, datetime
client = AttestoClient(api_key=os.environ["ATTESTO_API_KEY"])
ack = client.log_event(
type="ai.decision",
status="verified",
ts=datetime.now(UTC),
payload={
"model": "risk-classifier-v4",
"decision": "manual_review",
"policy_id": "policy-2026-01"
},
)
print(ack.id)
TypeScript:
import { AttestoClient } from "@attesto/sdk";
const client = new AttestoClient({
apiKey: process.env.ATTESTO_API_KEY!,
});
const ack = await client.logEvent({
type: "ai.decision",
status: "verified",
ts: new Date(),
payload: {
model: "risk-classifier-v4",
decision: "manual_review",
policy_id: "policy-2026-01",
},
});
console.log(ack.id);
4. Article 12 report
If your workflow is an AI-decision workflow, add the one-line attestation pattern before production rollout and generate the deterministic Article 12 report. The report states what is recorded and independently verifiable; it does not claim legal conformity.
export OPENAI_BASE_URL=http://localhost:8765/v1
This routes OpenAI-compatible calls through the local Attesto Inference Gateway so evidence capture starts without rewriting every application call site. Use a deployed gateway host in production.
attesto --token-env ATTESTO_TENANT_TOKEN \
report article12 --stream str_... --output report.md
5. Verify the evidence
For v1, retrieve the proof for the event and submit it to
POST /v1/public/verify. For v2 Proofstream, use
POST /v2/verify with receipt, stream, checkpoint, anchor,
IVC, or bundle objects.
curl -X POST https://verify.attesto.eu/v2/verify \
-H "Content-Type: application/json" \
--data-binary @attesto-proofstream-object.json
6. Export a verifier bundle
When stream policy requirements are satisfied, create a bundle from the tenant dashboard or API. A recipient can verify the bundle without an Attesto login.
attesto bundles offline-verify --file ./attesto-bundle.json
