Getting started
Quickstart
Register an AI system, turn on masking and send your first protected prompt.
This quickstart uses the SDK / API path because it works without installing anything on user devices. For the browser extension or Claude, follow the same first step and then continue with Browser extension or Claude.
Register an AI system
In the AgentID dashboard click + Register New AI System, choose SDK / API, give the system a name and finish the wizard. See Register an AI system for every option.
Turn on masking
Open the system's Guardrails tab. Under Core Guardrails switch on Mask Personal Information and Mask Secrets & API Keys, then click Save AI Firewall / Security Shield. Make sure Active Guard is selected; in Shadow Mode nothing is masked.
Create an API key
Open the Integration tab, enter a key owner or label, choose the environment and click Generate Key. Copy the System ID and the API key now: the full key is shown only once.
export AGENTID_API_KEY="sk_live_..."
export AGENTID_SYSTEM_ID="00000000-0000-0000-0000-000000000000"Send a prompt to Guard
curl -s https://app.getagentid.com/api/v1/guard \
-H "x-agentid-api-key: $AGENTID_API_KEY" \
-H "content-type: application/json" \
-d "{\"system_id\":\"$AGENTID_SYSTEM_ID\",\"input\":\"Email Jana Novakova at jana.novakova@example.com about the refund.\"}"npm install agentid-sdkimport { AgentID } from "agentid-sdk";
const agent = new AgentID(); // reads AGENTID_API_KEY
const verdict = await agent.guard({
system_id: process.env.AGENTID_SYSTEM_ID!,
input: "Email Jana Novakova at jana.novakova@example.com about the refund.",
});
console.log(verdict.allowed, verdict.transformed_input);pip install agentid-sdkimport os
from agentid import AgentID
agent = AgentID() # reads AGENTID_API_KEY
verdict = agent.guard(
input="Email Jana Novakova at jana.novakova@example.com about the refund.",
system_id=os.environ["AGENTID_SYSTEM_ID"],
)
print(verdict.get("allowed"), verdict.get("transformed_input"))A masked response looks like this:
{
"allowed": true,
"detected_pii": true,
"transformed_input": "Email <PERSON_NAME_1> at <EMAIL_1> about the refund.",
"transformed_input_complete": true,
"guard_event_id": "9c1d1b8e-3f5a-4c8e-9a51-0f4f2e5c7d10",
"client_event_id": "0467f78f-5821-4827-a09b-d59a9b08866c"
}Call your model with the protected text
Send transformed_input to the AI provider, never the original input. In production, let an SDK wrapper do this for you; see Node.js SDK, Vercel AI SDK or Python SDK.
Check the activity log
Open the system's Activity (Logs) tab. The prompt appears with its guard result. Once you also log the answer (the SDK wrappers do this automatically, or see Ingest API), the row shows Complete.