One POST request — your HTML is authenticated, scanned, stored in R2, and returned as a shareable URL in under a second.
Authorization: Bearer header. Queried against api_keys where prefix matches and revoked_at IS NULL.last_used_at updated fire-and-forget on match.users table. Tier (free/pro) determines rate limits and retention policy downstream.upgrade_url.revoked_at IS NOT NULL → 401file (required HTML), plus optional title, description, and comma-separated tags. Falls back to <title> and <meta> tags.