Skip to main content

tibet-edge — IoT Firmware Sealer

Not just hash verification. Full provenance chain for firmware updates.

Who built it, from what source, on what build server, why this version.

tibet-edge seals firmware images with a complete TIBET provenance chain covering every step from developer to device. A missing step means a rejected update. No exceptions.

The Problem: Hashes Are Not Enough

Everyone verifies firmware hashes. But a hash only proves "the binary hasn't changed." It doesn't prove:

  • Who compiled it (intern or senior engineer?)
  • What source code it came from (which git commit?)
  • Where it was built (CI server or compromised laptop?)
  • Why this version exists (security patch or backdoor?)

A supply chain attacker who compromises the build server produces a binary with a perfectly valid hash — of the wrong firmware.

The Firmware Envelope

┌─────────────────────────────────────────────────────────────────────┐
│                     FIRMWARE ENVELOPE                               │
│                                                                     │
│  ┌────────────────────────────────────────────────────────────────┐ │
│  │ FIRMWARE BINARY                                                │ │
│  │ SHA-256: a1b2c3...  Size: 2.4MB  Version: 3.1.7              │ │
│  └────────────────────────────────────────────────────────────────┘ │
│                                                                     │
│  ┌─ BUILD CHAIN (every step = TIBET token) ─────────────────────┐  │
│  │                                                               │  │
│  │  [1] commit    dev@company    git:abc123    → src_hash       │  │
│  │       │                                                       │  │
│  │  [2] compile   ci-server-04   GCC 13.2      → obj_hash      │  │
│  │       │                                                       │  │
│  │  [3] test      ci-server-04   pytest 8.1    → test_hash     │  │
│  │       │                                                       │  │
│  │  [4] sign      hsm-prod-01   ECDSA P-256    → sig_hash      │  │
│  │       │                                                       │  │
│  │  [5] package   ci-server-04   fwtools 2.0   → pkg_hash      │  │
│  │       │                                                       │  │
│  │  [6] release   release-mgr    approved       → rel_hash      │  │
│  │                                                               │  │
│  └───────────────────────────────────────────────────────────────┘  │
│                                                                     │
│  Missing step? → REJECT UPDATE                                      │
│  Broken chain? → REJECT UPDATE                                      │
│  Unknown actor? → REJECT UPDATE                                     │
│                                                                     │
│  TIBET Token: jis:fw:envelope:a1b2c3d4                              │
│  Sealed by:  jis:ci:build-pipeline-prod                             │
│  Sealed at:  2026-02-27T14:00:00Z                                   │
└─────────────────────────────────────────────────────────────────────┘

Install

pip install tibet-edge

Quick Start

from tibet_edge import FirmwareSealer, BuildStep

sealer = FirmwareSealer(actor="ci-pipeline-prod")

# Record each build step
sealer.add_build_step(BuildStep(
    name="compile",
    actor="ci-server-04",
    input_hash="abc123...",
    output_hash="def456...",
    tool="GCC 13.2",
    environment="Ubuntu 24.04",
))

# Seal the firmware
envelope = sealer.seal(
    firmware_path="firmware-v3.1.7.bin",
    version="3.1.7",
    metadata={"reason": "Security patch CVE-2026-1234"},
)

# Verify: every step present, hashes match, chain unbroken
result = sealer.verify(envelope)
print(result.valid)           # True
print(result.steps_verified)  # 6
print(result.missing_steps)   # []

CLI

tibet-edge info           # Concept overview
tibet-edge demo           # Full demo: seal, verify, tamper detection
tibet-edge profiles       # Sector profiles (automotive, medical, etc.)
tibet-edge seal fw.bin    # Seal a firmware file (demo mode if no file)
tibet-edge verify env.json  # Verify a firmware envelope

Use Cases

