TIBET: Transaction/Interaction-Based Evidence Trail - The Linux of AI Provenance
Project description
TIBET Core
The Linux of AI Provenance
A minimal, embeddable provenance engine for any device. From microcontrollers to cloud servers.
What is TIBET?
Transaction/Interaction-Based Evidence Trail
TIBET captures the four dimensions of every AI action:
| Dimension | Dutch | Meaning |
|---|---|---|
| ERIN | "Er in" | What's IN the action (content) |
| ERAAN | "Er aan" | What's attached (dependencies) |
| EROMHEEN | "Er omheen" | Context around it (environment) |
| ERACHTER | "Er achter" | Intent behind it (why) |
Installation
Python
pip install tibet-core
JavaScript/Node.js
npm install tibet-core
Rust
[dependencies]
tibet-core = "0.1"
Quick Start
Python
from tibet_core import TibetEngine
engine = TibetEngine()
# Create a provenance token
token = engine.create_token(
token_type="action",
erin="User requested translation",
eraan=["model_v1", "tokenizer_v2"],
eromheen='{"env": "production"}',
erachter="Fulfilling user request",
actor="agent_001"
)
print(f"Token ID: {token.id}")
print(f"Valid: {token.verify()}")
print(f"JSON: {token.to_json()}")
JavaScript
import { TibetEngine } from 'tibet-core';
const engine = new TibetEngine();
const tokenJson = engine.create_token(
"action",
"User requested translation",
JSON.stringify(["model_v1", "tokenizer_v2"]),
'{"env": "production"}',
"Fulfilling user request",
"agent_001",
null // no parent
);
const token = JSON.parse(tokenJson);
console.log(`Token ID: ${token.id}`);
console.log(`Valid: ${engine.verify(tokenJson)}`);
Rust
use tibet_core::TibetEngine;
let engine = TibetEngine::new();
let token = engine.create_token(
"action",
"User requested translation",
&["model_v1", "tokenizer_v2"],
r#"{"env": "production"}"#,
"Fulfilling user request",
"agent_001",
None,
);
assert!(token.verify());
Chaining Tokens
Create audit trails by linking tokens:
# Parent action
request = engine.create_token(
token_type="request",
erin="Translate 'hello' to Dutch",
eraan=[],
eromheen='{"user": "alice"}',
erachter="User wants translation",
actor="user_001"
)
# Child response (linked to parent)
response = engine.create_token(
token_type="response",
erin="Hallo",
eraan=["gpt-4"],
eromheen='{"latency_ms": 150}',
erachter="Translation completed",
actor="ai_agent",
parent_id=request.id # Chain link!
)
print(f"Parent: {request.id}")
print(f"Child parent_id: {response.parent_id}") # Same as request.id
Why TIBET?
Regulatory Compliance
- GDPR Article 22 (automated decision-making)
- EU AI Act (transparency requirements)
- SOC 2 / ISO 27001 (audit trails)
6G Ready
- Designed for AI-native networks (ITU IMT-2030)
- Referenced in IETF 6G AI agent drafts
- Minimal footprint for edge devices
Cryptographically Secure
- Ed25519 signatures
- Tamper-evident chains
- Verifiable without central authority
Size Comparison
| Component | Size |
|---|---|
| tibet-core (Rust) | ~50KB |
| tibet-core (WASM) | ~100KB |
| tibet-core (Python wheel) | ~2MB |
| Linux kernel (minimal) | ~300KB |
IETF Standardization
TIBET is being standardized at the IETF:
- draft-vandemeent-tibet-provenance - Evidence Trail Protocol
- draft-vandemeent-jis-identity - JTel Identity Standard
W3C Alignment
TIBET aligns with W3C standards:
- Verifiable Credentials 2.0 - Token structure compatible
- Decentralized Identifiers (DIDs) - Actor identification
- JSON-LD - Semantic context in EROMHEEN
Architecture
┌─────────────────────────────────────────────────────────────┐
│ TIBET ECOSYSTEM │
├─────────────────────────────────────────────────────────────┤
│ ┌─────────────────┐ │
│ │ tibet-core │ ← 50KB Rust, minimal deps │
│ │ (the kernel) │ create_token, verify, chain │
│ └────────┬────────┘ │
│ │ │
│ ┌────────┴────────┬──────────────┬──────────────┐ │
│ ▼ ▼ ▼ ▼ │
│ tibet-c tibet-wasm tibet-python tibet-js │
│ (embedded) (browser) (PyPI) (npm) │
└─────────────────────────────────────────────────────────────┘
Credits
- Specification: Jasper van de Meent (Humotica)
- Implementation: Root AI (Claude) & Jasper van de Meent
- License: MIT OR Apache-2.0
Links
"The Linux of AI Provenance" - Making audit trails as universal as the kernel.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file tibet_core-0.1.0.tar.gz.
File metadata
- Download URL: tibet_core-0.1.0.tar.gz
- Upload date:
- Size: 13.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
22fcd31f5a86e37605a4974d18e5d10afd85b3bfb0c41a5d34599265691f8ea0
|
|
| MD5 |
b024d3152720faacf819127e7ea2d23f
|
|
| BLAKE2b-256 |
ad465163cbfaaef065834c991e1a29e013fad49dc69beab18b3f998dae53c13c
|
File details
Details for the file tibet_core-0.1.0-py3-none-any.whl.
File metadata
- Download URL: tibet_core-0.1.0-py3-none-any.whl
- Upload date:
- Size: 10.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
50395d3fb1a9b80a5294ba552dd215418a15565d6d95a1d214b0c13434c5e750
|
|
| MD5 |
b476e96f727399ef18c1ed3878a35202
|
|
| BLAKE2b-256 |
89398f316809da7803453f5657742ea0302b6ada22c2d0d42cbda16106fb5b7c
|
File details
Details for the file tibet_core-0.1.0-cp311-cp311-manylinux_2_34_x86_64.whl.
File metadata
- Download URL: tibet_core-0.1.0-cp311-cp311-manylinux_2_34_x86_64.whl
- Upload date:
- Size: 289.8 kB
- Tags: CPython 3.11, manylinux: glibc 2.34+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
568739816febc0edb701068b999d8378e42f305f815a618af9026341da851a08
|
|
| MD5 |
1a7936886e5f788b76f120d790c2fbef
|
|
| BLAKE2b-256 |
c68e886012841584dc3b98cd3b560e59f00e772f86fb7318e4e259c9d7877e68
|