Block Marketplace review queue (platform admin)
Platform admins (users with isPlatformAdmin === true on their user doc) see a queue at /admin/block-reviews of every block listing in status 'pending-review'. The queue is gated client-side AND server-side — non-admins see "Platform admin only" instead of any data.
What the queue surfaces per submission:
• Owner org id (so you know who's submitting)
• Version + SDK version
• Bundle SHA-256 (compare against the upload to verify the file you'd be approving is the file the creator submitted)
• Capabilities declared on the bundle (fetch.public, fetch.org-readonly, storage.media, submit.lead, submit.purchase, analytics.track)
• Author-supplied changelog
• Sandbox preview — the bundle runs inside a sandboxed iframe (allow-scripts, NO allow-same-origin) showing exactly what installing orgs would see
What to look for:
• Does the bundle do what the listing description claims?
• Does it request only the capabilities it actually needs? A "testimonial carousel" requesting submit.purchase is a red flag.
• Does the bundle attempt navigation, top-level redirects, or visible attention attacks (full-screen popups, persistent overlays)?
• Does it expose any obviously broken / placeholder content (lorem ipsum, debug logs)?
Decisions:
• Approve + publish — flips listing.status to 'approved' and stamps publishedVersionId. Existing installs that 'trackLatest' will auto-fan-out to the new version.
• Request changes — requires notes. Listing flips to 'changes-requested' and the notes are surfaced to the creator. Creator can resubmit a revised bundle as a new version.
Suspending an approved block:
Out-of-band — set listing.status to 'suspended' via the admin Firestore tool. The block is immediately blocked from new installs; existing installed pages render an amber "this marketplace block was suspended" notice instead of the block content.