Let AI move.Keep policy in control.

Add policy checks to your AI application with one API. Send content, receive a structured allow or block decision, and enforce it before the next action.

  • Check requests
    before execution
  • Receive structured
    decisions
  • Enforce your
    application’s policies
LUMAFENCE / POLICY RUNTIME01 — 07
↗
Incoming requestText · media · tool context
7 checks, coordinated.
✓ Decision returned 200
"allowed": true,
"direction": "input",
"stages": 7
Ready for the next step↗
INSPECT → COORDINATE → DECIDEIllustrative flow
BUILT FOR WHAT
YOUR AI TOUCHES
Aa Text & prompts
▤ Files & images
▂▆▃▇▂ Recorded speech
⌘ Tools & actions

AI moves across your stack.
Your guardrails should, too.

Bring content screening and trusted permission checks to the moments that matter, before a request goes in, a result comes out, or an action runs in your workflow.

Review what goes in. Check what comes out.

Screen prompts, nested text, responses, and supported streams against a consistent policy before they reach your app, users, or tools.

Try a text check ↗

Look beyond the prompt.

Connect file review, image inspection, and speech transcription. Unsupported or incomplete inspection blocks any further processing.

See the review process ↗

Permission before possibility.

Gate registered tools and actions with your application’s permissions. Check attachments before execution and results before their release.

Explore integration ↗

HOW IT WORKS

One check before
the next move.

LumaFence sits between your AI application and its next step. Check a prompt before it reaches the model, or a response before it reaches your users.

  1. YOUR APPLICATION

    Send it for review.

    Send the text you want to check from your backend through the API or an SDK. Identify it as an input or output.

    Prompt or responseLumaFence
  2. LUMAFENCE

    Get a clear decision.

    Seven review stages check the text. A coordinator brings their reports together, and the policy authority returns an allow or block decision.

    ALLOWBLOCK+ stage reports
  3. YOUR APPLICATION

    Control what happens next.

    Your app reads the decision and continues only when allowed is true and its own permissions pass. A block, error, or missing decision stops the operation.

    CheckDecideEnforce

You choose where checks run. Your application enforces the result.

Try a request

Seven perspectives.
One decision.

Specialized checks report to a single review coordinator. A separate policy authority makes the final call. No stage grants itself a shortcut.

↳

Every accepted text evaluation passes through all seven stages. Missing or invalid reports fail closed.

Keep instructions in their lane.

Checks for predefined instruction overrides and attempts to extract hidden prompts.

SELECT A STAGE TO EXPLORE
◎Review coordinator
Validate · consolidate · submit
↓
◇ Policy authorityALLOW / BLOCK

Clear roles. Consistent policy. Traceable reports.

A boundary you can see.

Try a real text evaluation in this local preview. Inspect the result and the seven stages behind it.

01 / YOUR INPUT Runs locally
41 / 2,000

Text-only demo. No uploads, provider calls, or billing. This is pattern-based screening—not a guarantee of detecting every threat.

02 / THE DECISIONREADY
Ready to review↳

Run an evaluation to see the decision and its stage reports.

A small integration.
A meaningful boundary.

One REST API for your stack. Use our JavaScript, TypeScript, and Python SDKs, or connect directly from Go, Java, .NET, and more. Build mobile and game integrations through your own backend.

3 SDK language examples · 16 direct REST examples · 7 backend-proxy patterns. Examples are integration starting points; additional native SDKs are not yet available.

  • Customer API keys and permission checks
  • Traceable allow / block decisions
  • Usage metering and idempotent retries
  • Cloud-ready, with a local development path

Send JSON.
Get a decision.

Integrate on your server. Read the decision explicitly. Keep the final action behind your application’s permissions.

One consistent interface

POST /v1/screen
Evaluate one text input or output.
POST /v1/screen/batch
Evaluate a batch of text items.
POST /v1/inspect
Inspect a supported file, image, or audio asset. Media providers require configuration.
GET /v1/policy
Read the public policy and review structure.
GET /v1/usage
Read the account’s usage and quotas.
GET /v1/openapi.json
Retrieve the machine-readable API contract.

Build for the actual outcome

Authenticate every request

Send Authorization: Bearer <key>. Keep customer API keys in your server environment.

HTTP 200 is not permission

A text check can return HTTP 200 with data.allowed: false. Continue only when the field is the boolean true. Missing fields, malformed responses, timeouts, and errors stop the protected operation.

Retry the same logical check safely

For hosted screening requests, supply a unique Idempotency-Key. Reuse it with the same payload on retries. A new check needs a new key. Respect Retry-After when rate-limited.

Return a useful result

Decisions include allowed, responsibleStage, replacement, and stage reports. The local playground above evaluates real text using the current runtime.

Clear decisions.

Know whether a request can continue, which stage raised a finding, and what the approved response is so your team can review each outcome.

Your permissions.

Your application defines who can do what. LumaFence checks trusted authorization before a protected operation proceeds within your workflow.

Honest boundaries.

Protection applies where you integrate it. Provider coverage, supported formats, and policy limits remain explicit for your team to review.

A clear price.
Room to grow.

Five monthly packages. The same protection in every plan.
$1 per 1,000 text screens.

Starter

$20/month

20,000
text screens included

  • Input and output screening
  • All seven review stages
  • API and SDK access
  • Usage tracking

Builder

$50/month

50,000
text screens included

  • Input and output screening
  • All seven review stages
  • API and SDK access
  • Usage tracking

Growth

$100/month

100,000
text screens included

  • Input and output screening
  • All seven review stages
  • API and SDK access
  • Usage tracking

Scale

$250/month

250,000
text screens included

  • Input and output screening
  • All seven review stages
  • API and SDK access
  • Usage tracking

Business

$500/month

500,000
text screens included

  • Input and output screening
  • All seven review stages
  • API and SDK access
  • Usage tracking

One check. One screen. Checking a prompt uses one screen; checking the response uses another. Both together use two. Completed allow and block decisions count. Invalid requests and failed checks are not charged.

Only pay for the extra screens you use. Overages are $1 per 1,000 screens ($0.001 each), calculated proportionally and billed monthly. Included screens reset each monthly billing period and do not roll over.

Text plans, clearly defined. Prices are in USD, before applicable taxes. Images, PDFs, and audio are not included and require separate pricing and activation. The same protections are included in every plan.

Plan selection is available in this preview. Paid checkout opens after production billing and account onboarding are connected.

More possibility.
Less uncertainty.

Give your AI room to work with clear policy checks in place. Keep your application in control of every request, response, and action.

Your first clear
decision starts here.

The local API is available at http://127.0.0.1:8080/v1. Keep customer keys on your server.

  1. Start the local service: npm run start:hosted:demo
  2. Read your local key from .local/demo.key.json.
  3. Choose an SDK or REST example below. Set LUMAFENCE_API_URL to the base URL above and LUMAFENCE_API_KEY to your local key in your server environment.

Local usage resets when the demo service restarts. No cloud sign-in or real payment is required. Production access is not yet enabled.

Additional text screens cost $1 per 1,000, calculated proportionally. Your allowance resets each monthly billing period without rollover.

This preview does not collect payment or create a subscription. Production billing and account onboarding must be connected before checkout is available.

Explore the integration ↗