otlite · Email
Install NeutrOSINT on Linux or macOS in one command
NeutrOSINT asks Proton's own API whether an address exists on Proton Mail, without emailing it. For a valid address it also returns the date of the account's PGP key, and it flags custom domains that route mail through Proton.
NeutrOSINT in three lines
pipx install otlite
otlite install neutrosint
otlite run neutrosint -- e:jane@example.comRuns Kr0wZ/NeutrOSINT (MIT, ★ 42, otlite 1.2.1, catalog updated Oct 23, 2026). otlite installs and runs it at a tested version; it does not change or verify the tool itself.
What NeutrOSINT is for
- Confirming a Proton address is live before spending time on it.
- Testing one username across proton.me, protonmail.com, pm.me and the other Proton domains.
- Spotting business domains hosted on Proton.
Typed inputs for NeutrOSINT
otlite translates these prefixes into NeutrOSINT's own flags. Anything else after -- is passed through unchanged, so every original flag still works.
- e:
- Email ·
otlite run neutrosint -- e:jane@example.com
Run every installed tool that takes the same input at once: otlite run --all e:jane@example.com
Where the results go
Every run lands under ./results/neutrosint/<target>/ as a timestamped output file, a .meta.json sidecar (the exact command, start and end time, exit code, and the SHA-256 of the output), and a .envelope.json with the entities found, in the same shape for every tool. List runs with otlite results, group them with --case, compare the last two with otlite diff neutrosint <target>, and pull indicators out with otlite extract neutrosint.
Before you run it
- The keyless light mode allows roughly 100 lookups an hour. After that, answers are unreliable until the limit resets.
- The date belongs to the account's current PGP key, which changes if the owner regenerates keys, so it is not always the sign-up date.
- The heavier mode signs in to a Proton account of your own through Chrome. otlite's e: input uses the light mode.
Update, remove, inspect
otlite info neutrosint # inputs, keys, an example command
otlite example neutrosint # sample output, where there is one
otlite update neutrosint # move to the next tested version
otlite remove neutrosint # delete its virtualenvFull reference: the otlite docs, and the tool's own README on GitHub.
Pairs with
When open-source isn't enough
NeutrOSINT confirms the Proton mailbox exists. SearchIn's leak and identity providers return the breach records and accounts tied to the same address.
FAQ
NeutrOSINT with otlite, answered
How do I install NeutrOSINT on Kali, Ubuntu, or macOS?
Install otlite once with pipx install otlite (or the one-line installer on the otlite page), run otlite init, then otlite install neutrosint. The tool lands in its own virtualenv under ~/.otlite/, pinned to a version that was tested, so nothing touches your system Python. otlite doctor prints the command that fixes a missing git or venv module.
Which inputs does NeutrOSINT take through otlite?
e: (email). otlite maps each prefix to NeutrOSINT's own flag. Everything after -- that is not a typed input is passed through unchanged, so the original flags still work.
Where does otlite save NeutrOSINT results?
Under ./results/neutrosint/<target>/ in the folder you run from, as a timestamped output file plus a .meta.json sidecar (the exact command, timing, exit code, and SHA-256) and a .envelope.json with the entities found. Add --case <name> to group runs, otlite results to list them, and otlite diff neutrosint <target> to compare the last two.
Does NeutrOSINT need an API key or a login?
No key is required for the basic run. Optional keys, where the project supports them, go in with otlite keys set NAME and are passed only to tools that declare them.
Can I run NeutrOSINT together with other tools?
Yes. otlite run --all e:jane@example.com runs every installed tool that takes email input, in parallel, including NeutrOSINT. Save the combination as a playbook to repeat it.
Can NeutrOSINT check a username rather than a full address?
Yes. Pass the bare name with the tool's own flag, for example otlite run neutrosint -- -e jane_doe, and it tries that name at each Proton domain in turn.