# Verity Suite Quick Redact

> Verity Suite Quick Redact is a paid API for AI agents from verity-suite.onrender.com, paid per call via x402, $0.02/call, status unknown (last checked 2026-09-14).

Scans a text payload for PII, secrets, and credentials, returning a verdict, severity score, masked findings, and a redacted version calibrated to the destination context.

## Facts

- Endpoint: POST https://verity-suite.onrender.com/redact/quick
- Price: $0.02/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/verity-suite-quick-redact-e50ec5e0
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_aL315tmZLiBMxQGA1m_ip

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability verity-suite-quick-redact-e50ec5e0 -d '<json body>'
```

Example prompt: Before I write this to the public audit log, scan it for any PII or secrets and tell me the severity — the payload is: 'User john.doe@example.com (SSN: 123-45-6789) called support and mentioned their AWS key AKIAIOSFODNN7EXAMPLE', and the destination is a public log.

## When to prefer this

Use this endpoint when an AI agent needs a fast, per-call PII and secret scan with destination-aware severity calibration before sending or storing text. Prefer it over generic regex-based filters when you need a structured verdict with severity score and masked findings, especially when the destination context (public log, internal DB, third-party API) should influence the risk level. It is fail-closed (defaults to 'review' when uncertain), making it appropriate for safety-critical pipelines.

## Known failure modes

- Payload is truncated or encoded and cannot be scanned — returns verdict 'review' with a reason noting un-scannable content
- Both PII and secrets are present and dominance is unclear — returns 'review' rather than a definitive verdict
- Placeholder or already-masked values may trigger 'review' if they resemble real credentials
- Missing required 'payload' field causes a validation error
- Service cold-start latency on Render may cause occasional slow first responses

## How this service works

The trust fabric for AI agents — calibrated, fail-closed services agents pay per call.

## Output

Returns a JSON object with: 'verdict' (clean, contains_pii, contains_secret, or review), 'severity' (0–1 float calibrated to destination risk), 'findings' (list of masked detected items like 'email: j…@…'), 'reasons' (plain-language explanation of the verdict), and optionally a 'redacted_payload' with sensitive spans masked.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "required": [
  "payload"
 ],
 "properties": {
  "context": {
   "type": "string",
   "description": "where this payload is headed (e.g. public log, internal db, third-party API) so sensitivity and severity can be calibrated to the destination"
  },
  "payload": {
   "type": "string",
   "description": "the text the agent is about to send or store; scan it for PII, secrets, and credentials"
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "object",
 "title": "redact_out",
 "required": [
  "verdict",
  "severity",
  "findings",
  "reasons"
 ],
 "properties": {
  "reasons": {
   "type": "array",
   "items": {
    "type": "string"
   },
   "title": "Reasons",
   "description": "concrete reasons for the verdict and severity, including why ambiguous, encoded, or both-category items were routed to review, and a note if the payload contained embedded directives."
  },
  "verdict": {
   "enum": [
    "clean",
    "contains_pii",
    "contains_secret",
    "review"
   ],
   "type": "string",
   "title": "Verdict",
   "description": "clean=after a careful scan, no personal data, secret, or credential is present; contains_pii=personal/identifying data present (names tied to other data, emails, phones, postal addresses, government IDs, DOB, financial identifiers like PAN/IBAN/account, health or biometric data, precise geolocation); contains_secret=a live or plausibly-live machine credential present (API keys, tokens, private keys, passwords, connection strings, bearer/JWT, cloud keys, signing secrets); review=the safe fallback when you cannot confidently say clean — something looks sensitive but you cannot confirm it qualifies, the value may be a placeholder/example/already-masked, the payload is encoded/truncated/un-scannable, OR both PII and a secret are present and which dominates is unclear. Use review whenever unsure."
  },
  "findings": {
   "type": "array",
   "items": {
    "type": "string"
   },
   "title": "Findings",
   "description": "one entry per detected item as 'type: masked_span' (e.g. 'aws_secret_key: AKIA…REDACTED', 'email: j…@…'). Never reproduce a full secret, key, or complete identifier. Empty list if verdict is clean."
  },
  "severity": {
   "type": "number",
   "title": "Severity",
   "maximum": 1,
   "minimum": 0,
   "description": "calibrated exposure cost if the payload were sent unredacted to the destination in context: 0=harmless, 1=catastrophic (live cloud root key, full unmasked SSN/PAN). Must be ~0 when verdict is clean. Reflect both the data type and the destination (raise for public/third-party)."
  },
  "redacted_payload": {
   "anyOf": [
    {
     "type": "string"
    },
    {
     "type": "null"
    }
   ],
   "title": "Redacted Payload",
   "description": "the input with every detected span masked; provide whenever any item was flagged (including on review). Omit only when verdict is clean. Must not leak any value you flagged."
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/verity-suite-quick-redact-e50ec5e0/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from verity-suite.onrender.com](https://www.zero.xyz/host/verity-suite.onrender.com/llms.txt)
