stamp keeps a private, tamper-evident record of your files. It also gives each AI or helper a copy marked for them alone, so if a copy leaks you can tell whose it was.
pip install --user cryptography opentimestamps-client # ots is optional
ln -s /workspace/m5-kit/stamp/stamp ~/.local/bin/stamp
The first time you run it, stamp creates your signing key at ~/.stamp/key.pem with permissions set to 600. Never share that file. stamp never prints it.
| Command | What it does |
|---|---|
stamp seal idea.md (or echo "idea" | stamp seal -) |
Fingerprints the file (SHA-256), signs it with your key, and adds it to ~/.stamp/ledger.jsonl. If ots is installed, it also sends the fingerprint to the public Bitcoin timestamp servers and saves idea.md.ots. Writes a receipt to idea.md.stamp.json. |
stamp mark algo.py --to chatgpt |
Makes algo.chatgpt.py, a copy with an invisible fingerprint and one harmless ref: stamp-canary-… comment. In code files the invisible marks go only inside comments, so the code still runs. The ledger records who got which mark. Use --no-canary to leave out the visible comment line. |
stamp check suspect.py |
Looks for invisible marks, canary tokens, and exact hash matches. Prints which helper's copy it came from. |
stamp verify |
Re-checks every ledger entry's hash, the chain links, and the signatures. Any edit, deletion, or reordering is reported as TAMPERED. |
.ots means: right after sealing, the timestamp is "pending". Run ots upgrade idea.md.ots a few hours later to finish it. After that, anyone can run ots verify idea.md.ots to confirm the file existed at that time. The timestamp shows when the file existed. Your signature and ledger show it was you.~/.stamp/ somewhere private. That folder is your proof.STAMP_HOME=/some/dir to use a separate ledger. Run ./test_e2e.sh for the full self-test, or ./demo.sh for a short on-screen demo.