From ZIP to evidence

How ExtensionGate works

A local-first, inspectable preflight pipeline for Chrome and Microsoft Edge extension packages.

Human-reviewed

The local analysis pipeline

  1. The browser receives the extension ZIP as a user-selected File object.
  2. A dedicated Web Worker validates the archive with bounded entry, expanded-size, ratio, file-size, and time limits.
  3. The worker builds the manifest.json model and its graph of referenced package files.
  4. HTML and JavaScript are parsed as inert text. Extension code is never executed, imported, or rendered as live HTML.
  5. Versioned Chrome or Edge rules produce findings with file evidence, severity, confidence, and remediation.
  6. Optional submission answers are compared with package evidence locally in the browser.
  7. Submission Packet exports are generated as local Markdown, JSON, and print-ready Blob objects.

Data-flow boundary

The solid path is the private local scan. The separate dotted path carries only a bounded product event. Checkout carries entitlement data back to the browser, never package or report content.

  1. Extension ZIPUser-selected file
  2. Browser memoryPrivate package bytes
  3. Local scan workerBounded inert parsing
  4. Local report and packetFindings and answers
  5. Local exportsMarkdown, JSON, and print

Browser memory ExtensionGate event endpoint

Bounded anonymous event only. ZIP bytes and package-derived values never take this dotted path.

Stripe Checkout Release Pass entitlement Browser

Package content never enters checkout metadata. Report content is never required to activate or restore an entitlement.

What crosses the network boundary

The local scan does not upload the ZIP, source text, manifest values, report JSON, questionnaire answers, filenames, paths, or detected URLs. It also never fetches URLs discovered inside a package.

The public site may make ordinary requests for its own HTML and assets. Privacy-preserving product analytics, if enabled, are restricted to the schema published on the privacy page. Paid and support workflows never receive the package, source, local report, or questionnaire answers.

Designed limits

Compressed ZIP25 MB
Expanded content100 MB
Entries10,000
One text file20 MB
Expansion ratio100:1
Analysis time30 seconds before an incomplete result
Nested archivesNever recursively expanded

What the result means

A blocker is strong package evidence for a known submission problem. A needs-review finding requires product or policy context. Passing means only that enabled rules did not find their defined patterns.

Static analysis cannot observe every runtime path, backend, vendor contract, store form, or reviewer judgment. ExtensionGate does not certify compliance or guarantee approval.