1. What the CCPA / CPRA pack installs
Browsing the catalog is free for any workspace Member; installing is a paid-plan, workspace-Admin action (the same gate as going live — see Plan gating). One install materialises real, editable Guardrail rows mapped to California Civil Code sections:Personal information — §1798.100
Personal information — §1798.100
A strict PII guardrail that blocks the request on the input
stage when consumer personal information (email, phone, SSN, credit
card, IP) is present — so it never reaches the provider. This is a
hard-reject control, not a redactor.
Sensitive personal information — §1798.140(ae)
Sensitive personal information — §1798.140(ae)
A PII guardrail that masks sensitive identifiers — SSN, credit
card, and IBAN — on both stages. Masked entities render as typed
tags such as
[SSN] and [CREDIT_CARD], so the SPI category gets
heightened, redacted handling.Recordkeeping — §1798.130
Recordkeeping — §1798.130
A logging guardrail that flags PII occurrences and records every
guardrail decision as recordkeeping evidence — without blocking or
modifying traffic — feeding the signed report your auditor reads.
The pack is a starting point you own, not a black box. Every rule it
writes is an ordinary guardrail row you can edit, reorder, re-target
(input / output / both), or disable in the console afterward. The bundled
entity set and per-entity action overrides live in the
Guardrails reference.
2. Install the CCPA / CPRA pack (one concrete flow)
Install from the console under Compliance → Packs, signed in as a workspace Admin on a paid plan. The console drives the management route for you using your session — this is aUserAuth route, never a relay
(sk-orca-…) key:
3. The consumer-PII control on the request
The load-bearing CCPA control is keeping consumer personal information off the model, and on the gateway that is a PII guardrail evaluated before the request reaches the provider. The pack ships two complementary postures:| Control | Action | What it covers |
|---|---|---|
| Personal information | block (input) | email, phone, SSN, credit card, IP |
| Sensitive PI | mask (both) | SSN, credit card, IBAN |
4. The right to opt out (the human side)
CCPA’s signature consumer right — opt out of the sale or sharing of personal information (§1798.120) — and the notice-at-collection duty (§1798.130) are organizational controls in the readiness checklist, not rules the gateway can author for you. They depend on your business processes, not the request path.OrcaRouter tracks these as readiness items so your auditor sees the full
CCPA picture, but the Do-Not-Sell workflow and your privacy-policy
disclosures are yours to operate. The gateway evidences what it enforces
(the PII and recordkeeping controls above); you attest to what it can’t
see. The split is mapped on the
Shared responsibility page.
5. Residency, retention, and consumer deletion
Three workspace-level settings round out a CCPA posture:Residency for your evidence
Stamp signed reports with a region (
us / eu / uk / ap / cn /
global) so a California auditor reads US-resident evidence. Set it
before you generate reports — it governs the artifact, not where
inference runs.Log retention
Request-log retention defaults to 30 days, server-clamped to a
180-day maximum. Lowering it shrinks the window consumer data sits
in logs at all.
UserAuth route, driven from
the console:
6. Prove it with a signed report
Once the pack is live, generate a compliance report: it is SHA-256 hashed and Ed25519-signed, so an auditor can verify it was produced by OrcaRouter and not altered — publicly, without a login.7. Where this fits
CCPA / CPRA is one framework in the broader compliance loop — install a pack, observe it, enforce, declare residency, then ship signed evidence.Compliance overview
The full loop — install, observe, enforce, and ship signed evidence.
What a pack installs
How a pack materialises guardrail and firewall rows you own.
GDPR
The EU privacy framework — minimisation, transfers, and erasure.
Guardrails
The content-layer reference — PII entities, masking, and overrides.
