Quick Start

"Govern, Secure and Control every AI Action"

Skip to guide content
DEEPINTSHIELD / GETTING STARTED

Quick Start Guide
Team & Business

Connect your models, send your first request, and put guardrails in place. Follow the setup steps, explore each feature, and use the screenshots to find your way.

Team & Business plansStep-by-step walkthroughsPython SDK examples

START HERE

From account to your first protected request.

DeepintShield sits between your applications and AI models, bringing safety rules, cost controls, agent governance, and visibility into one workspace.

A work email

To create and verify your account.

A provider API key

From an AI provider you already use.

About 45 minutes

For the guided setup and feature walkthrough.

Your setup path

  1. Create your accountSign up and verify your work email.
  2. Create a workspaceKeep your apps and environments organized.
  3. Choose Team or BusinessUpgrade from the plan menu in the app.
  4. Connect an AI providerAdd your provider’s API key once.
  5. Create a Virtual API KeyAssign providers, a member or team, and limits.
  6. Send your first requestTry curl, then explore the Python SDK.
  7. Add guardrailsCreate, publish, and attach a safety policy.
  8. Enable cost savingsConfigure caching and model routing.
  9. Govern agents & MCP toolsRegister tools and publish access policies.
  10. Monitor your activityReview logs, configure alerts, and export data.
Before you begin
Screenshots show a demo workspace with existing data. Your pages may be empty until you add providers, keys, and policies. Select any screenshot to enlarge it.
TeamBusiness

These badges identify features included in both plans. Business only marks features that require Business.

SECTION 01

Choose your plan

DeepintShield has a free Developer plan and two paid self-service plans, Team and Business. You can start on Developer and upgrade at any time from inside the app. This is what each plan gives you in plain words.

Choose your plan reference table
Plan detailDeveloper (free)TeamBusiness
Requests included per month10,000250,0001,000,000
If you go overNot billed$19 per extra 100,000 requests$15 per extra 100,000 requests
Logging fee or token markupNoneNoneNone
People (seats) included110 (extra seat $20 per month, prorated)30 (extra seat $20 per month, prorated)
How long logs are kept7 days30 days90 days
Guardrail policies1UnlimitedUnlimited
Virtual API keys3100500
Workspaces11025
MCP servers12550
Model routing rules11025
E-mail supportBest effortReply within 24 hoursReply within 12 hours
Uptime promiseNone99.5%99.9%

1.1 What Team adds on top of Developer

  • Unlimited guardrail policies and the built-in machine-learning detectors (DeBERTa, RoBERTa, BERT) that catch prompt injection, jailbreaks, toxicity and personal data.
  • Partner safety providers: AWS Bedrock Guardrails, Google Model Armor, Azure Content Safety, or your own webhook.
  • Cost savings: semantic cache, cheap-first routing, prompt compression, RAG trimming and summarization. Provider prompt caching, request coalescing and the guardrail cache are on every plan, including Developer.
  • Model routing rules and the Load Balancer (adaptive routing) across provider keys.
  • RAG security: filter the documents your AI reads before they reach the model.
  • Agentic policy core: write and publish access policies for AI agents and MCP tools.
  • Save your work in the Playground: prompts, sessions and versions. Running prompts without saving works on every plan.
  • Alerts to e-mail, Slack or a webhook. Log exports to S3, GCS, BigQuery or Snowflake.
  • 30-day log history, 10 seats, 100 virtual keys.

1.2 What Business adds on top of Team

  • Full agent security: agent registry and identities, tool integrity checks, tool grants, blueprint code scans, enrolment policies, signed AI bill of materials (AIBOM).
  • Human-in-the-loop approvals: risky agent actions wait for a person to approve them.
  • Agentic extras on top of Team's policy core: temporary delegation, the Enforcing/Advisory switch and blueprint protection, and the Advanced relationships editor.
  • Agentic observability: run traces, Langfuse enrichment and LLM-as-judge scores.
  • Agentic cache for repeated safe tool results.
  • Accuracy controls: all three Hallucination Control tabs and all three Consistency tabs (golden answers, request trace).
  • OWASP Agentic Top-10 checks and 7 industry domain packs (banking, healthcare, insurance, enterprise copilot, customer support, development assistant, agentic runtime).
  • Monitoring integrations: OpenTelemetry, Prometheus and Grafana.
  • 90-day log history, 30 seats, 500 virtual keys, 25 workspaces.
Good to know
Single sign-on (SAML/OIDC), SCIM user sync, custom roles and the audit trail are Enterprise features. They are not part of Team or Business. If you need them, click Talk to sales in the plan window.

SECTION 02

Create your account

DeveloperTeamBusiness

2.1 Create your account

  1. Open https://app.deepintshield.com in your browser. You will see the sign-in page.
  2. Click the Create account tab on the right.
  3. Type your first name, last name, organization name and choose your industry.
  4. Type your work e-mail address and create a password. The password needs 8 or more characters, one capital letter, one number and one special character.
  5. Tick the box to confirm you are 18 or older and agree to the Terms and Privacy Policy.
  6. Click Create account.
The sign-in page. Existing users sign in here; new users click Create account.
The sign-in page. Existing users sign in here; new users click Create account.
The Create account form. Fill in every field, tick the box, then click Create account.
The Create account form. Fill in every field, tick the box, then click Create account.

2.2 Verify your e-mail

  1. Open your e-mail inbox and find the message from DeepintShield.
  2. Click the verification link in the e-mail.
  3. You will return to the sign-in page with the message "Email verified". Sign in with your e-mail and password.
Helpful tip
Did not get the e-mail? Wait a minute, check your spam folder, then use Resend verification on the Account Settings → Profile page after signing in.

2.3 Your first look at the app

After you sign in you land on the Analytics → Overview dashboard. The left menu is the same on every page. Here is what each part does.

The left menu, top and bottom halves. Top half.The left menu, top and bottom halves. Bottom half.
The left menu, top and bottom halves.
Create your account reference table
Part of the left menuWhat it is for
Tenant switcher (first box, building icon)Pick which tenant you are working in. A tenant is a top-level environment, such as Dev, Staging or Production.
Workspace switcher (second box, layers icon)Pick a workspace inside the tenant. Keys, providers and policies live inside a workspace.
Find…Search any page or setting by name.
Getting StartedOpens the dashboard and the setup checklist.
AnalyticsDashboards, AI logs, MCP activity, exports, alert channels and monitoring integrations.
Governance HubTenants, workspaces, users, roles and logging settings.
Model HubAI providers, model registry, usage limits, prices, overrides and routing rules.
AI GuardrailsSafety policies, detector models, partner safety providers and findings.
Access & CredentialsMembers, teams, Virtual API Keys and the load balancer.
AgenticEverything about AI agents and MCP tools: work queue, assets, identities, policies and activity.
Cost OptimizationCaches and other cost-saving features.
Hallucination Control, ConsistencyAccuracy controls (Business).
PlaygroundTry prompts against your providers.
Manage Plan / Upgrade PlanShows your current plan badge. Click it to change plan.
Your nameAccount settings. Sign out is at the very bottom.

2.4 The setup checklist

A small Continue setup button sits in the bottom-right corner. It opens a 7-step checklist that follows the same order as sections 3, 5 and 6 of this guide. Each step has a Go to step button that takes you to the right page, and a Mark done link.

The Welcome checklist. Use Go to step to jump to each page.
The Welcome checklist. Use Go to step to jump to each page.

SECTION 03

Set up your workspace

DeveloperTeamBusiness

Think of it like folders: a tenant is the big folder (for example "Production"), and a workspace is a folder inside it (for example "Support bot"). Everything you create later belongs to one workspace. A new account starts with one tenant and no workspace, so create a workspace first.

