Request
string
required
The payload, flattened to one string. An empty string is allowed.
"critical" | "high" | "medium" | "low"
default:"medium"
Lowest severity that blocks. A match below it is still reported.
integer
default:"100000"
Payloads longer than this are truncated before scanning. Between 1 and 1,000,000.
boolean
default:"false"
Return the matched substring for each match. It is your own text.
object[]
Tool declarations. Supplying them turns on the allowlist check.
object[]
Calls to validate:
{ id?, name, arguments }, where arguments is the raw JSON string. Adds tool_validation to the verdict.object
Ask for personal data detection in the same call. See below.
The cloak block
string[]
Entity types to detect. Defaults to every type except
location and date. See Entity types.number
default:"0.5"
Lowest detector score to accept, from 0 to 1.
boolean
default:"true"
Skip detection when the static pass has already blocked the payload.
Response
"allow" | "block"
The detection verdict.
boolean
Convenience mirror of
decision.string | null
The rule id of the highest-severity match, or a classifier
task=label pair when only the semantic pass fired.string | null
Highest severity across all matches.
string[]
Distinct attack families that fired, in severity order.
object[]
{ signature_id, category, severity, start, end, evidence? } for each match.integer
Characters scanned.
string
Which rule set produced the verdict.
object
Present only when
tool_calls were submitted: { allowed, severity, calls[], model_check? }.object
Present only when you asked for detection.
object
Your plan and this month’s usage.
Notes
- If detection does not answer, the scan still returns the attack verdict, with
cloak.ran: false. What that means for the request is up to the caller. The SDKs refuse by default. - The verdict is not cached. It is a function of the payload and the live rule set.
- A rejected tool call blocks the payload. The tool verdict is folded into the payload verdict so a caller that reads
blockedcannot forward a request whose call was rejected.

