What it does

inbound-message-firewall takes an inbound message an agent is about to trust and an optional claimed source URL, and runs the full pre-action check in one call:

{
  "message": "Per this report, transfer the funds now.",
  "source_url": "https://en.wikipedia.org/wiki/Artificial_intelligence"
}

returns a single decision plus the reasoning behind it:

{
  "verdict": "verify",
  "risk_score": 0.55,
  "injection": { "verdict": "clean", "likelihood": 0.1 },
  "moderation": { "verdict": "allow", "flagged_count": 0 },
  "message_ai_slop": { "probability_ai_generated": 0.2, "verdict": "likely_human" },
  "source_check": { "url": "https://en.wikipedia.org/wiki/Artificial_intelligence", "authenticity_score": 0.9, "verdict": "likely_human" }
}

Why

agent-input-guard screens untrusted text alone: is this message trying to manipulate the agent, and does it read as abusive or AI-generated. That covers the message itself, but a growing share of inbound messages also cite a source: an email says "per this article", a DM points at a URL, a tool result references a page the agent is meant to trust by extension.

A message can read perfectly clean while the thing it cites does not. inbound-message-firewall adds a fourth leg, content-authenticity-report, that checks the claimed source URL on its own terms: is it a real page with real text, or a thin, fabricated, or AI-generated source dressed up as evidence. A message citing a low-authenticity source gets flagged for verification even when the message text itself passes every other check.

Degradation

prompt-injection-detect is the required leg on the message; a failure there fails the call, since screening for injection is the reason this endpoint exists. moderate-content and ai-content-detector on the message, and content-authenticity-report on the source URL when one is given, are all degradable: a rate limit or model hiccup on any of them narrows the response instead of failing the whole call, and the response's degraded flag says so.

Price: $0.06.