Preflight Chromium Extension Release Clearance
forbid(unsafe_code) auto_ship: false

Release Clearance Gate · Rust CLI + Multi-Tenant Web Control Plane

Does this build still match the last shipped artifact and the claims we made to users and stores?

Chrome extension zips drift. A teammate adds an undeclared analytics host, eval(), or broad *://*/* permissions while your store listing still promises strict opt-in privacy. Preflight gates every build before Chrome Web Store submission — in the browser or from your terminal.

Structured 5-Agent Static Analysis Pipeline

Out-of-process Rust binary · Zero JS execution

Every review runs five deterministic analysis agents and streams structured logs explaining what was inspected and why a verdict was reached:

AGENT 01 · src/artifact.rs

Artifact Gate & Hasher

Unpacks .zip and .crx v3 archives in memory, computes cryptographic SHA-256 digests, and confines files to the tenant's isolated storage partition.

AGENT 02 · src/extract.rs

Static Evidence Extractor

Walks manifest.json, HTML, and JS tokens without ever calling eval. Extracts permissions, network sockets, sensitive APIs, consent checks, and kill switches.

AGENT 03 · src/diff.rs

Baseline Capability Diff

Automatically diffs the candidate build against the project's last shipped artifact to flag newly added permissions (DIFF-01) and hosts (DIFF-02).

AGENT 04 · src/rules.rs

Policy & Claims Auditor

Evaluates cws-2026.1 (MV3, CSP, missing files, cleartext) and node-client-2026.1 (host allowlist vs. claims.json, consent gate, loopback protection).

AGENT 05 · src/review.rs

Release Clearance Arbiter

Emits block, needs_human, or ship_with_conditions. Enforces ADR-0003: auto_ship is hardcoded to false; a human signs off.

UNIFIED KEY · pf_live_…

Browser + Rust CLI Bridge

Your pf_live_… API key works in the Web Console AND directly in your terminal via preflight review --key and preflight push.

For Organizations & Teams

accountType: organization

Create an organization workspace, manage multiple extension projects with isolated baselines, and invite team members with scoped RBAC keys (admin, reviewer, or ci).

For Independent Developers

accountType: individual

Shipping your own Chrome extension solo? Sign up as an Independent Developer to get a personal isolated workspace, project claims storage, and a pf_live_… key for your terminal and browser.

Save Your API Key

This secret key is shown only once. Use it in the Web Console or with the Rust CLI in your terminal.

Terminal / Rust CLI usage: