Quickstart
Send your first governed AI request in under 5 minutes.
This is the fastest path from a fresh project to a working governance decision. Three options for sending the first request — pick whichever fits how you already build.
Prerequisites
- A Palveron account (sign up)
- A project API key from Settings → Integration — format
pv_live_...
That's it. No SDK install needed for the cURL path.
Step 1 — Register an agent
Every governed request is attributed to an agent. Two ways:
- Dashboard wizard — Agent Registry → New Agent, fill in name + description, pick a template, click Register. Takes ~30 seconds for Community tier.
- API —
POST /api/v1/agentswith a JSON body. See api/agents.
When the agent is ACTIVE, copy its agent_ key from the Integration tab — you'll send it on every request (or fall back to the project key for quick tests).
Step 2 — Send your first request
curl -X POST https://gateway.palveron.com/api/v1/verify \
-H "Authorization: Bearer pv_live_your_project_key" \
-H "Content-Type: application/json" \
-d '{
"prompt": "My social security number is 123-45-6789.",
"agent_id": "agent_..."
}'Already using an LLM client? Use the gateway proxy
The gateway is wire-compatible with OpenAI. Point your existing client at it and add an X-Palveron-Key header — every request is now governed without further code changes.
from openai import OpenAI
client = OpenAI(
base_url="https://gateway.palveron.com/v1",
api_key="sk-your-openai-key",
default_headers={"X-Palveron-Key": "pv_live_your_project_key"},
)
response = client.chat.completions.create(
model="gpt-4o",
messages=[{"role": "user", "content": "Summarize this email..."}],
)The gateway evaluates every prompt against your policies before forwarding to OpenAI. Blocked prompts return a structured error instead of the LLM response.
Step 3 — Check the result
Open the Command Center in the dashboard. You should see your trace in the Live Activity Feed within seconds — with the decision, the policy that triggered, the integrity hash, and the Flare anchor status.
Click the trace to open the Trace Explorer, which shows the full NGE breakdown, matched policies, and (when Flare is active) the on-chain proof link.
Decision reference
| Decision | Meaning | What happens |
|---|---|---|
PASSED | No policy triggered | Original prompt forwarded to the LLM |
BLOCKED | A blocking policy fired | Request rejected; reason explains why; modified_prompt is null |
MODIFIED | A masking policy fired | modified_prompt contains the redacted version; that's what reaches the LLM |
ERROR | Internal failure | Retry the request; if persistent, file a support ticket with the trace_id |
Flare status reference
| Status | Meaning |
|---|---|
PENDING | Trace queued for the next Flare anchoring cycle (default: every 60 s) |
ANCHORED | Merkle root for this trace is on-chain; flare_tx_hash is populated |
LOCAL_ONLY | Trace stored locally only — Flare anchoring is disabled for this project |
SKIPPED | Trace doesn't meet the configured attestation scope (e.g. MANDATORY_ONLY skips PASSED decisions) |
Next steps
Gateway Proxy
Drop-in OpenAI-compatible proxy with zero code changes.
Official SDKs
All 10 packages at v1.0.0 — core SDKs, framework adapters, tools.
MCP Gateway
Govern tool calls from Cursor, Windsurf, and Claude Code.
Browser Guard
Govern ChatGPT, Claude, Gemini directly in the browser.
API Reference
Full request/response schema, retry semantics, error codes.
Self-hosted
If you self-host the gateway, point the SDK / cURL at your own endpoint with PALVERON_ENDPOINT:
export PALVERON_ENDPOINT=https://gateway.internal.company.com:8080Or pass baseUrl to the SDK constructor. See Self-hosting → Docker for the full deployment guide.