The three modes
| Mode | Provider | PHI policy |
|---|---|---|
| Fast default | External LLM | PHI Rail aliases identifiers before egress; re-hydrates real values on the response. |
| Private | Local / BAA-approved | PHI stays on-device or on BAA-allowlisted destinations only. |
| BAA | External LLM with signed BAA | PHI allowed under your BAA. Requires explicit acknowledgement. |
Per-call override
Every /run and /openai/chat/completions call accepts a phi_mode param. The response includes phi_mode + phi_reason + phi_guardrail_applied so you can verify which rail fired.
BAA acknowledgement
Turning on BAA mode requires you to tick the box "I have a signed BAA with my chosen provider and I accept responsibility for PHI sent to them."