3.1 Create a tenant

  1. In the left menu open Governance Hub → Tenants.
  2. Click New tenant (top right).
  3. Type a name, for example Production, and an optional description.
  4. Click Create tenant. The new tenant appears in the list and in the tenant switcher.
Governance Hub → Tenants. Your tenants are listed as cards. You are the OWNER of tenants you create.
Governance Hub → Tenants. Your tenants are listed as cards. You are the OWNER of tenants you create.
The New tenant panel. Only the name is required.
The New tenant panel. Only the name is required.

3.2 Create a workspace

  1. Open Governance Hub → Workspaces.
  2. Click New workspace.
  3. Type a name, for example Support bot. The tenant is filled in for you.
  4. Click Create workspace. It becomes your active workspace right away.
Governance Hub → Workspaces. The active workspace is marked ACTIVE.
Governance Hub → Workspaces. The active workspace is marked ACTIVE.
The New workspace panel.
The New workspace panel.
Plan details
Team includes up to 10 workspaces and Business up to 25. Use separate workspaces for separate apps or environments so their keys, policies and logs stay apart.

3.3 Switch tenant or workspace

Use the two boxes at the top of the left menu. Click the first box to pick a tenant; the second box then lists that tenant's workspaces. The pages below change to show that workspace's data.

Tenant switcher opened.
Tenant switcher opened.
Workspace switcher opened.
Workspace switcher opened.

3.4 Invite people to the app

People who need to sign in to the DeepintShield app are added in Governance Hub → User Manager. (End users of your application are different; they are "Members" in section 6.)

  1. Open Governance Hub → User Manager and click Add user.
  2. Type the person's e-mail address.
  3. Choose a role: Admin can change everything in the workspace; Viewer can only look at dashboards, logs and traces.
  4. Click Send invitation. They receive an e-mail with a link to create their password.
User Manager lists everyone who can sign in to your tenant.
User Manager lists everyone who can sign in to your tenant.
Add user: e-mail plus a role.
Add user: e-mail plus a role.
Plan details
Team includes 10 seats and Business 30. Each extra seat is $20 per month and appears on your invoice automatically.

SECTION 04

Upgrade & manage billing

DeveloperTeamBusiness

Only the person who created the organization (the owner) can change the plan. Upgrades happen inside the app and take effect immediately after payment.

4.1 Open the plan window

  1. Look at the bottom of the left menu. On the free plan the button reads Upgrade Plan with a DEVELOPER badge.
  2. Click it. The plan window opens with three cards: Developer, Team and Business.
The Upgrade Plan button in the left menu.
The Upgrade Plan button in the left menu.

4.2 Choose currency and billing period

  1. At the top right of the window pick USD or INR. If you pay with an Indian card choose INR; Indian cards cannot be charged in USD.
  2. Pick Monthly or Annual. Annual saves about 17% (you pay for 10 months).
  3. Read the card for the plan you want. The prices update as you switch.

4.3 Accept the terms and pay

  1. Tick the box I have read and agree to the Terms and Conditions and Privacy Policy. The upgrade buttons turn on only after you tick it.
  2. Click Upgrade to Team or Upgrade to Business.
  3. A secure payment window (Razorpay) opens. Enter your card details and confirm. Do not close the browser tab while it processes.
  4. When payment succeeds the window closes, the badge in the left menu changes to TEAM or BUSINESS, and every feature of the plan is switched on. A signed PDF copy of the agreement is e-mailed to you.
Good to know
Large orders are invoiced instead of charged to a card. Today that means the Business plan billed annually (in USD or INR). For those orders the app shows bank-transfer instructions and e-mails you an invoice; your plan is switched on when the payment is received (usually within 30 days).
Helpful tip
The button is greyed out? Make sure the terms box is ticked and that you are signed in as the organization owner.

4.4 See and manage your billing

Open Account Settings (your name in the left menu) and click the Billing tab. Here you can see your plan, the next billing date, request usage, seats and the projected total. Use Manage payment to change the card and Cancel subscription to stop renewing. A downgrade takes effect at the end of the current billing period, so you keep what you paid for.

Helpful tip
Indian customers: on the Billing tab you can add your company legal name and GSTIN so they print on the invoice.

4.5 Monthly extras: requests over the allowance and extra seats

Your plan price covers a monthly request allowance and a number of seats. Anything above that is billed separately as monthly extras, after the month ends. There is no logging fee and no markup on what you pay your AI providers.

Upgrade & manage billing reference table
Plan detailTeamBusiness
Requests included each month250,0001,000,000
Extra requests$19 per extra 100,000 (rounded up)$15 per extra 100,000 (rounded up)
Extra seats$20 per seat per month, prorated by the days above 10 seats$20 per seat per month, prorated by the days above 30 seats
In India₹1,577 per 100,000 and ₹1,660 per seat, plus 18% GST₹1,245 per 100,000 and ₹1,660 per seat, plus 18% GST
When it is billedA separate Monthly extras invoice after month endA separate Monthly extras invoice after month end
  1. On the Billing tab, the Monthly extras card shows this month's requests against your allowance, your current seat count, the unit prices and an estimate of the extras including tax. The estimate is not a bill; it reads zero until your first paid month has been recorded.
  2. After the month ends the invoice appears in the invoice list. Click Pay on its row to pay through a secure Razorpay link. An invoice for zero is marked paid automatically.
  3. Indian customers can switch on Enable AutoPay instead. You approve a separate UPI mandate with a per-invoice limit (₹15,000 by default, or a lower amount you choose) and each month's extras are collected automatically. The mandate lasts one year. Invoices above your limit still come as a payment link.
  4. Paying an extras invoice never changes your plan. If you cancel, the base plan stops renewing but extras already used remain payable.
Good to know
Annual plans prepay the base price only. Request allowances still reset every month and extra seats are still billed monthly.

4.6 If an invoice is not paid

Using more than your allowance never switches your account off; only an unpaid invoice does, and only after reminders. The Billing tab shows the outstanding amount, the due date and any restriction that is in force.

Upgrade & manage billing reference table
Days after the due dateWhat happens
Day 0Payment is requested. Everything keeps working.
Days 1 and 3Reminder e-mails to the organization owner. Everything keeps working.
Day 7You cannot add seats, send invitations or create new resources until you pay. Existing traffic continues.
Day 14API requests and MCP tool calls are paused until you pay. You can still sign in and pay.
When payment is confirmedRestrictions are lifted at once. Nothing is deleted at any stage.
Important
If unpaid extras reach twice your monthly plan price while an invoice is overdue, requests are paused early. Pay the open invoice from the Billing tab to continue.

SECTION 05

Connect AI providers

DeveloperTeamBusiness

A provider is a company whose models you call, for example OpenAI, Anthropic, Google Gemini or AWS Bedrock. You give DeepintShield the provider's API key once; your applications then use a DeepintShield Virtual API Key instead and never see the real provider key.

5.1 Add a provider key

  1. Open Model Hub → AI Providers.
  2. In the provider grid click the provider you want, for example OpenAI. Providers with a green tick already have a key.
  3. Click Add new key (top right).
  4. Give the key a name, paste the provider API Key, and optionally choose which Models this key may serve. Leave Weight at 1 unless you add several keys and want to split traffic.
  5. Leave Use for Cache on so cached answers can be served for this key.
  6. Click Save. The key appears in the Configured keys table with an Enabled switch.
Model Hub → AI Providers with OpenAI selected and one key configured.
Model Hub → AI Providers with OpenAI selected and one key configured.
The Add new key panel.
The Add new key panel.
Helpful tip
Repeat for each provider you use. You can add several keys for one provider (for example two OpenAI accounts) and the gateway will balance traffic between them.

5.2 Add a custom or self-hosted provider

Running your own model server such as vLLM, Ollama or SGLang? Click CUSTOM at the top of the provider grid, give it a name, choose the Base Format it speaks (usually OpenAI-compatible), enter its Base URL, switch on Is Keyless if it needs no key, and leave the allowed request types on. Then add a key exactly as above if one is needed.

