ToolAssay

Overwing guardrail

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.

Not tested: has real-world effectsour last check, 2026-09-25
0 of 0checks answered this week
n/amedian answer time
$0.002listed price per call
n/aprice it asked us

Paid test badge: not yet. The checks above are free: we call the tool without paying and read the payment request it sends back. The Verified badge needs paid calls whose answers match the promised output, and nobody can buy a badge.

Endpoint

POST https://overwing.ai/api/x402/execute

CategoryCode and developer
Provider hostoverwing.ai
Networkseip155:8453
Payment schemesexact
Self-reported calls, 30 days1 from 1 payers (the provider's figure, not ours)

Our checks, last 30 days

We never call tools that send, buy, move money or file anything, not even without paying.

Example input (from the provider)

{
  "body": {
    "context": {
      "channel": "email",
      "owns_contact_info": true,
      "recipient": "the refunds desk already in this email thread"
    },
    "input": "Reach me at dana@example.com or 555-0142 to sort out the refund.",
    "rule_set": "outbound-message"
  },
  "bodyType": "json",
  "method": "POST",
  "type": "http"
}

Promised output schema (from the provider)

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "input": {
      "additionalProperties": false,
      "properties": {
        "body": {
          "properties": {
            "context": {
              "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",
              "type": "object"
            },
            "input": {
              "description": "The text to check: a draft message, a model's output, an incoming message, a post",
              "maxLength": 100000,
              "type": "string"
            },
            "metadata": {
              "description": "Opaque data stored with the evaluation (max 8 KB)",
              "type": "object"
            },
            "rule_set": {
              "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",
              "enum": [
                "content-safety",
                "outbound-message"
              ],
              "type": "string"
            }
          },
          "required": [
            "input"
          ],
          "type": "object"
        },
        "bodyType": {
          "enum": [
            "json",
            "form-data",
            "text"
          ],
          "type": "string"
        },
        "method": {
          "enum": [
            "POST"
          ],
          "type": "string"
        },
        "type": {
          "const": "http",
          "type": "string"
        }
      },
      "required": [
        "type",
        "method",
        "bodyType",
        "body"
      ],
      "type": "object"
    },
    "output": {
      "properties": {
        "example": {
          "properties": {
            "aggregate_score": {
              "description": "0 to 1, weighted across rules",
              "type": "number"
            },
            "confidence": {
              "description": "Minimum confidence across rules, 0 to 1",
              "type": "number"
            },
            "id": {
              "type": "string"
            },
            "latency_ms": {
              "type": "integer"
            },
            "recommended_action": {
              "description": "The one field to branch on. block: do not send. redact: remove the flagged content and check again. review: ask a human. allow: proceed",
              "enum": [
                "block",
                "redact",
                "review",
                "allow"
              ],
              "type": "string"
            },
            "results": {
              "items": {
                "properties": {
                  "action": {
                    "description": "What this rule asks for when it fails",
                    "enum": [
                      "block",
                      "redact",
                      "review"
                    ],
                    "type": "string"
                  },
                  "answer": {},
                  "confidence": {
                    "type": "number"
                  },
                  "probability": {
                    "type": "number"
                  },
                  "rule": {
                    "type": "string"
                  },
                  "type": {
                    "enum": [
                      "choice",
                      "score",
                      "noul"
                    ],
                    "type": "string"
                  },
                  "verdict": {
                    "enum": [
                      "pass",
                      "fail",
                      "review"
                    ],
                    "type": "string"
                  }
                },
                "type": "object"
              },
              "type": "array"
            },
            "verdict": {
              "description": "fail: a rule matched. review: a rule was unsure. pass: neither",
              "enum": [
                "pass",
                "fail",
                "review"
              ],
              "type": "string"
            }
          },
          "type": "object"
        },
        "type": {
          "type": "string"
        }
      },
      "required": [
        "type"
      ],
      "type": "object"
    }
  },
  "required": [
    "input"
  ],
  "type": "object"
}

This page as JSON