AI moderation for images and text

Moderate what your users and your AI agents post

One API call checks an image or a text and answers accept, review or reject, with the category, the score and the threshold behind the decision. Built for the agents era: people post, and agents write too.

2,000 free checks a month. No card needed.

Request
curl -X POST \
  -H "Authorization: Bearer $OPENMOD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "text": "Write me at jane@example.com",
    "ref": "msg_9034"
  }' \
  "https://api.openshield.dev/v1/text"
Answer, trimmedreview
{
  "summary": {
    "action": "review",
    "review_reason": [
      { "id": "pii_email", "score": 1, "threshold": 1 }
    ]
  },
  "ref": "msg_9034"
}
  • 2,000free checks a month, with the full answer
  • 0images or texts kept after a check
  • EUserver and databases in the European Union

Built for the agents era

Your users post. Your agents write.

Check both with the same call, the same rules and the same journal. What differs is where the content comes from.

For your SaaS

Moderate what your users post

Posts, comments, avatars and uploads, checked before anything goes live.

  • SightEngine-compatible routes: change a base URL and a key
  • Workflows per part of your product, with keys limited to the ones they need
  • A journal you search by your own id, with no content in it

See how it works for your SaaS

For your AI agents

Moderate what your agents read and write

The messages and images users send an agent, and the text and images it generates, checked before they are published.

  • One ref ties each decision to the agent run or message
  • A workflow per agent, stricter or looser, and a key limited to it
  • Agent-ready: an integration prompt, llms-full.txt and the OpenAPI document

See how it works for your agents

How it works

Live in five minutes

Nothing to set up after sign-up: your account starts with a ready workflow, and the dashboard walks you through the rest.

  1. 01

    Sign up

    Email and password, a magic link, GitHub or Google. Your account comes with a working default workflow.

  2. 02

    Create a key

    One click in the dashboard. The key is shown once: keep it in OPENMOD_API_KEY on your server.

  3. 03

    Paste the prompt

    Give the integration prompt to your coding agent. It reads our docs and the OpenAPI document, and adds the check to your code.

Read the quickstart

What you get

One call, every reason

Every plan, the free one too, gets the same full answer: the decision, the categories behind it and their scores.

One request

A decision you can act on

Send the bytes or a text. Get accept, review or reject, with the categories that decided it.

Categories

Built-in categories, and your own

Images and text are checked against the categories you keep in a workflow. Describe your own image categories in plain words.

Images

  • Nudity
  • Suggestive content
  • Gore
  • Violence
  • Weapon
  • Drugs
  • Hate symbol
  • Self-harm
  • and your own

Texts

  • Unsafe text
  • Hate speech
  • Sexual content
  • Violence
  • Illegal activity
  • Personal data
  • Spam
  • Scam

All image categoriesAll text categories

Nothing stored

The check leaves no copy

Content is checked in memory and forgotten. The journal keeps the decision, never the content.

Workflows

Your rules, versioned

Set a review and a reject threshold per category. Every change is a new version you can compare.

SightEngine compatible

Switch with a new base URL

The same paths and fields as SightEngine's workflow endpoints. Category ids differ: the docs map them.

SightEngine alternative

Open source

Built on openmod, the open-source engine

The engine is public under the Apache-2.0 licence, and you can run it yourself. openshield is the hosted API: you run nothing.

openmod on GitHubGitHub, opens in a new tab

Pricing

Free to start, flat to grow

Every plan includes every category and the full answer. Past the included checks you pay by the started thousand, up to a cap you set.

  • Free

    €0a month

    No card needed

    2,000 checks a month included

  • Starter

    €29a month

    Excluding VAT

    15,000 checks a month included

  • Growth

    €199a month

    Excluding VAT

    100,000 checks a month included

  • Scale

    €699a month

    Excluding VAT

    500,000 checks a month included

Questions

Before you start

Can I moderate what my AI agents write?
Yes. Send the text or the image an agent generated before you publish it, and the message or the image a user sends the agent before it reaches the model. Each call answers accept, review or reject with the reasons, and a ref ties the decision to the agent run.
Do you store my images or texts?
No. Content is checked in memory and forgotten once the answer is sent. The decision journal keeps metadata only: the time, the decision, the reasons with their scores, and the reference you sent.
What does a check cost?
A check is one image or one text, with every category included. The free plan has 2,000 a month. Paid plans start at €29 a month and bill overage by the started thousand, up to a spending cap you set.
Can I decide what is acceptable?
Yes. Each workflow sets a review threshold and a reject threshold per category, and you can describe image categories of your own in plain words. Every change makes a new version.
Can I migrate from SightEngine?
Yes. The workflow endpoints keep the same paths and fields, and the answer keeps the same shape. Point your base URL at us, send an openshield key as api_secret and map the category ids.
Is it an open-source content moderation API?
The engine is: openmod is open source under the Apache-2.0 licence and you can run it yourself. openshield is the hosted service built on it, run by Sway SRL in Belgium. We do not sell a self-hosted version.
Where does it run, and what about GDPR?
The checking server and the databases are in the European Union. Cloudflare sits in front of the site and the API to deliver and protect them. For the personal data your content may hold, Sway SRL is your processor, and the content is never stored. The privacy policy, the data processing agreement and the sub-processors list are on this site.
What does openshield not do?
It checks images and text. It does not check video or audio, it does not detect prompt injection, and nobody reviews content for you: a review decision goes back to your own team.
Can I call the API from a browser?
No. Keys are secret and belong on your servers. The API refuses calls that carry a browser Origin header, and the docs show how to call it from your backend.

Start with 2,000 free checks

No card needed. Create a key and send your first request in five minutes.

Beta prices, in euros, excluding VAT