Adding a custom provider.
Adding a custom provider.

5.3 Model Registry

Model Hub → Model Registry lists every model available through your providers, with its price per token and recent usage. Use it to check a model name before you put it in code. Models are called as provider/model, for example openai/gpt-4o-mini; a bare name like gpt-4o-mini also works and is resolved from this registry.

5.4 Usage Controls (rate limits and budgets per model)

TeamBusiness

Set a request limit or spend limit on a specific model so one busy app cannot run up your bill.

  1. Open Model Hub → Usage Controls and click Add Model Limit.
  2. Choose the provider and model, then set requests or tokens per minute/hour/day and, if you like, a monthly budget.
  3. Click Create Limit.
Plan details
Team can limit up to 25 models and Business up to 100.

5.5 Price Adjust and Model Overrides

Price Adjust applies a multiplier to a model's price so the cost shown in your dashboards matches what you actually pay or charge internally: 1.0 leaves it unchanged, 0.8 is a 20% discount, 1.2 is a 20% mark-up. Model Overrides lets you silently replace one model with another (for example send every gpt-4o request to gpt-4o-mini in a test workspace).

5.6 Model Routing rules

TeamBusiness

Routing rules send a request to a different model or provider based on a condition, such as the user, a header or the model name. Open Model Hub → Model Routing, click New Rule, add one or more conditions, pick the Target model and an optional Fallback, then Save Rule.

Model Routing page.
Model Routing page.
New Rule: conditions on the left, target and fallback below.
New Rule: conditions on the left, target and fallback below.

5.7 Load Balancer

TeamBusiness

Access & Credentials → Load Balancer shows how traffic for each Virtual API Key is spread across provider keys and whether each key is healthy. Click the gear icon on a row to change the strategy (weighted random, round robin, least load, or adaptive).

LLM Load Balancer: one row per Virtual API Key.
LLM Load Balancer: one row per Virtual API Key.

SECTION 06

Members, teams & API keys

DeveloperTeamBusiness

A Virtual API Key (VK) is the key your application uses. It is tied to one workspace, to the providers you allow, to a budget and to safety policies. Members are the end users or applications you want to track and limit; Teams group members and share a budget.

6.1 Add a member

  1. Open Access & Credentials → Members and click Add Member.
  2. Type a name (for example billing-app or a person's e-mail).
  3. Optionally set a monthly budget and a rate limit (per hour or per month).
  4. Click Create Member.
Members list.
Members list.

6.2 Create a team

  1. Open Access & Credentials → Teams and click Add Team.
  2. Name the team and add the members you created.
  3. Optionally set a shared team budget. Click Create Team.
Teams list.
Teams list.

6.3 Create your Virtual API Key

  1. Open Access & Credentials → Virtual API Keys and click Add Virtual Key.
  2. Type a Name, for example support-bot-prod.
  3. Under Guardrail Policies pick the safety policies this key must follow (you can come back after section 8).
  4. Leave Automatic Cache and Semantic Cache on to save money on repeated questions.
  5. Under Key Rotation keep the default (a new key value every 90 days with a 7-day grace period) or choose Manual only.
  6. Scroll down: add the providers this key may use (and optional fallback order), any MCP clients, a budget and rate limit, and assign the key to a member or team.
  7. Click Create. Copy the key that starts with sk-ds- and store it safely. It is shown once.
Virtual API Keys: each key shows its workspace, assignment and policies.
Virtual API Keys: each key shows its workspace, assignment and policies.
Create Virtual Key: the top half of the panel.
Create Virtual Key: the top half of the panel.
Plan details
Team allows 100 virtual keys and Business 500. Create one key per application or environment, never share one key across apps.

6.4 Send your first request

Use your new key exactly like a provider key, but point your client at DeepintShield. Here is a request from the command line:

BASH
curl https://app.deepintshield.com/v1/chat/completions \
  -H "Authorization: Bearer sk-ds-your-virtual-key" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "openai/gpt-4o-mini",
    "messages": [{"role": "user", "content": "Say hello in one sentence."}]
  }'

You get a normal OpenAI-style JSON answer. The request also appears in Analytics → AI Logs within a few seconds, with its latency, tokens, cost, cache result and guardrail decision.

Helpful tip
Already using the OpenAI or Anthropic SDK? Set the base URL to https://app.deepintshield.com/openai (or /anthropic) and use your sk-ds- key. Keep the API method supported by your model: GPT-4o supports Chat Completions; use Responses for GPT-6 Astra with function or MCP tools. Section 7 shows both.

SECTION 07

Use the Python SDK

These examples target Python SDK 2.8.3, aligned with DeepintShield Server 2.8.3. To install this exact SDK release, run pip install "deepintshield==2.8.3".

DeveloperTeamBusiness

The deepintshield Python package is the easiest way to route your code through the gateway and to call guardrails, RAG security, MCP tools and agent governance directly. It works with Python 3.10 or newer. All examples below use your Virtual API Key from section 6.

7.1 Install

BASH
pip install deepintshield

# add only the integrations you use, for example:
pip install "deepintshield[openai]"
pip install "deepintshield[openai,anthropic,langgraph,mcp]"

7.2 Tell the SDK about your key

Set one environment variable. The SDK reads it automatically and talks to app.deepintshield.com by default.

BASH
export DEEPINTSHIELD_VIRTUAL_KEY="sk-ds-your-virtual-key"
# optional, only for a self-hosted gateway:
# export DEEPINTSHIELD_BASE_URL="https://gateway.your-company.com"

7.3 Your first guarded chat call

PYTHON
from deepintshield import DeepintShield

with DeepintShield.from_env() as shield:
    with shield.openai() as client:              # native OpenAI client, routed through DeepintShield
        response = client.chat.completions.create(
            model="openai/gpt-4o-mini",
            messages=[{"role": "user", "content": "Hello"}],
        )
        print(response.choices[0].message.content)

The gateway applies your configured guardrails, budgets, logging and eligible caching to this call. For models that need Responses, use client.responses.create(...); changing the model name does not change the API method. Section 7.5 shows GPT-6 Astra.

Use the OpenAI client as the primary inference client across all 29 gateway providers. Change the provider/model request argument, for example anthropic/claude-sonnet-4-5, while keeping the same virtual key and base URL. Provider keys and cloud configuration stay on the gateway. Use the operation the model supports: text, embeddings, images, audio, or video. Model inventory and account access determine availability.

Source builds containing the 9 September integration update also expose shield.async_openai() and shield.openai_config(). Native frameworks keep orchestration: LangChain/LangGraph keep graphs, LlamaIndex keeps retrieval and indexing, and existing Agentic identity and tool policies still apply. Install and test only the framework extras used by your application; current optional dependencies may require separate environments.

7.4 The unified chat helper

For a model that supports Chat Completions, use shield.chat(...). This helper sends Chat Completions requests; it does not switch to Responses based on the model name. Streaming is one extra argument.

PYTHON
from deepintshield import DeepintShield

shield = DeepintShield.from_env()

# one-shot answer as a dictionary
answer = shield.chat(
    model="openai/gpt-4o-mini",
    messages=[{"role": "user", "content": "Give me three tips for writing clear e-mails."}],
    temperature=0.2,
)
print(answer["choices"][0]["message"]["content"])

# streaming: print each chunk as it arrives
with shield.chat(model="openai/gpt-4o-mini",
                 messages=[{"role": "user", "content": "Explain caching in two lines."}],
                 stream=True) as stream:
    for chunk in stream:
        print(chunk)

7.5 Keep your existing OpenAI code

You can use the native OpenAI SDK directly. Point it at DeepintShield and use your sk-ds- key. Provider-qualified model names select any supported gateway provider:

PYTHON
import openai

