Skip to main content

TIBET: Transaction/Interaction-Based Evidence Trail - The Linux of AI Provenance

Project description

TIBET Core

The Linux of AI Provenance

PyPI npm IETF Draft

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:

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

tibet_core-0.1.0.tar.gz (13.8 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

tibet_core-0.1.0-py3-none-any.whl (10.3 kB view details)

Uploaded Python 3

tibet_core-0.1.0-cp311-cp311-manylinux_2_34_x86_64.whl (289.8 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.34+ x86-64

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

Hashes for tibet_core-0.1.0.tar.gz
Algorithm Hash digest
SHA256 22fcd31f5a86e37605a4974d18e5d10afd85b3bfb0c41a5d34599265691f8ea0
MD5 b024d3152720faacf819127e7ea2d23f
BLAKE2b-256 ad465163cbfaaef065834c991e1a29e013fad49dc69beab18b3f998dae53c13c

See more details on using hashes here.

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

Hashes for tibet_core-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 50395d3fb1a9b80a5294ba552dd215418a15565d6d95a1d214b0c13434c5e750
MD5 b476e96f727399ef18c1ed3878a35202
BLAKE2b-256 89398f316809da7803453f5657742ea0302b6ada22c2d0d42cbda16106fb5b7c

See more details on using hashes here.

File details

Details for the file tibet_core-0.1.0-cp311-cp311-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for tibet_core-0.1.0-cp311-cp311-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 568739816febc0edb701068b999d8378e42f305f815a618af9026341da851a08
MD5 1a7936886e5f788b76f120d790c2fbef
BLAKE2b-256 c68e886012841584dc3b98cd3b560e59f00e772f86fb7318e4e259c9d7877e68

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page