Skip to content

e11

Clinical datasets that could move research forward sit unused because two questions are hard to answer together: is this use consented, and is the data de-identified enough to share?

Core trick

Claude reads consent text and flags quasi-identifiers, while a deterministic engine computes re-identification risk and cites each legal claim.

Tags

Description

Clinical datasets that could move research forward sit unused because two questions are hard to answer together: is this use consented, and is the data de-identified enough to share? Consent tools track permission but do no de-identification math; de-identification engines compute risk but are blind to consent. Lupta joins them. Claude reads the free-text consent document, checks a proposed use against it, discovers quasi-identifiers, and reasons about re-identification — while a deterministic engine owns every number, so no figure in the decision memo is ever produced by the model. It emits an auditable memo: a verdict, the risk findings tagged to the tool that computed them, and every legal assertion cited to a gazette-verified provision of India's DPDP Act — ahead of the May 2027 enforcement date. Built for the researcher trying to get a dataset safely out of the drawer.
abhiis/lupta★ 00 forksPythonMITCreated Jul 7, 2026 · last push Jul 12, 2026

README excerpt

# Lupta — consent-aware de-identification decisioning

Lupta reads **what was actually consented**, a deterministic engine computes **what the data actually reveals**, and a decision memo ties **every number to the clause it strains** — a join no existing tool performs. Consent platforms do no de-identification math; de-identification engines are blind to consent. Lupta lives in the seam.

**Input:** an informed-consent document + a clinical dataset + a proposed use.
**Output:** an auditable decision memo — *approve · approve-with-transforms · deny* — where every number comes from a deterministic tool and every legal assertion cites a gazette-verified provision of India's DPDP Act, ahead of its May 2027 enforcement date.

> Built at **Anthropic's Built with Claude: Life Sciences** hackathon (July 2026).
> **Watch:** [3-minute demo](https://youtu.be/S2FxFKZGBpA) · [extended walkthrough (9 min)](https://youtu.be/GXnx7BifFDU)
> **See it decide:** four real recorded runs, step by step — [nothumanintheloop.com/lupta/demo](https://nothumanintheloop.com/lupta/demo/) · the story in one page — [nothumanintheloop.com/lupta](https://nothumanintheloop.com/lupta/)

## Architecture — open engine · BYO terminology · BYOK LLM

Three pillars, deliberately split so this public repo ships **no licensed data and no imposed model**:

1. **`engine/`** — five pure-pandas functions (deterministic, JSON in/out, no LLM import, no network). The tool owns *every number*. Its one load-bearing property: i

Team