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


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.2.tar.gz (14.5 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.2-py3-none-any.whl (15.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: tibet_snap-0.1.2.tar.gz
  • Upload date:
  • Size: 14.5 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.2.tar.gz
Algorithm Hash digest
SHA256 8445f98af0060136737db7666c9e0c526ea7b5fb35f54ffa099b856701bf4c8c
MD5 86237b06279b1a19201c3a10e1780e60
BLAKE2b-256 8fb73c73733aef825a02ddcb0e5a925c26d5cbdbc52399df186c84c97e71db19

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tibet_snap-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 15.9 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 0bf408d04b572e9b2dc7cb26c520a728cea7b8bcb8e1fa37593cec15a3cd83ea
MD5 894c7c7378651f7192b27333047731a6
BLAKE2b-256 fe03f580a604609968843e2ad928458fc02350020337f4dc8b1d37a765ba576e

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