client = openai.OpenAI(
    base_url="https://app.deepintshield.com/openai",     # was https://api.openai.com/v1
    api_key="sk-ds-your-virtual-key",              # was your OpenAI key
)
print(client.chat.completions.create(
    model="gpt-4o-mini",
    messages=[{"role": "user", "content": "Hello"}],
).choices[0].message.content)

For GPT-6 Astra, use the native Responses API. Astra requires Responses when function tools are present and does not support reasoning_effort="none". A virtual key's MCP bindings can add tools even when your Python call has no tools argument. The same responses.create method works on the client returned by shield.openai().

PYTHON
import os
from openai import OpenAI

client = OpenAI(
    base_url="https://app.deepintshield.com/openai",  # local: http://localhost:8080/openai
    api_key=os.environ["DEEPINTSHIELD_VIRTUAL_KEY"],
)
response = client.responses.create(
    model="gpt-6-astra",
    input="Hello",
    reasoning={"effort": "medium"},
    max_output_tokens=2048,
)
print(response.output_text)

Responses uses input instead of messages, max_output_tokens instead of max_completion_tokens, and reasoning={"effort": "medium"} instead of reasoning_effort. Read response.output_text instead of response.choices[0].message.content. Keep function results and returned reasoning items in the Responses continuation when implementing a tool loop.

Good to know
To explicitly exclude gateway MCP tools for one request, add extra_headers={"x-deepintshield-mcp-include-clients": ""} to the SDK call. This narrows the key's tool access for that request; it does not remove tools supplied directly in your code. Omit the header when you want the key's configured MCP tools.
PYTHON
import anthropic

client = anthropic.Anthropic(
    base_url="https://app.deepintshield.com/anthropic",
    api_key="sk-ds-your-virtual-key",
)
message = client.messages.create(
    model="claude-sonnet-4-5",
    max_tokens=200,
    messages=[{"role": "user", "content": "Hello"}],
)
print(message.content[0].text)

The Anthropic example is an optional provider-native path for features needing Anthropic's protocol. The same role applies to shield.bedrock() and shield.genai(). Keep OpenAI as the primary common inference client, and validate optional native features after that path. Framework binders retain native orchestration and do not remove enrollment or tool-approval requirements.

7.6 Check a prompt against your guardrails yourself

Sometimes you want the safety verdict without sending the prompt to a model, for example before saving user text. Ask the guardrails directly:

PYTHON
result = shield.evaluate_guardrail(
    stage="input",                       # input | output | action | mcp | rag
    input="Please summarize this support ticket",
    model="gpt-4o-mini",
    provider="openai",
    metadata={"ticket_id": "T-100"},
)
print(result.decision, result.reason, result.mode)
if result.blocked:
    print("This text is not allowed by policy")

# the same idea for agents: check what goes in, what a tool is about to do, what comes out
shield.agent.check_input("user message")
shield.agent.evaluate_tool(name="ledger_read", args={"account": "A-7"}, action_class="read")
shield.agent.check_output("assistant response")

Blocked calls show up in AI Guardrails → Findings (section 8).

7.7 Protect what your AI reads (RAG security)

TeamBusiness

If your app looks up documents and puts them in the prompt (RAG), send the retrieved pieces to DeepintShield first. Only the pieces your policy allows come back.

PYTHON
from deepintshield import build_chunk

chunk = build_chunk(
    content="Refunds take five business days.",
    chunk_id="chunk-17",
    document_id="refund-policy",
    source_id="support-kb",
    trust_score=95,
    acl_tags=["support"],
)

allowed, raw = shield.rag.filter(
    query="How long do refunds take?",
    chunks=[chunk],
    source_id="support-kb",
    requester="alice@example.com",
    requester_role="support",
)
# use only `allowed` when you build the prompt

# LangChain / LlamaIndex users: wrap the retriever once and forget about it
retriever = shield.rag.guard_retriever(vectorstore.as_retriever(), source_id="support-kb")
documents = retriever.invoke("How long do refunds take?")

7.8 Call MCP tools through the gateway

TeamBusiness

Register your MCP servers in Agentic → MCP Registry (section 10). Your code then opens one governed session and every tool call is checked and logged.

Use the exact gateway-qualified tool name returned by discovery and arguments that match its input schema. An empty tool list is valid: the session currently exposes no tools. Check the DeepWiki connection in MCP Registry, then select it and its tools under Virtual Keys → MCP Configurations → Allowed Tools for the key used by this script. This example checks every discovery page before calling DeepWiki. A listed tool still needs authorization when called.

SDK 2.8.3 reports valid remote tool-call rejections as mcp_execution_failed and discovery failures as mcp_discovery_failed; malformed responses remain mcp_protocol_error. Canonical policy and approval codes remain unchanged.

PYTHON
import asyncio

from deepintshield import DeepintShield, DeepintShieldError
from mcp.types import TextContent

shield = DeepintShield.from_env()


async def main() -> None:
    try:
        # The yielded object is an initialized official mcp.ClientSession.
        async with shield.mcp.connect() as session:
            listing = await session.list_tools()
            tool_names = {tool.name for tool in listing.tools}
            while listing.nextCursor:
                listing = await session.list_tools(cursor=listing.nextCursor)
                tool_names.update(tool.name for tool in listing.tools)
            print(sorted(tool_names))

            tool_name = "DeepWiki-ask_question"
            if tool_name not in tool_names:
                print("DeepWiki is unavailable for this virtual key. Check its MCP configuration and allowed tools.")
                return

            result = await session.call_tool(
                tool_name,
                arguments={
                    "repoName": "facebook/react",
                    "question": "What is Suspense?",
                },
            )
            # connect() translates any failed tool result into a coded
            # DeepintShieldError before call_tool() returns.
            for part in result.content:
                if isinstance(part, TextContent):
                    print(part.text)
    except DeepintShieldError as exc:
        if exc.code == "mcp_tool_approval_required":
            print("The MCP action is waiting for approval.")
        elif exc.code == "mcp_tool_authorization_denied":
            print("The MCP action was denied by policy.")
        elif exc.code == "mcp_tool_authorization_unavailable":
            print("MCP authorization is temporarily unavailable.")
        else:
            print(f"DeepIntShield error [{exc.code}]: {exc.description}")


asyncio.run(main())

7.9 Govern an AI agent (LangGraph example)

TeamBusiness

Give the agent a name and create the client before you build your graph. The SDK then registers the agent, sends each tool call to the policy engine and stops on a deny. Your LangGraph code stays ordinary LangGraph code.

PYTHON
import operator, os
from typing import Annotated, TypedDict
from langgraph.graph import END, START, StateGraph
from deepintshield import DeepintShield

shield = DeepintShield(
    virtual_key=os.environ["DEEPINTSHIELD_VIRTUAL_KEY"],
    agent_name="refund-agent",           # or set DEEPINTSHIELD_AGENT_NAME
)

class State(TypedDict):
    account_id: str
    events: Annotated[list[str], operator.add]

def read_account(state: State) -> dict:
    return {"events": [f"read {state['account_id']}"]}

def notify_owner(state: State) -> dict:
    return {"events": [f"notified owner of {state['account_id']}"]}

builder = StateGraph(State)
builder.add_node("read_step", read_account)
builder.add_node("notify_step", notify_owner)
builder.add_edge(START, "read_step")
builder.add_edge("read_step", "notify_step")
builder.add_edge("notify_step", END)
app = builder.compile()

print(app.invoke({"account_id": "acct-42", "events": []}))

The first run of a new agent stops with the code agent_registration_pending. That is expected: open Agentic → Work Queue, review and approve the agent (section 11), then run again. Other frameworks work the same way: LlamaIndex, AutoGen, PydanticAI, OpenAI Agents SDK, AWS Strands, Google ADK and Temporal. LiteLLM completion calls use the provider gateway path; Agentic checks apply to actual tool execution.

