Quick Start: 60-Second Demo (No API Key)
See Talon's request path and signed evidence without any API keys or configuration. The mock provider handles the LLM call, so PII scanning, policy evaluation, cost tracking, and evidence generation run without spending money.
This page intentionally proves one small path. For tools, enforcement, sovereignty routing, session budgets, tamper detection, and RoPA, continue to Reproduce the governed session manually.
Prerequisites
- Docker and Docker Compose
- That's it.
Steps
1. Clone and start (30 seconds)
git clone https://github.com/dativo-io/talon
cd talon/examples/docker-compose
docker compose up
Wait for both services to show as healthy (about 15-30 seconds).
2. Send a request with PII (10 seconds)
In another terminal:
curl -X POST http://localhost:8080/v1/proxy/openai/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-4o-mini",
"messages": [
{
"role": "user",
"content": "My email is jan@example.com and my IBAN is DE89370400440532013000. Help me reset my password."
}
]
}'
You'll get back a standard OpenAI-compatible JSON response. The mock provider returned a canned answer, but Talon's request pipeline still inspected and classified the request.
The demo configuration is deliberately in shadow mode. Talon records what policy observed without changing the request or response. This is the low-risk adoption path: observe real traffic first, then enable enforcement.
3. List the evidence (10 seconds)
docker compose exec talon /usr/local/bin/talon audit list
Expected shape:
✓ [req_a1b2c3d4] | ... | demo/demo-user | gpt-4o-mini | ...
4. Inspect the evidence
docker compose exec talon /usr/local/bin/talon audit show req_a1b2c3d4
The record shows:
- Policy decision: allowed in shadow mode
- Classification: email + IBAN detected; input tier 2
- Execution: model, cost, token counts, duration
- Integrity: hashes and HMAC signature
5. Verify signature integrity
docker compose exec talon /usr/local/bin/talon audit verify req_a1b2c3d4
Expected result:
✓ Evidence req_a1b2c3d4: signature VALID
The HMAC-SHA256 signature makes later modification detectable during verification.
6. Open the dashboard
Visit http://localhost:8080/dashboard to see evidence records, costs, and PII findings in the browser.
Use the Evidence tab to:
- check the per-row integrity state (
Not checked,Verified,Invalid,Unable to verify), - open the persistent signature block from Detail,
- verify that the governance decision and spend attribution are visible beside signature status.
What you just proved
You executed and inspected this exact path:
- Talon accepted an OpenAI-compatible request without changing the client protocol.
- PII was detected and classified before forwarding. The email and IBAN produced a tier-2 finding.
- Shadow mode recorded the governance signal without breaking the application. The request still reached the mock provider.
- The resulting evidence is tamper-evident and cryptographically verifiable.
talon audit verifychecks the HMAC signature.
This page did not yet execute tool filtering, PII blocking, model denial, sovereignty routing, a session budget, or tamper failure. Reproduce those manually next:
Reproduce the governed session manually →
Now wire this to your app
Point your existing app at Talon by changing only the base URL and using a Talon agent key.
Python (openai package):
import openai
client = openai.OpenAI(
base_url="http://localhost:8080/v1/proxy/openai/v1",
api_key="<your-agent-key>",
)
# Then use client.chat.completions.create(...) as usual.
Node.js (openai package):
const OpenAI = require("openai");
const client = new OpenAI({
baseURL: "http://localhost:8080/v1/proxy/openai/v1",
apiKey: "<your-agent-key>",
});
// Then use client.chat.completions.create(...) as usual.
curl:
curl -X POST http://localhost:8080/v1/proxy/openai/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <your-agent-key>" \
-d '{"model":"gpt-4o-mini","messages":[{"role":"user","content":"Hello"}]}'
For a full step-by-step with vault key, gateway config, first real request, and evidence, see Add Talon to your existing app.
What's happening under the hood
When your curl request hits Talon, the gateway path runs:
- Route — the URL path determines the provider.
- Identify — Talon resolves the agent from the presented key.
- Rate limit — the token-bucket check runs.
- Extract — Talon parses model and message text.
- PII scan — recognizers find the email and IBAN.
- Classify — the IBAN raises the input to confidential tier 2.
- Policy — OPA evaluates the request; shadow mode records rather than blocks.
- Tool policy — there are no tools in this request.
- Forward — the request goes to the mock provider.
- Evidence — Talon writes an HMAC-signed record to SQLite.
See What Talon does to your request for the full technical breakdown.
You're done
You ran the fastest Talon proof loop: one request, one governance decision, one signed record, one verification.
| I want to… | Next doc |
|---|---|
| Reproduce the hero/deep controls manually | Reproduce the governed session manually |
| Attack the evidence integrity directly | Evidence integrity: 5-minute proof |
| Put Talon in front of my real app | Add Talon to your existing app |
| Choose the right integration path | Choose an integration path |
| Build a new agent with Talon | Your first governed agent |
Clean up
docker compose down -v