Temporary inboxes, fast signup autofill, and verification links in one browser extension.
Live demo: bdtran2002.github.io/SudoFill
SudoFill is a browser extension for short-lived signups. It gives you a disposable mailbox, helps fill common registration forms, and keeps verification emails nearby so you do not have to use your personal inbox.
- Disposable Mail.tm inboxes with create, refresh, discard, and copy actions
- Built-in mailbox UI for reading messages, rendering useful email content, and opening detected verification links
- Autofill for common signup fields like name, birth date, address, email, and optional generated passwords
- Domain-aware verification popup for matching pages, with link and code shortcuts
- Shared autofill settings page for tuning profile defaults, verification helpers, and local history behavior
- Full-page mailbox view for reviewing incoming mail more comfortably
- Local-first settings: autofill preferences stay in browser storage
| Browser | Surface | Notes |
|---|---|---|
| Firefox | Toolbar popup | Fast compact flow from the browser bar |
| Chrome | Side panel | Wider mailbox and autofill workflow |
| Both | Full-page mailbox | Better for reading and managing email |
| Both | Options page | Adjust autofill defaults and behavior |
- Open SudoFill.
- Create a temporary mailbox.
- Open the signup page you want to fill.
- Run autofill from the popup or side panel on that site tab.
- Wait for the verification email.
- Use the mailbox's recommended verification action, or the in-page popup when you are already on the matching site.
SudoFill works best on standard account-creation forms and similar onboarding flows.
It commonly fills:
- first name, last name, or full name
- date of birth
- sex or gender when a form asks for it
- business name in some signup layouts
- street, city, state, country, and postal code
It also tries to avoid bad fills by skipping:
- hidden fields
- read-only fields
- fields that already contain user-entered values
- pages that do not look like a normal signup flow
The Options page controls the generated profile SudoFill uses during autofill.
You can tune:
- generated address on or off
- preferred US state
- age range
- whether generated profiles lean male, female, or nonbinary when a form asks
- whether the verification assist popup appears on matching pages
- whether local autofill usage history is saved
- whether generated passwords are filled on signup-style password setup steps
These settings are saved in browser storage. If you enable usage history, the saved entries stay local to the browser on that device and are not encrypted. Password autofill is default-off, and saved passwords are also local-only, not encrypted, and should be treated as unsafe.
- SudoFill talks to
https://api.mail.tm/*to create temporary inboxes and fetch messages. - Temporary mailbox session state is stored in browser session storage.
- Autofill preferences are stored in synced browser storage.
- Optional autofill usage history is stored in local browser storage and is not encrypted.
- Optional saved passwords in usage history are also stored in local browser storage and are not encrypted.
- Autofill only runs when you explicitly trigger it from the extension UI.
- The extension does not download and execute remote code.
- Verification links and codes are surfaced as recommendations from parsed email content.
- Best for short-lived signups, not accounts you plan to keep long-term
- Sites that require phone or SMS verification are not supported
- Very custom or multi-step forms may still need manual fixes
- Autofill only targets normal
https://pages - Verification popup matching is heuristic-based, so emails sent from unrelated delivery domains may not surface in-page
- Password autofill is heuristic-based and only intended for signup or password-setup flows, so some edge-case forms may still need manual input
- Live demo:
https://bdtran2002.github.io/SudoFill/ - Source:
docs/index.html - Deployment:
.github/workflows/pages.yml
The GitHub Pages site is a lightweight static demo page deployed from the repository's Pages workflow on pushes to main.
SudoFill uses Bun, WXT, React, and TypeScript.
bun installFirefox:
bun run dev:firefoxChrome:
bun run dev:chromeQuick local verification:
bun run dev:testThat runs typecheck, unit tests, and production builds for Firefox and Chrome.
bun run build:firefox
bun run build:chromebun run zip:firefox
bun run zip:chromebun run lint
bun run format:check
bun run typecheck
bun run test
bun run release:check
bun run firefox-addon:checkThe committed firefox-addon/ directory is a checked-in Firefox review snapshot. Refresh it with:
bun run firefox-addon:syncFor self-distributed Firefox releases:
- Set a stable
gecko.idinfirefox.config.ts. - Optionally set
gecko.update_urlif you host Firefox update metadata yourself. - Run the verification commands.
- Build the Firefox package with
bun run zip:firefox. - Submit the Firefox package to AMO as an unlisted add-on for signing.
- Host the signed
.xpiyourself after AMO returns it.
Use SOURCE_CODE_REVIEW.md for reviewer-facing notes and the exact Firefox review flow.
The repo ships with automated release plumbing:
- CI runs on pushes and pull requests to
main - Actionlint validates workflow files
- release-please opens and updates release PRs from
main - Release validates the tagged commit, rebuilds browser bundles, packages artifacts, and uploads release assets
release-please keeps these files in sync:
package.jsonCHANGELOG.md.release-please-manifest.jsonfirefox-addon/manifest.json
flowchart TD
WXT[WXT config/build]
BG[entrypoints/background.ts]
Content[entrypoints/content.ts]
Popup[entrypoints/popup/main.tsx]
Sidepanel[entrypoints/sidepanel/main.tsx]
Mailbox[entrypoints/mailbox/main.tsx]
Options[entrypoints/options/main.tsx]
Email[src/features/email]
Autofill[src/features/autofill]
Mailtm[Mail.tm API]
WXT --> BG
WXT --> Content
WXT --> Popup
WXT --> Sidepanel
WXT --> Mailbox
WXT --> Options
BG --> Email
Popup --> Email
Sidepanel --> Email
Mailbox --> Email
Content --> Autofill
Options --> Autofill
Email --> Mailtm
entrypoints/background.ts— mailbox lifecycle, polling, badge updates, and runtime routingentrypoints/content.ts— autofill entrypoint for supported pagesentrypoints/mailbox/main.tsx— full-page mailbox UIentrypoints/options/main.tsx— autofill settings UIentrypoints/popup/main.tsx— Firefox popup UIentrypoints/sidepanel/main.tsx— Chrome side-panel UIsrc/features/email/— mailbox state, Mail.tm integration, command routing, and email UIsrc/features/autofill/— profile generation, matching heuristics, settings, and content-script fill logicwxt.config.ts— manifest generation and browser-specific configfirefox.config.ts— Firefox ID and optional update URL
GPLv3. See LICENSE.
