jev-mail-triage
Dry-run-first Proton Mail Bridge triage on macOS where Jev answers whether each message is spam or phishing.
Overview
Jev Mail Triage runs on a Mac, reads new messages through Proton Mail Bridge over IMAP, and asks TypeSafe's Jev model two questions about each one: is it unsolicited spam, and is it a scam or phishing attempt. By default it only records the answers. Moving flagged messages to a Jev Review folder is an explicit opt-in, and nothing is ever deleted.
It targets Proton users who want help spotting junk without giving up control of their mailbox. Secrets such as the Bridge password and the TypeSafe key are stored in macOS Keychain rather than the config file. The README is explicit that sender, subject, a shortened body and link addresses leave Proton's end-to-end encrypted environment when sent to TypeSafe.
What the decision model decides
| Type | Question | Answers |
|---|---|---|
| Yes / no | Is this unsolicited spam? | yes · no |
| Yes / no | Is this a scam or phishing attempt? | yes · no |
How it works
- Poll new messages through Proton Mail Bridge IMAP
- Send sender, subject, shortened body and links to Jev with two yes/no questions
- Record answers in dry-run mode
- If enabled, move flagged messages to a Jev Review folder; never delete
Strengths
- Dry-run by default, so nothing changes until you choose
- Secrets kept in macOS Keychain
- Apple Mail reflects moves automatically through Bridge
Caveats
- Message content leaves Proton's end-to-end encrypted environment
- Mac and Bridge must stay running
- Requires a TypeSafe API key
Getting started
Clone the repo, create a Python 3.11 venv, pip install -e '.[dev]', copy config.example.toml to ~/.config/jev-mail-triage/config.toml, store secrets with jev-mail-triage secret set, then run jev-mail-triage poll.At a glance
- Type
- Project
- Status
- beta
- Language
- Python
- Runtime
- macOS CLI / background service
- Has code
- yes
Use cases and integrations
How curated lists describe it
Dry-run-first Proton Mail Bridge triage using TypeSafe Jev.
wh000wh000/awesome-jev-live
Frequently asked questions
What does Jev decide?
Whether each message is unsolicited spam and whether it is a scam or phishing attempt.
Will it delete email?
No. It only records answers by default and can optionally move messages to a review folder.
Is it private?
Not fully; the README warns that sender, subject, shortened body and links are sent to TypeSafe.
Related projects
Google Apps Script that labels, archives or trashes Gmail conversations based on Jev answers to your plain-English yes/no questions.
ProjectbetaJavaScriptChrome/Brave extension that uses Jev to classify, label and safely bulk-clean a Gmail inbox with undo.
PluginbetaJavaScriptGoogle Apps Script Gmail classifier that applies your own plain-English labels with Jev and archives only high-confidence unwanted mail.
ServicebetaJavaScriptRead-only Chrome extension that badges each Gmail message with Jev's category, priority, spam % and reply %.
Browser extensionprototypeJavaScriptCreator inbox sorter: Jev answers five questions per comment or DM and code decides to notify, draft, like, hide, archive or escalate.
ProjectprototypeTypeScriptRead-only, local Gmail triage that sorts each message into five trays with an urgency score using Jev via Vercel AI Gateway.
ServicebetaTypeScript