Plan details
On the Team plan the SDK enforces the policies you publish in Agentic → Policy & Access. Agent identities, tool grants, integrity checks and human approvals need the Business plan.

7.10 One-line framework binders

PYTHON
chat_model   = shield.bind("langgraph").model("gpt-4o-mini")
embedder     = shield.bind("langgraph").embedder("text-embedding-3-small")
llama_llm    = shield.bind("llamaindex").llm("gpt-4o-mini")
pydantic_llm = shield.bind("pydanticai").model("gpt-4o-mini")

7.11 Handling errors

Every DeepintShield-owned failure raises DeepintShieldError with a short code. The codes you will meet most often:

Use the Python SDK reference table
CodeMeaningWhat to do
guardrail_blockedThe prompt or answer broke a policy.Show a friendly message to the user; review the finding in AI Guardrails → Findings.
agent_registration_pendingA new agent is waiting for review.Approve it in Agentic → Work Queue, then retry.
mcp_tool_approval_requiredA tool action needs a human approval.Approve or deny in Agentic → Policy & Access → Action approvals.
mcp_tool_authorization_deniedPolicy says no.Do not retry; change the policy or grant if it should be allowed.
HTTP 401The key is wrong or inactive.Check the sk-ds- key and that it is active in Virtual API Keys.
HTTP 402The feature is not in your plan.Upgrade in the plan window (section 4).
HTTP 429Rate limit or budget reached.Raise the limit on the key, member or team.

SECTION 08

AI Guardrails

TeamBusiness

Guardrails are the safety rules that check every prompt going in and every answer coming out. A policy is a named set of checks with an enforcement mode. You attach policies to Virtual API Keys, so different apps can have different rules.

8.1 The Policies page

Open AI Guardrails → Policies. The top cards count your policies, enabled policies and findings. Below, the Policy Workspace has four tabs: Policy Catalog (your saved policies), Policy Editor (create or edit), MCP Security and RAG Security.

AI Guardrails → Policies with the Policy Editor tab open.
AI Guardrails → Policies with the Policy Editor tab open.

8.2 Create a policy

  1. Click New Policy (green button, top right).
  2. Type a Policy Name. Leave Domain Pack empty for now (domain packs are a Business feature, see 8.3).
  3. Under Applicable Scopes keep Input and Output ticked. Add Action, MCP or RAG if the key also serves agents, tools or document retrieval.
  4. Choose the Enforcement Mode: Block stops the request; Redact removes the sensitive part and lets the rest through. Start with Block for input and Redact for output if you handle personal data.
  5. Keep Execution Mode = Sync (the check finishes before the request continues). Async checks in the background without delaying the request, and Shadow only records what would have happened, which is the safest way to try a new policy. Keep Sampling Rate = 100 and Timeout = 150 ms.
  6. Under In-tree ML Detector pick a model: DeBERTa (most accurate), RoBERTa (balanced) or BERT (fastest).
  7. Under All Checks click Add on every check you want, for example LLM01 Prompt Injection and LLM02 Sensitive Information Disclosure. They move to Selected Checks. Use the filter chips: OWASP 2025, OWASP Agentic 2026, Domain, Custom.
  8. Scroll to the bottom and click Create Policy. Then click Publish so the policy becomes live. Every later change creates a new version; use Rollback to return to an older one.
  9. Open Access & Credentials → Virtual API Keys, edit your key and add the policy under Guardrail Policies.
New Policy: name, domain pack, scopes, enforcement and execution settings.
New Policy: name, domain pack, scopes, enforcement and execution settings.
Further down: pick the detector model and add checks from the catalog on the right.
Further down: pick the detector model and add checks from the catalog on the right.
The bottom of the editor: Create Policy, then Publish. Versions are listed underneath.
The bottom of the editor: Create Policy, then Publish. Versions are listed underneath.
Helpful tip
Tick Apply to all workspaces on a policy you want everywhere in the tenant, for example a company-wide personal-data rule.

8.3 Domain packs and OWASP Agentic checks

Business only

On the Business plan the Domain Pack drop-down offers ready-made check sets for banking (BFSI), healthcare, insurance claims, enterprise copilot, customer support, development assistant and agentic runtime protection. The OWASP Agentic 2026 filter adds checks for agent-specific threats such as goal hijack, tool misuse and excessive agency. Pick a pack, review the checks it added, and publish.

8.4 Policy Catalog

The Policy Catalog tab lists every policy with its scope, stages, mode, pack and version. Click a row to see its summary and use Open Editor to change it.

Policy Catalog with two published policies.
Policy Catalog with two published policies.

8.5 AI Models (detectors and fine-tuning)

TeamBusiness

AI Guardrails → AI Models shows the detector models that run inside DeepintShield (no provider call, no token cost) and lets you fine-tune them. On the Detectors tab tick the detectors you want active (prompt injection, jailbreak, toxicity, hate speech, content moderation, PII and extended PII) and click Save selection. The Fine-tune (LoRA) tab lets you upload a CSV of examples to teach a detector your own patterns and phrases.

AI Models: the built-in detectors.
AI Models: the built-in detectors.
Fine-tune (LoRA) tab.
Fine-tune (LoRA) tab.

8.6 Safety Providers (Bedrock, Model Armor, Azure, webhook)

TeamBusiness

If you already use a cloud safety service you can plug it in as an extra check.

  1. Open AI Guardrails → Safety Providers and click New Provider.
  2. Choose the type: AWS Bedrock Guardrails, GCP Model Armor, Azure Content Safety, DeepintShield Models or a Customer-Owned webhook.
  3. Fill in the credentials the form asks for, then click Test. A green result means the connection works.
  4. Click Save. Then bind the provider to a policy in the Policy Editor.
Safety Providers page.
Safety Providers page.
New Provider panel with the Test button.
New Provider panel with the Test button.

8.7 Findings

AI Guardrails → Findings is the list of everything a policy caught: the stage, severity, outcome and the check that fired. Use the filters at the top to narrow it down. Three tabs separate Policy Findings, AI Model Findings (detector hits) and RAG Findings.

Findings with stage, severity and outcome filters.
Findings with stage, severity and outcome filters.

8.8 Guardrail Metrics

Analytics → Guardrail Metrics turns the findings into charts: how many requests were checked, blocked or redacted, how long checks took, and separate tabs for Runtime Signals, Agentic & Tools, RAG, Safety Providers, AI Models and Multimodal.

Guardrail Metrics overview.
Guardrail Metrics overview.

8.9 MCP Security

TeamBusiness

The MCP Security tab of the Policies page applies guardrails to tool calls made through MCP servers: each tool call and each tool result is classified before it reaches the agent. Your policies already run the shared checks here. To add MCP-specific limits, pick the policy, click Add Rule to restrict a server, tool, identity or destination domain, then click Save Rules. Recent MCP traces and findings are listed underneath.

MCP Security tab.
MCP Security tab.

8.10 RAG Security

TeamBusiness

The RAG Security tab protects the documents your AI retrieves. First register each document source with Register RAG Source (name, connector, index name, sensitivity, trust level, ACL tags) and click Create Source. The Source Inventory then shows each source's trust level, health and chunk count, with Quarantine and Release buttons. Every retrieved chunk gets a trust score and an injection score, and the policy decides to allow, warn, redact, quarantine or block it. Use the SDK call from section 7.7 to send chunks for checking.

RAG Security tab.
RAG Security tab.

SECTION 09

Cost Optimization

TeamBusiness

Open Cost Optimization in the left menu. Every tab is a switch you can turn on for all or some Virtual API Keys. Each switch shows the plan it needs: provider prompt caching, request coalescing, the guardrail cache and parallel tools work on every plan, while semantic caching, cascade routing, compression, RAG optimization and summarization need Team. Click Save changes after you change anything. Only the fields you changed are sent; the gateway checks the values and keeps your other settings as they were, and if it cannot apply a change it puts the previous settings back.

