{ "$schema": "https://json-structure.org/v1/", "$id": "https://raw.githubusercontent.com/api-evangelist/dead-drop/main/json-structure/dead-drop-drop-structure.json", "name": "Drop", "description": "Structural definition of the dead-drop Drop resource.", "type": "object", "properties": { "id": { "type": "string", "description": "SHA-256 hash of the drop name (64 hex characters)." }, "name": { "type": "string", "description": "Human-friendly 4-word kebab-case drop name." }, "tier": { "type": "string", "description": "Drop tier (free or deep)." }, "visibility": { "type": "string", "description": "Drop visibility (private or public)." }, "payload": { "type": "string", "description": "Drop payload. Hex ciphertext for private drops; plaintext for public drops." }, "salt": { "type": "string", "description": "Hex-encoded PBKDF2 salt (16 bytes)." }, "iv": { "type": "string", "description": "Hex-encoded AES-GCM IV (12 bytes)." }, "encryptionAlgo": { "type": "string", "description": "Encryption algorithm identifier." }, "encryptionParams": { "type": "object", "description": "Encryption parameter bag (e.g. PBKDF2 rounds)." }, "mimeType": { "type": "string", "description": "MIME type of drop content." }, "hashAlgo": { "type": "string", "description": "Hash algorithm used for the drop id and admin authentication." }, "contentHash": { "type": "string", "description": "SHA-256 hash of the canonical content payload JSON." }, "expiresAt": { "type": "string", "description": "ISO 8601 expiration timestamp." } } }