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 buildRun 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.