9.1 Caches

  1. Provider Prompt Caching: the SDK adds supported cache hints and the gateway applies your workspace policy. Repeated eligible prefixes can cost less; the selected model's cache read and write rates determine the savings.
  2. Semantic Caching: turn it on to answer repeated or very similar questions from memory instead of calling the model. Choose the embedding provider and model, and keep the Similarity Threshold at the default 0.88 (higher means "only very close matches"). This switch controls semantic caching only; the other tabs keep their own settings.
  3. Under Apply to virtual keys leave All virtual keys or pick specific ones.
  4. Click Save changes.

9.2 Intelligent Routing

Two switches live here. Request Coalescing (recommended, keep it on) merges identical requests that arrive at the same moment into one provider call. Intelligent Cascade Routing sends easy requests to a cheaper model first and escalates only when needed: turn it on, click + Add tier at least twice (a cheap tier such as gpt-4o-mini and a premium fallback such as gpt-4o), pick the classifier virtual key, then Save changes. The cascade only reroutes traffic for keys inside its Apply to virtual keys scope. Batch Eligibility Analysis reports which requests could use a provider batch endpoint; it does not send batches.

Intelligent Routing tab.
Intelligent Routing tab.

9.3 Prompt Optimization

Compresses long prompts before they reach the model, using a small model that keeps the meaning. Good for chat history and long documents.

Prompt Optimization tab.
Prompt Optimization tab.

9.4 RAG Optimization

Re-ranks the retrieved documents and keeps only the most relevant ones, so fewer tokens go to the model. Max chunks is a hard limit on what is forwarded, even when the reranker is unavailable, and retrieval context placed in the system message is detected too.

RAG Optimization tab.
RAG Optimization tab.

9.5 Summarization and Parallel Tools

Summarization shortens long conversations automatically. Parallel Tools lets the gateway run independent tool calls at the same time to cut latency.

Summarization tab.
Summarization tab.
Parallel Tools tab.
Parallel Tools tab.

9.6 See how much you save

On Analytics → Overview, the Summary, Cache and Cost Opt tabs use the selected time window and filters. Cost shows the available cost total, and Estimated Gateway Savings shows the estimated savings from caching and optimization. Cost cards and graph totals stay numeric; a cost with no recorded amount displays as $0.00.

Savings Rate is estimated gateway savings divided by cost plus estimated gateway savings, multiplied by 100. For example, $3 of cost and $1 of savings gives 25%. The rate displays 0.0% when that baseline is zero or negative. Savings can be negative when cache writes or optimization calls cost more than the estimated amount avoided.

Estimated Agentic-Cache Savings is shown separately from gateway savings. Use it to review the Agentic cache's own events; do not add the two as one request total. It is hidden when the selected request filters cannot be applied to that series.

SECTION 10

MCP & agent policies

TeamBusiness

AI agents call tools (search, databases, e-mail, MCP servers). DeepintShield decides for every tool call whether it may run. The Agentic section of the left menu is the control room. On the Team plan you can register MCP servers, write and publish access policies, check and grant access, and see every decision. The Business extras are in section 11.

10.1 Register an MCP server

  1. Open Agentic → MCP Registry and click New MCP Server.
  2. Type a name, the server URL and pick the transport (usually HTTP (Streamable)). Add authentication if the server needs it.
  3. Click Create. The gateway connects, lists the server's tools and shows them in the table.
  4. Add the MCP client to a Virtual API Key (section 6) so your app can use it through the gateway.
MCP Registry with one connected server.
MCP Registry with one connected server.
New MCP Server panel.
New MCP Server panel.
Plan details
The MCP server limit counts every workspace in your organization together: Developer 1, Team 25, Business 50. Searching or paging the table does not change it, and a server that finishes OAuth sign-in is only admitted if there is still room.

10.2 Check and grant access (Guided access)

Open Agentic → Policy & Access. The Guided access tab answers one question: "Can this agent, acting for this user, use this tool?" Pick the agent, the user (or "Agent directly"), the resource and the tool, then click Check access. If the answer is no and it should be yes, click Grant access and choose how long the grant lasts. The Temporary delegation section (create, renew, revoke) is a Business extra; on Team it shows the plan it needs.

Policy & Access → Guided access.
Policy & Access → Guided access.

10.3 Runtime policy

The Runtime policy tab holds the big switches. Enforcing blocks anything the policy denies; Advisory only records what would have been blocked (use it briefly when you migrate). Blueprint protection scans an agent's code the first time it appears and again when it changes. Click Save after a change. On Team you can read every setting and edit the external context policy (OPA or Cedar); the Enforcing/Advisory switch and Blueprint protection are Business extras and are labelled with the plan they need.

Runtime policy: Enforcing switch and blueprint protection.
Runtime policy: Enforcing switch and blueprint protection.

10.4 Activity

Agentic → Activity shows every Run (one workflow execution), every Decision (allow, deny, approval required, with the reason) and Trends over time. This is the first place to look when an agent stops working: the reason code tells you exactly which check failed. The Audit tab lists every relationship change: who granted what to whom, and when.

Activity → Runs.
Activity → Runs.
Activity → Decisions with verdicts and reasons.
Activity → Decisions with verdicts and reasons.
Activity → Trends.
Activity → Trends.

10.5 Agentic and MCP analytics

Analytics → Agentic and Analytics → MCP chart decisions, governed tools and MCP tool calls. Analytics → MCP Activity is the raw log of each MCP call.

Analytics → Agentic.
Analytics → Agentic.

SECTION 11

Advanced agent security

Business only

With Business the Agentic section becomes a full security platform for agents. Below is every page and what to do on it the first time.

11.1 Work Queue: your daily inbox

Agentic → Work Queue collects everything that needs a human: new agent registrations, action approvals, code reviews of changed agents, drift events and run incidents. Work through it from the top: click Review on a row, read the details, then approve or deny. The OWASP Agentic coverage badge shows how many of the 10 threat categories your policies cover.

Work Queue with registrations, approvals, code reviews and drift.
Work Queue with registrations, approvals, code reviews and drift.

11.2 Assets: agents, tools, actions and discovery

  1. Open Agentic → Assets. The Agents tab lists every agent that has been seen or registered, with its status.
  2. To add an agent before its first run, click Create agent. Type the short name (the same value you set as agent_name in code), a display name, the framework and model, an optional version and owner, then click Register agent. Otherwise the agent registers itself on first run and waits in the Work Queue. Registering grants nothing by itself; access comes from policies and grants.
  3. The Tools and Actions tabs list what agents may call. Each tool carries a sensitivity level and an integrity posture (flag, approval or block when its behaviour drifts from its declared contract).
  4. The Discovery tab shows agent networks found automatically from live traffic; unregistered agents appear as shadow entries.
  5. Click Export AIBOM to download a signed inventory of every tool and action (CycloneDX format) for your auditors.
Assets → Agents.
Assets → Agents.
Create agent panel.
Create agent panel.
Assets → Tools.
Assets → Tools.
Assets → Discovery.
Assets → Discovery.

11.3 Tool grants and tool integrity

When an agent asks for a tool it is not yet allowed to use, the decision appears in the Work Queue. Approve it Once, for the Session, or Always, or Deny. A grant is bound to the tool's behaviour fingerprint, so if the tool starts doing something different the grant no longer applies and the Tool Integrity Engine flags, pauses or blocks it according to the tool's posture.

For an individual action approval, the pending call has not executed. After approval, resume the same tool call with the same arguments; changing arguments requires a new approval. A denial remains blocked. Check Activity → Runs for the execution status and linked decision.

11.4 Identities and identity providers

Agentic → Identities is the directory of users, groups, roles, permissions and service accounts your policies refer to. Use Add user or Import from Entra to fill it. The Identity providers button lets you connect Microsoft Entra Agent ID (or another OIDC or SPIFFE issuer) so each agent proves who it is with a signed token. Click Test to verify, then Save.

