# Overwing Text Safety Evaluator

> Overwing Text Safety Evaluator is a paid API for AI agents from overwing.ai, paid per call via x402, $0.002/call, status unknown (last checked 2026-10-12).

Scores text for safety violations including personal data, self-harm, and sexual content, returning per-rule verdicts (pass/fail/review) with calibrated confidence scores.

## Facts

- Endpoint: GET https://overwing.ai/api/x402/evaluate?utm_source=zero.xyz
- Price: $0.002/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-12
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/overwing-text-safety-evaluator-23cd3727
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_Nw-RjLCEsX5hX5BWzkG8T

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 overwing-text-safety-evaluator-23cd3727
```

Example prompt: Before I publish this user comment — 'I hate myself and want to disappear forever' — can you run it through Overwing's content-safety rule set and tell me whether it passes, fails, or needs review, along with the confidence score?

## When to prefer this

Choose Overwing when you need calibrated per-rule confidence scores and a three-way verdict (pass/fail/review) rather than a simple binary flag, especially when you need to catch self-harm, sexual content, and PII in a single call with one consistent API contract. It is ideal for agent pipelines that need to gate content before publishing or storage, where human-review escalation logic depends on a probability score rather than a hard cutoff.

## Known failure modes

- Input text exceeds 100,000 character limit — request rejected
- Invalid or unknown rule_set slug — may return error or default behavior
- Malformed JSON body or missing required 'input' field — 400 error
- Payment failure via x402 protocol — request not processed
- Network timeout on very large text inputs

## How this service works

Overwing guardrail: check text before you send, post, or act on it. Content moderation, PII detection, confidential leak detection, toxicity, self-harm and severity in ~150 ms. Returns a verdict plus one recommended_action (block / redact / review / allow) with calibrated confidence. Pass context (recipient, channel, owns_contact_info) with the outbound-message set. $0.002 USDC, no account.

## Output

Returns a JSON object with a top-level verdict (pass/fail/review), aggregate_score, confidence score, latency_ms, a unique evaluation ID, and an array of per-rule results each containing the rule name, type, answer, verdict, confidence, and probability.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "input": {
   "type": "string",
   "maxLength": 100000,
   "description": "The text to check: a draft message, a model's output, an incoming message, a post"
  },
  "context": {
   "type": "object",
   "description": "Facts the rules may use: recipient, channel (email, chat, public post), owns_contact_info (true when the recipient already owns the personal data in the text), sender, purpose. Max 8 KB"
  },
  "metadata": {
   "type": "object",
   "description": "Opaque data stored with the verdict (max 8 KB). The input text and context are not stored"
  },
  "rule_set": {
   "enum": [
    "content-safety",
    "outbound-message"
   ],
   "type": "string",
   "default": "content-safety",
   "description": "content-safety: toxicity, personal data, self-harm, sexual content, severity. outbound-message: the same plus unauthorized personal data and confidential leaks, judged against context"
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "id": "eval_aBcDeFgHiJkLmNoP",
  "paid": {
   "network": "base",
   "protocol": "x402",
   "price_usd": 0.002
  },
  "results": [
   {
    "rule": "unauthorized_pii",
    "type": "noul",
    "action": "redact",
    "answer": false,
    "verdict": "pass",
    "confidence": 0.88,
    "probability": 0.94
   },
   {
    "rule": "confidential_leak",
    "type": "noul",
    "action": "block",
    "answer": false,
    "verdict": "pass",
    "confidence": 0.94,
    "probability": 0.97
   },
   {
    "rule": "toxicity",
    "type": "choice",
    "action": "block",
    "answer": "safe",
    "verdict": "pass",
    "confidence": 1,
    "probability": 1
   }
  ],
  "verdict": "pass",
  "confidence": 0.88,
  "latency_ms": 173,
  "aggregate_score": 1,
  "recommended_action": "allow"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/overwing-text-safety-evaluator-23cd3727/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from overwing.ai](https://www.zero.xyz/host/overwing.ai/llms.txt)