Sector Threat tibet-edge Response
Automotive OTA (Tesla, VW) Tampered ECU firmware via OTA Full build chain from git to ECU, dual-sign required
Medical Devices (insulin pumps) Unauthorized firmware modification FDA-compliant provenance, clinical trial reference
Consumer IoT (cameras, routers) Mirai-style botnet injection Minimum viable provenance, rejects unsigned builds
Industrial SCADA Stuxnet-style PLC manipulation OT-specific fields, air-gap compatible verification

Sector Profiles

tibet-edge profiles
Profile Required Steps Min Trust Dual Sign Max Age
automotive commit, compile, test, sign, package, release 0.95 Yes 90 days
medical commit, compile, test, clinical_review, sign, fda_submit, release 0.99 Yes 365 days
industrial commit, compile, test, sign, release 0.90 No 180 days
consumer_iot compile, sign, release 0.70 No 30 days

EU Cyber Resilience Act (CRA) Compliance

tibet-edge's firmware envelope provides the technical evidence required by the EU CRA:

  • Article 10(6): Identify and document vulnerabilities — ERACHTER layer records CVE references and patch intent
  • Article 10(9): Security updates with provenance — the envelope IS the provenance
  • Article 10(10): SBOM compatibility — build chain maps to SBOM components

TIBET Provenance Layers

Layer Firmware Content
ERIN Firmware version, hash, size
ERAAN Build chain steps, git commit, parent envelope
EROMHEEN Build server, compiler, OS, hardware
ERACHTER "Security patch CVE-xxxx", release intent

Target Implementations

  • Python — Reference implementation (this package)
  • C — Embedded library for constrained devices (planned)
  • Rust — Safety-critical embedded systems (planned)

Part of the TIBET Ecosystem

Package Purpose
tibet-core Protocol core
tibet-y2k38 Y2K38 Time Bridge
tibet-pol Process Integrity Checker
tibet-pqc Post-Quantum Crypto Router
tibet-overlay Identity Overlay
tibet-twin Digital Twin Guard
tibet-edge IoT Firmware Sealer

License

MIT — Humotica / J. van de Meent 2025

Authors

Credits

Designed by Jasper van de Meent. Built by Jasper and Root AI as part of HumoticaOS.


Stack-positie: Groep agentic · Bootstrap = OSAPI-handshake naar tibet + jis (fail → snaft-rule + tibet-pol-rapport) · ← tibet-iot · tibet-mesh → · See STACK.md · See demo/golden-path/ for the spine end-to-end.

Enterprise

For private hub hosting, SLA support, custom integrations, or compliance guidance:

Enterprise enterprise@humotica.com
Support support@humotica.com
Security security@humotica.com

See ENTERPRISE.md for details.

Metadata

Release files for tibet-edge 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for tibet-edge 0.1.1
File Size Uploaded Provenance Actions
tibet_edge-0.1.1.tar.gz 16.1 kB Without provenance Details for tibet_edge-0.1.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for tibet-edge 0.1.1
File Interpreter ABI Platform Actions
tibet_edge-0.1.1-py3-none-any.whl Python 3 none any Details for tibet_edge-0.1.1-py3-none-any.whl

Total release size: 34.2 kB

Release files / tibet_edge-0.1.1.tar.gz

Download URL tibet_edge-0.1.1.tar.gz
Size 16.1 kB
Tags Source
SHA-256 checksum
How to use checksums
c09a9455bf59c48457c9225d82e438f35aa4849aeac4a68ca6a1dd2ca5f45311
BLAKE2b-256 checksum
How to use checksums
d6b4e1dc7c48235e67ab77d6857d3ad36711013eb28243709d4331be69219adc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.5

Release files / tibet_edge-0.1.1-py3-none-any.whl

Download URL tibet_edge-0.1.1-py3-none-any.whl
Size 18.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
52946c4faae547f89b12f33c3a0bc298a9f77c96b6242a7cf2d1ca9d60629a3f
BLAKE2b-256 checksum
How to use checksums
18ad18965b9abeb68cb2852a23f3f4cfb36b72c35ed8f96f4a0388f5a6152ae3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.5

Security for tibet-edge 0.1.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page