get started

Introducing the open Tail format

Today we're publishing the format underneath Looptail as an open draft spec. If your AI system's records are going to be evidence — for auditors, customers, regulators, or your own postmortems — the format they're written in should not have an owner.

Here's the shape of it. A trail is a JSON Lines file: one loop event per line, append-only. Each event carries its content, the hash of the previous event, a SHA-256 over its own canonical serialization, and an Ed25519 signature. Edit any past record — one character, one field — and every verifier on earth can see it. No database, no vendor API, no trust required: the file is the evidence.

python sdktypescript sdkyour codeone formatanyone verifies
Independent implementations, one format, no owner. Cross-language conformance runs in CI.

What's in the spec

  • The event schema — id, app, kind, timestamp, body, prev, key, hash, signature; six event kinds covering the whole loop from observation to outcome.
  • Canonical serialization — the exact bytes that get hashed, specified so a Python writer and a TypeScript verifier agree forever.
  • Verification — recompute, re-chain, re-verify; key changes are reported, not hidden.
  • An honest trust model — what self-signed trails prove (tamper-evidence), what they don't (wall-clock time), and how server-signed receipts strengthen them.

Why open, really

Evidence has a bootstrapping problem: a proprietary evidence format is an oxymoron. The moment your records can only be validated through one company's service, they inherit that company's lifespan and incentives — the exact anxietyself-hosters felt in January. So the format is open, the verifier is open, export works onevery tier including free, and the Tail you accumulate is yours in the strongest sense we can engineer. Our business is the loop that writes the evidence and the service that anchors it — not a format hostage.

What we'd love from you

Read the draft spec, poke holes in the canonicalization rules, try writing a conforming trail from your own stack, and tell us where the spec is ambiguous — that's what draft status is for. And if you want the ten-minute version first: pip install looptail, thennpx @looptail/cli verify.

FAQ

What exactly is being opened?

The trail format itself: the event schema, canonical JSON serialization rules, SHA-256 hash chaining, and Ed25519 signature scheme that make a trail verifiable. The draft v0.1 spec lives in the Apache-2.0-licensed Looptail repository, alongside two independent implementations (Python and TypeScript) and a conformance test.

Why would a company open its core format?

Because evidence only works if it outlives the vendor. A record you can only verify through our service is a dashboard, not evidence. If the format is open, your archive stays valuable even if we vanish — and paradoxically, that makes the archive worth building with us.

Can I implement it without using Looptail?

Yes — that is the point of a spec. The reference implementations are Apache-licensed, the format is documented field by field, and a conforming trail written by your own code verifies with our open CLI. We would genuinely like to see other tools write conforming trails.

How stable is draft v0.1?

Fields may still change with a version bump before 1.0 — that is what “draft” means. The version travels in every record, verifiers refuse unknown major versions, and we run a cross-language conformance test in CI so the implementations cannot drift from the spec or each other.