"""PII scrubbing and pseudonymisation (issue #2). Contract stub — implementation lands in #2.""" from app.core.types import ScrubbedText def scrub(text: str) -> ScrubbedText: """Replace personal data (phones, emails, SNILS, names, addresses...) with placeholders.""" raise NotImplementedError def pseudo_id(snils: str, key: str | None = None) -> str: """HMAC-SHA256(PSEUDO_KEY, normalised SNILS) as 32 hex chars — the token linking identity and clinical DBs.""" raise NotImplementedError