PII never leaves your process
Email, IBAN, BSN, credit card, phone, IP, SSN, and secrets are detected (with checksums) and redacted before the provider call — then restored in the reply.
Interceptors →
PII protection · audit trails · reliability · cost control — as composable interceptors. Same API in Python, Java, and JavaScript.
pip install gavio # Python 3.10+
npm install gavio # Node 18+
# Maven: io.github.manojmallick:gavio-core:0.9.0 (Java 17+)from gavio import Gateway
from gavio.interceptors.pii import PiiGuard
gw = Gateway.builder().dev_mode(True).use(PiiGuard()).build()
r = await gw.complete(messages=[
{"role": "user", "content": "Email jan@example.com re NL91ABNA0417164300"}])
print(r.content) # PII restored in the reply
print(r.audit.pii_entity_types) # ['EMAIL', 'IBAN']The email and IBAN are detected and redacted before the provider ever sees them, then restored in the response. JavaScript and Java →