Skip to content

BIJOTEL

Tamper-evident HMAC audit chain for LLM applications.

Every AI decision. Sealed. Verified. Provable.

pip install bijotel

3 lines to add tamper-evident audit to your LLM calls

provider.add_span_processor(HmacChainSpanProcessor(db_path="chain.db", secret_key=secret))
provider.add_span_processor(CasSpanProcessor(db_path="chain.db"))
AnthropicInstrumentor().instrument()

That's it. Every messages.create() is now HMAC-sealed into chain.db.

What BIJOTEL does

BIJOTEL plugs into your LLM call pipeline via OpenTelemetry SpanProcessors. Every call gets:

  • HMAC-SHA256 chain — each entry links to the previous; any modification breaks the chain at the exact entry.
  • Content-addressable storage — semantic dedup, identical prompts stored once.
  • Policy gate — 50 jailbreak patterns + AST code safety checked pre-call.
  • Regression detection — z-score + IQR drift monitoring on your chain data.
  • Energy & carbon accounting — Wh and gCO₂ per call, per region grid intensity.

Production validated

  • 5,889+ chain entries across 15 days continuous operation
  • 2 independent production systems: GENA (9-ecosystem AI mesh, x86_64, Nuremberg) and ARA (AI Research Agency, aarch64, Helsinki)
  • Cross-architecture verification proven (R2-D)
  • Cross-provider chains (Anthropic + xAI via OpenAI adapter)
  • 686 unit tests + 46 production tests across 3 rounds (0 partial/fail)
  • CI green on Python 3.11 + 3.12

How it compares

BIJOTEL is complementary to existing observability tools, not a replacement.

Your stack BIJOTEL
Developer experience Cryptographic proof of integrity
Trace UI, debugging Regulator-ready audit trail
Prompt evaluation Tampering detection
Cost dashboards Forensic chain of custody

Wire BIJOTEL alongside Langfuse / LangSmith / Helicone in three lines. Same OpenTelemetry spans — observed by both, sealed only by BIJOTEL.

License

MIT licensed. Source: github.com/octavuntila-prog/BIJOTEL. Package: pypi.org/project/bijotel. Landing: bijotel.whiteandpoint.com.