> For the complete documentation index, see [llms.txt](https://doc.lockerprotocol.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.lockerprotocol.com/reference/reproducible-build.md).

# Reproducible build & verification

Anyone can rebuild the store package bit for bit and check it matches the source.

The extension builds **deterministically**: two builds of the same source produce identical bytes, and the zip uploaded to the stores can be rebuilt and compared file by file. That is what makes "read the source" meaningful: the code you read is provably the code you run.

## Verify a store package yourself

```bash
git clone <extension repository> && cd qr-extensions
npm ci
node scripts/verify-build.mjs --zip=<downloaded store package>.zip --browser=chrome
# → "✔ Reproducible: rebuild matches ... bit for bit (N files)."
```

* Node 20–24, dependencies from the committed `package-lock.json` (the bundler, esbuild, is version-locked).
* No network at build time beyond `npm ci`; no obfuscation, no minifier randomness.
* Production bundles carry no sourcemaps and no absolute paths.

## Status

Every released package since v1.1.0 has been verified bit-for-bit; the current release is **v2.4.1** (Chrome and Firefox packages, 153 files each, cut on 8 September 2026). Details, dates and file counts are in the repository's `REPRODUCIBLE-BUILD.md`. Third-party verifiers such as WalletScrutiny run this same check.

## The Vault

The Vault is a web app served from `vault.lockerprotocol.com`. Its build is an Angular production bundle from the public repository; the service worker caches it so the app keeps working offline after the first load.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://doc.lockerprotocol.com/reference/reproducible-build.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
