Tanilo (@Tanilo_io) header
Tanilo (@Tanilo_io) profile picture

Pre-action verification for AI agents. Signed receipts you can check offline. Individual IETF I-D. Early access: https://teapaw.org/t.co/jqhHiIrh9M

Joined March 2026
Photo by Tanilo (@Tanilo_io)Photo by Tanilo (@Tanilo_io)Photo by Tanilo (@Tanilo_io)Photo by Tanilo (@Tanilo_io)Photo by Tanilo (@Tanilo_io)Photo by Tanilo (@Tanilo_io)Photo by Tanilo (@Tanilo_io)Photo by Tanilo (@Tanilo_io)Photo by Tanilo (@Tanilo_io)Photo by Tanilo (@Tanilo_io)
AgentOracle is now Tanilo. Before an AI agent acts on a claim, we check if it's true — then sign a receipt anyone can verify offline, without trusting us. IETF draft -02 is filed. Verifier on PyPI. tanilo.io
1
1
3
179
Would you let this AI proceed? Permission: passed. Source lookup: timed out. Validation: never ran. Yet the workflow says “success.” A missing check is not a pass. That principle guides our work on Tanilo: verification before AI acts. tanilo.io
14
Tanilo retweeted
New: Tanilo's spend-cap check. Before an agent buys, it compares price × quantity exactly with the cap left from your inputs. 3 × $12.50, $30 left → contradicted, $7.50 over. Receipt signed when signing succeeds. No funds reserved. Free beta: tanilo.io/docs/spend-cap-che…
1
1
1
30
New: Tanilo's spend-cap check. Before an agent buys, it compares price × quantity exactly with the cap left from your inputs. 3 × $12.50, $30 left → contradicted, $7.50 over. Receipt signed when signing succeeds. No funds reserved. Free beta: tanilo.io/docs/spend-cap-che…
1
1
1
30
AER-1 -15 is live. two-party verification complete. @Tanilo_io ran the full AER-1 interop chain on their side: 15/15 conformance, independent hash recompute matches, signature verifies against live JWKS, anchored on GOAT mainnet. two independent systems. two independent verifiers. one checkable chain. that’s what a standard looks like. ietf.org/archive/id/draft-za…
3
5
2
11
924
Before and after, in one checkable chain: • Tanilo receipt: offered USD 2.00 vs supplied term USD 1.00 → contradicted, gate halt • AER-1 receipt (@brennanzambo): the follow-on call, held, referencing ours by its canonical hash Each can be checked independently. github.com/TKCollective/tani…
1
3
1
4
225
Recent Tanilo updates: contract-price checks in free beta, our own signing key, and GOAT anchoring. Compare offered unit prices with caller-supplied terms. Discuss a scoped, capped 30-day free pilot: tanilo.io
50
AI agents will carry 3 receipts: 1. payment: the money moved 2. delivery: what happened 3. claim: the premise was checked before acting Tanilo does #3. Live now: contract price check. Offer vs. your terms → verified, contradicted or couldn't establish. Signed. Public rule. tanilo.io/docs/contract-pric…
3
52
Good framing: safety layers that fail independently, enforcement below the agent, and signals that can only reduce what an agent is allowed to do. One layer worth adding: checking the premise. An agent can stay inside every permission boundary and still act on a false claim. A failed or unresolved check should withhold the action, never expand what the agent may do.
Agent governance is an engineering problem. We’ve built safeguards into Perplexity’s infrastructure, harnesses, and tools, and put them to work across our products. Today we're sharing how we engineer safer agents: perplexity.ai/hub/blog/how-w…
32
A verifier that can only say "valid" will eventually say it when it shouldn't. IETF draft defines four outcomes instead: verified: checked, held contradicted: checked, failed indeterminate: checked, didn't resolve not_evaluated: no check ran Reason codes where required. A claim that wasn't checked can't come back verified. Individual Internet-Draft, work in progress, not endorsed by the IETF: datatracker.ietf.org/doc/dra…
33
Spec: datatracker.ietf.org/doc/dra… Verify a receipt offline: pip install tanilo-receipt-verify Genuine receipt + published keys → valid. No keys → indeterminate. Never valid. Garbage input → invalid.
42
Logs tell you what the system said happened. A signed receipt tells you what was actually checked before the action was allowed — and what was refused. One is archaeology. The other is evidence.
51
The hard part isn’t just building and deploying agents. It’s producing evidence anyone can re-check later — especially when the agent is allowed to act.
1
1
2
107
Merged into Virtual-Protocol/acp-cli-demos. pip install agentoracle-receipt-verify python3 verify.py receipt.json status: valid Ed25519 verified against our live JWKS. Unchecked never reports valid. @virtuals_io Production receipt + expected output: github.com/Virtual-Protocol/…
52
We’re pre-registering an experiment before running it. Results in three weeks — whatever they show.
1
47
Design published Aug 12. Harness code Aug 17. Run Aug 19–26. Results Sep 2 — weak categories included.
4