Heron is an Android notification and message assistant built around Jev-style decisions. Its shipped model is ModernBERT, not TypeSafe Jev: it scores possible answers on the phone and combines them with hand-written rules.
I inspected the README and Kotlin decision, ensemble and diagnostic code at commit 2c965fb. I did not run the app or its model; this is not a security audit.
How the decision is made
- A request carries a situation, a question and fixed choices. The pair-scoring model compares each choice with the situation using natural-language inference, then converts the scores into answer weights.
- For a yes/no statement, the code can use the model’s entailment and contradiction outputs in one pass.
- The router falls back to rules when no model is installed, an exception occurs, or the output falls below its configured confidence threshold. The default threshold is zero.
- The ensemble blends model and rule probabilities. The project also lets user corrections take precedence for supported decisions.
The checks have limits
- The project describes a 23-case self-test spanning notification triage, scam flags and spending categories. It reports the score on the phone; I did not reproduce it.
- Its export workflow compares quantized models against a reference model on the self-test. Agreement with that reference is not proof either model is correct on new messages.
- The README says the ensemble never does worse than rules alone. The inspected blend does not establish that guarantee for unseen inputs.
- Softmax produces a valid distribution, but neither that distribution nor a typed choice establishes calibration or decision accuracy. A missed emergency or scam warning can matter even when the output is well formed.
The author says notifications and transaction data stay on-device, with a one-time model download. I did not verify the privacy claim in a running build. Treat the scam shield as an assistive signal, not a security boundary, until it has been tested against representative messages and failure cases.