The problem
LLM care agents either forget everything between visits or remember everything — and "everything" is a liability in healthcare. Every agentic-health demo we tested replays raw transcript history into the next session with no consent check, so a detail the patient mentioned once in confidence can surface in front of a family member or a different clinician weeks later.
What RecallGuard does
RecallGuard sits between the agent and its memory store as a retrieval firewall. Every recall is (1) filtered against a per-topic consent lattice, (2) ranked by a taste model (relevance × recency × sensitivity), and (3) returned with a provenance record: which session, which utterance, which consent grant authorised it. Nothing leaves the firewall that the patient did not allow to be said out loud.
Three modules, one process, no external database:
gateway.py— Qloo client with a token-bucket budget and a private on-disk cache, so the daily call cap is enforced by construction rather than by discipline.taste.py— deterministic ranking over semantic-search hits: relevance score × exponential recency decay × sensitivity penalty.constraints.py— consent lattice; a memory is emitted only if its topic path is granted for the current speaker and audience context.
run_eval.py runs an A/B over the same conversations recalled (a) as raw transcript history and (b) through the firewall, scored against a rubric of gold assertions covering over-recall, wrong-recall, consent violation and verbatim fidelity.
Why Qloo
Qloo is the retrieval backend in this class that returns evidence spans rather than a paraphrase, and that is precisely what makes the provenance record possible: every RecallGuard answer can be traced to the exact stored utterance, with the search that surfaced it. The budget layer (per-minute token bucket, hard daily cap, cache-first reads) exists because Qloo's limits are real, and it is a module with its own test rather than an afterthought in a prompt.
Run it
One command, offline replay from the private cache, zero live calls:
python3 run_demo.py --offline --no-llm --take 10
A/B harness: python3 run_eval.py. Local demo server: python3 serve.py.
An anonymous team. No PII.
Built With
- artificial
- intelligence
- learning
- machine
- python
- qloo
Log in or sign up for Devpost to join the conversation.