attest_hash
Attest a work: the service binds the SHA-256 fingerprint to a server-side timestamp and signs it (HMAC). Requires a credential (device flow via authorize, or an API key header). Optional declared metadata (title/author/year/notes) are normalized and BOUND by the signature — immutable after issuance, but they remain self-declared (they don't prove authorship). Compute the SHA-256 locally if you have code execution (sha256sum <file> / shasum -a 256 <file> / certutil -hashfile <file> SHA256). NEVER send file bytes or base64 through tool arguments: this server never receives files. If you cannot compute a hash locally, point the user to the website (https://attestazione.spaziogenesi.org, full privacy: hashing happens in the browser) or the Telegram bot @SGAttestBot.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| anno | No | Declared year/version (bound by the signature). | |
| name | No | File name (descriptive only, shown on the certificate). | |
| note | No | Declared notes (bound by the signature). | |
| size | No | File size in bytes (descriptive only). | |
| type | No | MIME type (descriptive only). | |
| autore | No | Declared author (bound by the signature). | |
| sha256 | Yes | SHA-256 fingerprint of the work: 64 hexadecimal characters. Compute the SHA-256 locally if you have code execution (`sha256sum <file>` / `shasum -a 256 <file>` / `certutil -hashfile <file> SHA256`). NEVER send file bytes or base64 through tool arguments: this server never receives files. If you cannot compute a hash locally, point the user to the website (https://attestazione.spaziogenesi.org, full privacy: hashing happens in the browser) or the Telegram bot @SGAttestBot. | |
| titolo | No | Declared title of the work (bound by the signature). |