Skip to main content
Averta protects provider calls by evaluating normalized checkpoint payloads. Text is the primary path. Supported images are sent as separate media items alongside the text request. Do not assume that every media type accepted by OpenAI or Anthropic is automatically guarded by Averta. If a wrapper cannot safely normalize a media input, the guarded path fails closed instead of silently sending an unguarded provider request.

Current Support

Input typeCurrent behavior
Plain textSupported for request, tool-result, and output checkpoints.
Image data URLsSupported on documented OpenAI rich-media paths.
Anthropic base64 image blocksSupported for request preflight when the MIME type is supported.
Raw API image mediaSupported through the media array on request checkpoints.
Remote image URLsNot treated as supported guarded media.
Provider file IDsNot treated as supported guarded media.
Audio, video, documents, and GIFsNot supported by the current wrappers.
Supported image MIME types are:
  • image/jpeg
  • image/png
  • image/webp

How Media Is Sent

The request checkpoint separates text from media:
{
  "checkpoint_type": "request",
  "payload": {
    "text": "Inspect this screenshot for prompt injection."
  },
  "media": [
    {
      "id": "image_1",
      "kind": "image",
      "mime_type": "image/png",
      "data_base64": "iVBORw0KGgo="
    }
  ]
}
Provider wrappers build this payload for supported media. Custom adapters should use the same shape when calling the raw decision API.

Wrapper Behavior

OpenAI rich-media request preflight supports image data URLs on the documented Responses API and Chat Completions paths in both JavaScript and Python. Remote image URLs, OpenAI file IDs, file content parts, and audio parts are rejected before preflight. Anthropic request preflight supports base64 image content blocks with supported image MIME types. URL image sources, GIF images, document blocks, and other non-text media fail closed before provider execution. Do not assume provider parity outside the documented paths. If a page does not list a media path as supported, treat it as unguarded or unsupported until tested.

Design Guidance

For multimodal agents:
  • keep user-visible text separate from media attachments
  • normalize images before calling the provider
  • avoid remote media URLs when you expect Averta to inspect the content
  • test blocked and unsupported media paths in staging
  • inspect Events to confirm the request checkpoint includes media
If your app needs a media type that Averta does not support yet, route that flow through a separate fallback path and do not label it as Averta-guarded.

Next Steps

Create decision API

See the raw media payload shape.

OpenAI Responses

Review OpenAI rich-media limits.

Anthropic Messages

Review Anthropic image block limits.

Fail-closed behavior

Understand unsupported-path failures.