Skip to main content

DEPRECATED: Use tibet-wayback instead. Features absorbed into tibet-wayback 0.2.0.

Project description

tibet-snap — Cryptographic State Snapshots & Rollback

After a breach (Odido leak, Politie cookies hack, ransomware), the first question is: what changed, and how do we get back to a trustworthy state?

tibet-snap creates cryptographically sealed snapshots of system state using TIBET provenance tokens. Each snapshot captures file paths, SHA-256 hashes, timestamps, sizes and permissions — forming an immutable chain of system states.

What it does

  1. Snapshot — Capture the current state of files and directories as a TIBET-sealed record
  2. Compare — Diff two snapshots to see exactly what was added, removed, or modified
  3. Verify — Re-hash every file and confirm the snapshot is still intact
  4. Rollback plan — Auto-generate a rollback plan with restore/remove/revert actions
  5. Provenance — Every operation (create, verify, compare, rollback) is a linked TIBET token

Install

pip install tibet-snap

Usage

from tibet_snap import SnapEngine, Snapshot, SnapshotDiff

engine = SnapEngine(store_dir=".tibet-snap")

# Create a snapshot of /etc/nginx
snap = engine.create_snapshot("pre-deploy", paths=["/etc/nginx"])

# Later: create another snapshot
snap2 = engine.create_snapshot("post-deploy", paths=["/etc/nginx"])

# Compare
diff = engine.compare(snap.id, snap2.id)
print(f"Modified: {len(diff.modified)}, Added: {len(diff.added)}, Removed: {len(diff.removed)}")
print(f"Drift score: {diff.drift_score}")

# Verify integrity
ok = engine.verify(snap.id)

# Generate rollback plan
plan = engine.rollback_plan(snap.id)
for action in plan:
    print(f"  {action['action']}: {action['path']}")

CLI

# Concept overview
tibet-snap info

# Create a snapshot
tibet-snap create pre-deploy /etc/nginx /etc/ssl

# List all snapshots
tibet-snap list

# Compare two snapshots
tibet-snap compare <id_a> <id_b>

# Verify snapshot integrity
tibet-snap verify <id>

# Interactive demo: create → hack → compare → rollback
tibet-snap demo

TIBET Provenance

Every operation creates a linked SnapToken:

Layer Content
ERIN Snapshot content (paths, hashes)
ERAAN Parent snapshot, dependencies
EROMHEEN Hostname, timestamp, actor
ERACHTER Intent (create/verify/compare/rollback)

Tokens are chained: each new token references its parent, forming a tamper-evident audit trail of all snapshot operations.

License

MIT — Humotica / J. van de Meent

Credits

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


Stack-positie: Groep evidence · Bootstrap = OSAPI-handshake naar tibet + jis (fail → snaft-rule + tibet-pol-rapport) · ← tibet-wayback · 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.

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_snap-0.1.3.tar.gz (14.8 kB view details)

Uploaded Source

Built Distribution

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

tibet_snap-0.1.3-py3-none-any.whl (16.2 kB view details)

Uploaded Python 3

File details

Details for the file tibet_snap-0.1.3.tar.gz.

File metadata

  • Download URL: tibet_snap-0.1.3.tar.gz
  • Upload date:
  • Size: 14.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for tibet_snap-0.1.3.tar.gz
Algorithm Hash digest
SHA256 b7eeab5fe55afb15df1ec1a0a6ab66a31eec2d1526ba5ecdcddd7f0f15b41bf3
MD5 f21cd36fd7a6bc9ccd8f60eda67fd6be
BLAKE2b-256 6fa624a16065f04d469ddeebd772c9038bc7555c9eca4091c39531902140e222

See more details on using hashes here.

File details

Details for the file tibet_snap-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: tibet_snap-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 16.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for tibet_snap-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 3a29b34206cdca8639a1140548b5c724e08279f8f783bfd5be4a2538a5bc1ee8
MD5 500d45df1b07b9df662fbafed8f59bb8
BLAKE2b-256 b78bf5ff9dc272aca170f190daf7d748ba2c3e2893a12ebf9222f8c837768247

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