PalveronPalveronDocs

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 wizardAgent Registry → New Agent, fill in name + description, pick a template, click Register. Takes ~30 seconds for Community tier.
  • APIPOST /api/v1/agents with 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

DecisionMeaningWhat happens
PASSEDNo policy triggeredOriginal prompt forwarded to the LLM
BLOCKEDA blocking policy firedRequest rejected; reason explains why; modified_prompt is null
MODIFIEDA masking policy firedmodified_prompt contains the redacted version; that's what reaches the LLM
ERRORInternal failureRetry the request; if persistent, file a support ticket with the trace_id

Flare status reference

StatusMeaning
PENDINGTrace queued for the next Flare anchoring cycle (default: every 60 s)
ANCHOREDMerkle root for this trace is on-chain; flare_tx_hash is populated
LOCAL_ONLYTrace stored locally only — Flare anchoring is disabled for this project
SKIPPEDTrace doesn't meet the configured attestation scope (e.g. MANDATORY_ONLY skips PASSED decisions)

Next steps

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:8080

Or pass baseUrl to the SDK constructor. See Self-hosting → Docker for the full deployment guide.

On this page