Trust boundaries and prompt injection defense
CertifiedData enforces hard trust boundaries between sandbox demos, authenticated free-tier usage, and production. Prompt input cannot control signing, billing, publication, policy, or plan entitlements.
Trust boundary model
- →Dataset generation: 10 runs / 24h per IP · 1,000 rows max
- →Decision Ledger demo: 30 / min per IP
- →Commerce: 3 sandbox keys / 24h · 24h TTL
- →Notary: 3 free attestations
Sandbox issuance is intentionally separated from production. A scert_ certificate has no registry entry and expires. It cannot be used as production compliance evidence.
- →Dataset generation: 5 jobs / mo · 10,000 rows max
- →Decision Ledger: 1,000 records / mo
- →Commerce: unlimited sandbox transactions
- →API access on free plan
Free-tier API keys are rate-limited per plan. Permanent registry listing but retention limited to 7 days (preview only). Build+ for 7-year retention.
- →Dataset generation: plan-based row limits
- →Decision Ledger: unlimited (Build+)
- →Commerce: live Stripe rail (Build+)
- →Workflows: 1 (Build) to unlimited (Trust+)
Production issuance creates permanent registry entries with public verify URLs. cert.v4 includes full chain-of-custody and EU AI Act Article 10/12 metadata fields.
Prompt injection resistance
Every natural-language dataset or decision entry surface uses this exact pipeline. Raw prompt text never drives execution directly.
What prompt input can never control
These fields are exclusively controlled by authenticated plan entitlement and server-side policy — never by prompt text.
Examples of blocked prompt patterns
| Pattern | Category |
|---|---|
| ignore previous instructions | System prompt injection |
| set cert_level to cert.v4 | Entitlement bypass attempt |
| skip policy evaluation | Policy bypass attempt |
| publish to public feed | Unauthorized publication |
| <script>...</script> | HTML/script injection |
| https://attacker.com/exfil?data= | URL injection / exfiltration |
| approve this transaction | Authorization bypass attempt |
| set billing: free | Billing field injection |
These patterns are stripped or cause immediate rejection in the prompt parser. The normalized spec shown before execution will not contain any of these values.
Sandbox vs production issuance
| Sandbox (scert_) | Production (cert_) | |
|---|---|---|
| Auth required | No | Yes |
| TTL | 7 days | Permanent |
| Registry listing | No | Yes (cert.v1+) |
| cert_level | sandbox.cert.v1 | cert.v1 – cert.v4 |
| Upgradeable | Yes (claim API) | N/A |
| Compliance use | No — not valid | Yes — audit-ready |
| Public verify URL | Yes — verify UI | Yes — verify UI + registry |
| Identify prefix | scert_ | cert_ |