Infill is an open-source browser extension that helps you fill forms faster while keeping you in control of what gets written into the page.
- Scans the active tab for fillable form fields.
- Matches fields against saved profile facts.
- Shows suggested mappings before filling.
- Avoids auto-filling sensitive fields unless the user approves the action.
- Stores profile state in browser extension storage.
- Supports optional encrypted profile sync through our backend after setting a passphrase.
.
+-- apps/extension/ # Browser extension source, UI, manifest, fixtures
+-- packages/form-brain/ # Field matching, assist, and risk logic
+-- packages/profile-vault/ # Profile facts, import, and vault state helpers
+-- packages/shared/ # Shared schemas and cross-package types
+-- docs/ # Contributor and architecture documentation
+-- package.json # Workspace scripts
`-- pnpm-workspace.yaml # pnpm workspace package map
- Node.js 22 or newer.
- Corepack enabled.
- pnpm 10.30.0, managed through Corepack.
- Chromium-based browser for local extension loading.
corepack enable
corepack pnpm installRun the extension build in watch mode:
corepack pnpm devCreate a production build:
corepack pnpm buildCreate browser-specific release packages:
corepack pnpm build:mozilla
corepack pnpm build:chromiumThe Mozilla package is written to apps/extension/infill-amo-<version>-firefox.zip. The Chromium package is written to apps/extension/infill-chromium-<version>.zip.
Run tests:
corepack pnpm testRun TypeScript checks:
corepack pnpm typecheckThe extension build output is generated under apps/extension/dist.
- Run
corepack pnpm buildor keepcorepack pnpm devrunning. - Open
chrome://extensions. - Enable Developer mode.
- Choose Load unpacked.
- Select
apps/extension/dist. - Pin Infill from the browser toolbar.
After source changes in watch mode, reload the extension from chrome://extensions before retesting browser behavior.
Please report security issues privately before opening a public issue. Include the affected version or commit, reproduction steps, expected impact, and whether the issue affects local Ollama, profile sync, or sign-in.