A Chrome extension that fills any web form from your encrypted PRYVC profile — including on sites that have never heard of PRYVC — and records a verifiable receipt of what you disclosed, to whom, and under which terms.
Install: Chrome Web Store
The extension reads form fields on arbitrary pages and holds an access token. Those are exactly the capabilities that deserve scrutiny, and "trust us" is a poor answer from a company whose product is not having to trust anyone.
Everything the marketing site claims about this extension is checkable here:
| Claim | Where to check |
|---|---|
| Fills only when you explicitly trigger it | src/background.ts — the fill path starts from a user gesture (toolbar click or context menu); there is no content_scripts auto-injection in manifest.json |
| It shows you the fields before anything is filled | src/content.ts — the consent sheet is rendered and awaited before any value is written |
| Receipts record field names, never values | src/content.ts — the recorded payload carries fields: string[] |
| The page never sees your token | src/background.ts holds the token; the content script requests actions over chrome.runtime messaging and never receives it |
| Network access is limited to PRYVC | manifest.json — host_permissions is api.pryvc.com only |
npm install
npm run build # -> dist/ and pryvc-autofill-with-proof.zipThen load dist/ at chrome://extensions → Developer mode → Load unpacked.
Building from this source should produce functionally the same extension as the
published listing.
- You trigger it. Toolbar button or right-click → Fill with Pryvc. There is no always-on script watching your typing.
- It shows its hand. A shadow-DOM sheet lists exactly which of your profile fields this form asks for. Nothing fills until you approve.
- It fills. Values come from
GET /v1/ext/fields, decrypted server-side for that request only, held in memory, never persisted by the extension. - It records a receipt.
POST /v1/ext/disclosuresstores field names, the page URL, a canonical fingerprint, and a snapshot of the site's privacy policy and terms as they read that day — then anchors it externally. The values you filled are not part of that record.
The receipt is a unilateral disclosure record: evidence created by the subject, for the subject, about a site that has no integration and no idea the record exists. It is written in the Share Protocol (SP/1) evidence format, so it can be verified with the independent Class V verifier rather than by asking PRYVC to vouch for itself.
| Permission | Reason |
|---|---|
activeTab |
Read the current page's form fields — only after you invoke the extension |
scripting |
Inject the consent sheet and perform the fill |
storage |
Persist your access token locally |
identity |
Complete the one-time account connection via launchWebAuthFlow |
contextMenus |
The right-click → Fill with Pryvc entry |
host_permissions: api.pryvc.com |
The only host the extension talks to |
Note there is no broad host permission. The extension cannot read pages you haven't explicitly invoked it on.
src/background.ts token custody, message router, API calls
src/content.ts form detection, consent sheet, fill, receipt
src/popup.ts connection status
src/vendor/ field mapping, device details, and the SP/1 field
registry, mirrored from @pryvc/sdk and kept in sync
build.mjs esbuild -> dist/ + store zip
Please email security@pryvc.com rather than opening a public issue.
Apache-2.0.