--- name: shred description: > Local document destruction. Hash a file on disk (or UTF-8 text) with SHA-256, write a destruction certificate, discard the readable copy from agent context, and never paste file contents into the chat. Use when the user wants to shred, destroy, wipe a readable copy, hash for a certificate of destruction, or runs /shred. --- # Shred (No Readable Company) Hash locally. Do not read the file. Do not upload it. The certificate is a digest plus metadata, not the content. Product: https://noreadablecompany.xyz Browser shredder: https://noreadablecompany.xyz/app ## Hard rules 1. Never `cat`, `type`, `open`, or otherwise load file contents into the model context. 2. Never send the file to a remote API, paste it into chat, or quote even a fragment of it. 3. Prefer the bundled script `scripts/shred.py`. It streams bytes and prints only the certificate JSON. 4. After hashing, tell the user to delete the original on disk if that was the point. This skill cannot wipe disk, backups, or other copies. 5. If the user already pasted secrets into the chat, hash what they pasted, then say plainly that the chat history still holds the readable copy. ## Run From this skill directory: ```bash python3 scripts/shred.py --file "/absolute/path/to/file" --out "./destruction.json" ``` Windows: ```powershell python scripts/shred.py --file "C:\path\to\file" --out ".\destruction.json" ``` Do not use `--text` for secrets; argv can leak. `--text` is only for a short public string the user already chose to type. If Python is missing: ```bash openssl dgst -sha256 "/absolute/path/to/file" ``` ```powershell certutil -hashfile "C:\path\to\file" SHA256 ``` Those fallbacks print a digest only. You still must not read the file. Build the certificate JSON yourself from: digest, UTC timestamp, basename, byte size (`wc -c` / `(Get-Item).Length`), and a type of `application/octet-stream` unless the user named a type. Size is metadata; gathering it is allowed. ## Certificate JSON Print this shape and write it when `--out` is set: ```json { "issuer": "No Readable Company", "record": "Certificate of destruction", "algorithm": "SHA-256", "digest": "<64 lowercase hex>", "timestamp": "", "name": "", "size": 0, "type": "application/octet-stream", "note": "Proof a specific byte sequence was hashed. Not proof every copy is gone. Delete the original on disk." } ``` Show the user the digest, timestamp, name, and size. Offer the JSON path. Do not decorate it as a legal destruction under a statute unless their counsel said so. ## After - Confirm hashing ran on their machine. - Repeat: the original file is still on disk until they delete it. - If they want a PNG certificate, send them to https://noreadablecompany.xyz/app with the same file, or keep the JSON. ## Honest limit A hash is not classified destruction. RAM, swap, editor backups, Time Machine, Recycle Bin, and other clones are out of scope. Treat this as a local hasher with a receipt.