Identities → Users.
Identities → Users.
Identity providers: connecting Microsoft Entra Agent ID.
Identity providers: connecting Microsoft Entra Agent ID.

11.5 Enrolment policies

Agentic → Enrolment decides what happens when an unknown agent shows up. Click New policy, pick the identity provider and the agents it applies to, choose the risk level and what is auto-approved, then Save policy. Agents that arrive with a verified identity and match a policy are enrolled automatically; the rest wait in the Work Queue.

Enrolment policies page.
Enrolment policies page.
New enrolment policy panel.
New enrolment policy panel.

11.6 Blueprint scans (code review of agents)

Before a new or changed agent may run, the SDK sends a redacted copy of its code and DeepintShield scans it for risky patterns. Open Agentic → Blueprint scans (or the Code review rows in the Work Queue) to see the findings and approve or reject. A redeploy that adds no new finding is admitted automatically.

Blueprint reviews with recent scans and findings.
Blueprint reviews with recent scans and findings.

11.7 Human approvals for risky actions

Write-like actions (for example "send e-mail" or "update record") can be set to require a person. The agent pauses, the item appears under Policy & Access → Action approvals and in the Work Queue, and a reviewer clicks Approve or Deny. The SDK receives the code mcp_tool_approval_required while it waits. Approvals need Business on the Action approvals page and in the embedded tab under Policy & Access alike.

Action approvals: pending, approved and denied.
Action approvals: pending, approved and denied.

11.8 Advanced relationships

Policy & Access → Advanced relationships opens the relationship model behind the decisions (who can do what to which object). Most teams never need to edit it. If you do, the Model tab has the editor with Validate and Publish model, Tuples holds the facts, Assertions are your tests and Changes is the history.

Advanced relationships editor.
Advanced relationships editor.

11.9 Agentic observability

Every run in Agentic → Activity → Runs opens into a timeline of steps, tool calls and scores. Business adds Langfuse enrichment (model, tokens, cost per step), a platform tool-integrity score and sampled LLM-as-judge scores for intent and quality. Traces can also be exported to OpenTelemetry back-ends (section 13).

11.10 Agentic Cache

Analytics → Overview → Cache and the Agentic cache pages show a second cache that stores safe tool results after a decision, so repeated agent steps do not call the tool again. It is on by default; the Settings page lets you change TTL, threshold and what must never be cached.

Agentic cache settings.
Agentic cache settings.

SECTION 12

Accuracy & consistency

Business only
Plan details
All three Hallucination Control tabs and all three Consistency tabs are Business features. Team's semantic cache does not include them. If you move down from Business later you can still switch the controls off and clear your ground truth.

12.1 Hallucination Control

Two parts: Control changes the request before it reaches the model (a grounding system prompt and a lower temperature) so the model invents less; Configuration scores the answers afterwards on faithfulness, relevance, coherence, helpfulness and citation precision.

  1. Open Hallucination Control → Configuration. Switch on Hallucination evaluation and tick the detectors you want: Faithfulness, Answer relevance, Coherence, Helpfulness and Citation precision. Helpfulness uses a small judge model through one of your virtual keys, so pick the key and a cheap model (gpt-4o-mini works well). Streaming answers are scored once the stream completes. If you untick every detector, nothing is scored.
  2. Under Performance set the Sample rate (10% is recommended so only a share of answers is scored), pick the virtual keys it applies to and click Save.
  3. Open Hallucination Control → Control. Switch on the techniques you want: Stay grounded, Don't make things up, Require sources, Hedge when unsure and Reduce randomness (caps the temperature at 0.4 by default). Choose the Strictness, pick the keys and click Save.
  4. Optional: open Ground Truth, click Download template CSV, fill it with questions and correct answers, then Upload filled CSV and Save ground truth. Scores are then measured against your own answers. The template has an optional vk_id column; leave it blank to use the Apply records to dropdown. An upload replaces only the keys named in that file, and Clear all references empties the corpus.
  5. Watch the results on Analytics → Overview → Hallucination.
Hallucination Control → Configuration.
Hallucination Control → Configuration.
Hallucination Control → Control.
Hallucination Control → Control.
Hallucination Control → Ground Truth.
Hallucination Control → Ground Truth.
Dashboard → Hallucination tab.
Dashboard → Hallucination tab.

12.2 Consistency

Consistency makes sure the same question gets the same approved answer every time.

  1. Open Consistency → Policy & Modes and pick a mode: Off, Exact-Match, Semantic, Semantic + Pinned or Strict Deterministic. Start with Semantic. Strict Deterministic also sends temperature 0, seed 42 and top-p 1 whenever it has to call the model.
  2. Set the Semantic match threshold (default 0.93), the Scope (tenant, application, route or per-user) and how long answers stay fresh (default 72 hours). Save.
  3. Open Consistency → Golden Registry to upload approved answers (CSV). These are served word for word when a matching question arrives. Each upload is a new version; if two people save at the same time the second save is refused, so reload and try again.
  4. Use Consistency → Request Trace to see, for any request, whether the answer came from an exact match, the semantic cache, a pinned answer or the model. It also says why a request was not eligible: Consistency reuses answers for ordinary (non-streaming) chat requests only; streaming, Responses API and tool calls always go to the model.
Consistency → Policy & Modes.
Consistency → Policy & Modes.
Consistency → Golden Registry.
Consistency → Golden Registry.
Consistency → Request Trace.
Consistency → Request Trace.

SECTION 13

Monitoring, logs & alerts

13.1 Dashboards

DeveloperTeamBusiness

Analytics → Overview has tabs for Summary, Cache, Cost Opt, Hallucination, Consistency, Teams, Providers, Models, MCP and Load Balancer. Use Filters and the time picker (top right) to focus on one key, team or model. Compare cost cards and charts with the same filters, and allow new requests a moment to finish logging before refreshing.

Dashboard → Models tab.
Dashboard → Models tab.

13.2 AI Logs

Analytics → AI Logs is the full list of requests. Turn on Live updates to watch traffic as it happens. Each row shows time, type, message, provider, team, model, latency, cache result and guardrail decision. Click a row for the complete request and answer.

The Total Cost card shows the cost amount for this range. Open a request to inspect its cost and token details, including provider cache usage when recorded. MCP Activity also displays numeric costs. A $0.00 display fallback does not add a new provider price to the stored record.

13.3 Exports

TeamBusiness

Open Analytics → Exports to send logs to your own storage.

  1. Click Create Export. Choose On demand or a schedule, the time range, the format (JSON or CSV) and the destination (S3, GCS, BigQuery, Snowflake or local download).
  2. Tick the log types you need (AI Requests, AI Errors, MCP & Agents Logs and so on) and any filters.
  3. Click the create button. The export appears under Recent Exports with a download link when it is ready.
Exports page.
Exports page.
Create Export form with log types and filters.
Create Export form with log types and filters.

13.4 Alert Channels

TeamBusiness
  1. Open Analytics → Alert Channels and click Add Channel.
  2. Type a name, choose the Type (Slack incoming webhook, e-mail, or a signed webhook) and paste the destination.
  3. Pick the Minimum severity and tick the Events you want: guardrail blocked a request, budget exceeded, rate limit hit, plan allowance threshold, agentic action denied, human approval required, tool integrity divergence.
  4. Click Create channel. Alerts are throttled so a busy loop cannot flood the channel.
New alert channel form.
New alert channel form.

13.5 Integrations: OpenTelemetry and Prometheus

Business only

Open Analytics → Integrations. On the Open Telemetry tab enter your collector endpoint (gRPC or HTTP), choose the GenAI extension if your back-end supports it and click Save OTEL Configuration. The Prometheus tab enables the /metrics endpoint (metric names start with deepintshield_) and a Pushgateway for short jobs. A sample Grafana dashboard is provided.

