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.