Content-addressable blob storage implementing the Blossom protocol with AI-powered content moderation.
/{sha256}
Retrieve a blob by its SHA-256 hash. Supports range requests for streaming.
Moderation: Age-restricted content requires Nostr authentication. Banned content returns HTTP 451.
/{sha256}
Check if a blob exists and get its metadata without downloading the content.
/upload
Upload a new blob. Requires Nostr authentication (kind 24242). Accepts both PUT and POST.
Features: Automatic content moderation, ProofMode support for verified media.
/list/{pubkey}
List all blobs owned by a Nostr public key.
/{sha256}
Delete a blob. Requires Nostr authentication and ownership.
All uploads are automatically analyzed by AI for harmful content:
Uses Nostr authentication via kind 24242 events (Blossom protocol).
Age-restricted content also checks NIP-78 user preferences for consent.
Upload media with cryptographic proof of authenticity using ProofMode headers:
X-ProofMode-Manifest - Photo/video metadataX-ProofMode-Signature - Cryptographic signatureX-ProofMode-Attestation - Guardian Project attestation