PassGen — Privacy Policy
Effective 16 August 2026
PassGen collects nothing. It has no server, no account and no analytics, and it makes no network requests of any kind. Everything it generates stays on your computer.
What PassGen does not do
- No data collection. Nothing you generate, type, or configure is sent anywhere or recorded for anyone.
- No telemetry, analytics, or crash reporting. There is no counter, no ping, no "anonymous usage data".
- No network requests, of any kind. The extension contains no
fetch, noXMLHttpRequest, no WebSocket, no remote scripts, no CDN, no web fonts and no remote images. Everything it needs — including both word lists — ships inside the extension. Its content security policy (script-src 'self'; object-src 'self'; base-uri 'none') blocks remote code from running even if it were somehow introduced. - No host permissions. PassGen declares no site match patterns, so it has no standing access to any page. It can touch a page only in the tab where you just invoked it, only for that invocation, through Chrome's
activeTabmechanism. - No accounts, no sign-in, no identifiers. There is nothing to log in to.
What is stored, and where
Your settings — mode, length, character classes, separator, theme,
clipboard-wipe delay and so on — are written to chrome.storage.sync under a
single key. Chrome syncs that data across the devices where you are signed in to the same
Chrome profile, through Google's servers, the same way your bookmarks sync. It contains
preferences only. If sync storage is unavailable, PassGen falls back to
chrome.storage.local, which stays on that one device.
A pending clipboard wipe is recorded in chrome.storage.local
as two numbers and a random id: when the copy happened, and how long the delay is. It
deliberately contains no part of the copied value, not even its length — the wipe overwrites
the clipboard unconditionally and has nothing to compare a value against. It is kept there
rather than in session storage so that a wipe armed before you quit Chrome is still
completed the next time Chrome starts, instead of being silently forgotten while the
password sits on your system clipboard.
No generated value is ever written to chrome.storage.sync or
chrome.storage.local. Nothing you generate is synced, and nothing you
generate is written to disk by the extension.
Generated values live in memory and in chrome.storage.session,
which is in-memory and session-scoped: not persisted to disk, not synced, and destroyed when
Chrome closes. That is where the optional recent-values history lives, so a mistaken
regenerate is recoverable. You can turn the history off entirely in the options page.
Uninstalling removes everything the extension holds locally, and Chrome removes its synced settings along with it.
Permissions, and why each one exists
| Permission | Why it is needed |
|---|---|
activeTab | Temporary access to only the tab where you invoked PassGen, so a generated value can be written into the field there. |
scripting | Runs the small bundled routine that fills that field. Nothing is injected into any other tab, and nothing persists after the action. |
storage | Your preferences, the session-only history, and the timestamp-only record of a pending clipboard wipe described above. |
clipboardWrite | Copying a generated value, and overwriting it later if you enable the automatic wipe. |
offscreen | A Manifest V3 service worker has no DOM, so an invisible extension document performs the clipboard write and is closed again immediately. |
contextMenus | The right-click "fill with a password / passphrase / PIN" entries on editable fields. |
alarms | The timer behind the automatic clipboard wipe. |
What you should still be careful about
Being careful on our side does not make the surrounding environment safe. Two things are outside the extension's control:
- The clipboard is shared. When you copy a password, any other application on your computer — and, on many systems, any web page you have granted clipboard access — can read it. Some operating systems keep clipboard history, and some sync the clipboard to your other devices. The optional automatic wipe narrows that window but does not close it, it cannot fire faster than about 30 seconds (a Chrome
alarmslimitation), and it overwrites the clipboard rather than restoring what was there before. If you copy something else before the delay expires, that is what gets overwritten — PassGen cannot read the clipboard to check whose content is on it. - The generated password is on screen. It is visible in the popup to anyone who can see your screen, to screen-sharing and screen-recording software, and to anything taking screenshots. Use the "mask until revealed" option if that matters where you work.
And the usual: paste the password into a password manager rather than leaving it in the clipboard or a text file. PassGen generates and hands off; it does not store your passwords for you.
Changes to this policy
If a future version changes any of the above, this policy will be updated before that version is published, and the extension's Chrome Web Store listing will reflect the change.
Contact
PassGen is published by OS Micro. Questions about this policy: andrej@osmicro.com.au.