Integrations → Open Telemetry.
Integrations → Open Telemetry.
Integrations → Prometheus.
Integrations → Prometheus.

13.6 Logging Controls

Governance Hub → Logging Controls is set per workspace. Enable Logs turns logging on or off, Disable Content Logging keeps only usage numbers (latency, cost, tokens) and drops prompt and answer text, and Log Retention Days sets how long rows are kept, up to your plan maximum (30 days on Team, 90 on Business). You can also list request headers to capture into log metadata. Click Save Changes.

Logging Controls.
Logging Controls.

SECTION 14

Your account & Playground

DeveloperTeamBusiness

14.1 Profile and security

Open Account Settings → Profile. Here you can update your name and e-mail, Enable MFA (a 6-digit code at sign-in, strongly recommended), generate a personal access token for scripts, and Download my data.

Account Settings → Profile.
Account Settings → Profile.

14.2 Appearance

Account Settings → Appearance switches between light, dark and system theme.

Account Settings → Appearance.
Account Settings → Appearance.

14.3 Legal

Account Settings → Legal keeps the signed copies of the terms you accepted at purchase, with their version numbers.

14.4 Updates

The version badge at the bottom of the left menu shows Update when a new feature release is available for your organization. Click it to open the Updates page and switch the release on when you are ready.

The Updates page.
The Updates page.

14.5 Playground

Playground lets you write a prompt, pick a provider and model, and run it through the gateway with all your settings applied, which is the quickest way to test a new guardrail policy. Running prompts works on every plan, including Developer. Saving prompts, sessions and versions needs Team or Business; on Developer those buttons and the Cmd+S / Ctrl+S shortcut are disabled and say why. If a configuration requires a virtual key, you can enter one for the run; it is never stored with the prompt.

Choose a provider and model, then review the available operation and input controls. The source integration update includes text, embeddings, reranking, OCR, image generation/editing, speech, transcription, and video, according to provider/model capability metadata. Unknown models remain selectable with an explicit operation choice when their task is unknown. The model list has no 1,000-model cutoff. When you switch models, previous model settings are cleared while streaming preference is preserved; saved chat sessions retain their stored settings. Missing parameter information does not invent sampling or reasoning defaults.

The selected model's catalog profile determines whether the Playground sends Chat Completions or native Responses requests. Both support streaming and tool conversations where the model supports them. Continue the same session for tool results and follow-up messages so the provider's conversation and tool-call identifiers are preserved.

Creating a prompt in the Playground.
Creating a prompt in the Playground.

14.6 Getting help

REFERENCE

Plan comparison

Plan comparison reference table
AreaTeamBusiness
Gateway, providers, model registry, routing rules, load balancerYesYes
Members, teams, virtual keys, budgets, rate limitsYes (100 keys)Yes (500 keys)
Guardrail policies, ML detectors, safety providers, findingsYesYes
Domain packs and OWASP Agentic checksNoYes
Cost Optimization (semantic cache, routing, compression, summarization)YesYes
Provider prompt caching, coalescing, guardrail cache (also on Developer)YesYes
Playground: run prompts / save prompts and versionsYes / YesYes / Yes
MCP Registry and MCP securityYes (25 servers)Yes (50 servers)
Agentic policy authoring, guided access, runtime policy, activity (incl. Audit tab)YesYes
Temporary delegation, enforcement switch, blueprint protection, Advanced relationshipsNoYes
Agent registry, identities, identity providers, enrolmentNoYes
Tool grants, tool integrity, blueprint scans, AIBOM exportNoYes
Human-in-the-loop action approvalsNoYes
Agentic observability (traces, Langfuse, LLM-as-judge)NoYes
Agentic cacheNoYes
Hallucination Control and ConsistencyNoYes
Alert channels and log exportsYesYes
OpenTelemetry, Prometheus, GrafanaNoYes
Log history30 days90 days
Seats included1030
Requests included per month250,0001,000,000
Monthly extras: extra requests / extra seats$19 per 100,000 / $20 per seat$15 per 100,000 / $20 per seat
Logging fee or token markupNoneNone
Support / uptime24 h e-mail / 99.5%12 h e-mail / 99.9%

REFERENCE

Troubleshooting

Troubleshooting reference table
What you seeLikely causeFix
"Create a workspace first" messageNo workspace exists yet in this tenant.Governance Hub → Workspaces → New workspace (section 3).
Pages look empty after switching tenantEach workspace has its own data.Check the two switcher boxes at the top of the left menu.
401 from the APIWrong or inactive key, or the old x-bf-vk header.Use Authorization: Bearer sk-ds-… and check the key is active.
400: function tools with reasoning effortThe selected model requires Responses for function tools; MCP bindings can add tools to the request.For GPT-6 Astra, use client.responses.create(...) from section 7.5. Astra does not support reasoning effort none.
402 from the API or an upgrade prompt on a pageThe feature is not in your plan.Section 4, or use a workspace in an org that has the plan.
429 from the APIRate limit or budget reached on the key, member or team.Raise the limit or budget, or wait for the window to reset.
Answer blocked unexpectedlyA guardrail policy fired.AI Guardrails → Findings shows the check; adjust the policy or set its Execution Mode to Shadow while tuning.
Agent stops with agent_registration_pendingNew agent waiting for review.Agentic → Work Queue → Review → Approve.
Cache never hitsSemantic cache off for the key or threshold too high.Cost Optimization → Caches; check the key's cache switches.
Upgrade button greyed outTerms box not ticked, or you are not the org owner.Tick the box; ask the owner to upgrade.
Indian card declined in USDUSD charges are not possible for Indian cards.Choose INR in the plan window.
402 "payment required" although your plan is paidAn extras or renewal invoice is more than 7 or 14 days overdue.Account Settings → Billing → Pay. Restrictions lift as soon as the payment is confirmed (section 4.6).
Save button greyed out in the PlaygroundSaving prompts needs Team; you are on Developer or have a read-only role.Upgrade (section 4) or ask an admin for write access. Running prompts works on every plan.
New MCP Server button disabledThe organization-wide server limit is reached, or the plan could not be checked.Delete an unused server in any workspace, upgrade, or refresh the Billing tab.

REFERENCE

Glossary

Glossary reference table
WordSimple meaning
TenantA top-level environment such as Dev or Production. Holds workspaces.
WorkspaceA project space inside a tenant. Keys, providers, policies and logs belong to a workspace.
ProviderA company whose AI models you call (OpenAI, Anthropic, Gemini, Bedrock and others).
Virtual API Key (VK)The key your app uses. Starts with sk-ds-. Carries policies, budgets and provider access.
Member / TeamEnd users or apps you track and limit; a team groups members with a shared budget.
Guardrail policyA named set of safety checks with an enforcement mode (block or redact) and an execution mode (sync, async or shadow).
FindingOne thing a guardrail caught.
Semantic cacheMemory of past answers, matched by meaning, so similar questions are answered without calling the model.
AgentA program that lets an AI model call tools to get work done.
MCPModel Context Protocol, a standard way for agents to reach tools on a server.
PDP / decisionThe policy engine and its yes/no answer for one tool call.
Work QueueThe inbox of things that need a person: registrations, approvals, code reviews, drift.
Blueprint scanAn automatic code review of an agent before it may run.
AIBOMAI bill of materials: a signed list of every tool and action an agent can use.
OWASPA public list of the most important security risks, here for LLM apps and agents.
RAGRetrieval-augmented generation: looking up documents and giving them to the model.
HallucinationWhen a model states something that is not true or not supported by its sources.
Monthly extrasThe separate monthly invoice for requests above your allowance and for extra seats. No logging fee, no token markup.
AutoPay (UPI)An optional Indian bank mandate that pays monthly extras automatically up to a limit you choose.
Scroll to top