Offizielle SDKs
SDK installieren und KI-Anfragen in drei Zeilen Code verifizieren. Core-SDKs und Framework-Adapter in v1.1.0.
Palveron liefert 14 offizielle Pakete — vier Core-SDKs, sieben Framework-Adapter, ein Flare-AI-Kit-FunctionTool und zwei Automatisierungstools — plus eine Browser-Erweiterung und eine installationsfreie Make.com-HTTP-Integration für insgesamt 16 unterstützte Anbindungswege. Jedes Paket teilt sich dieselbe Retry- / Circuit-Breaker- / Typed-Error-Logik; wählen Sie das, was Ihrem Stack am nächsten kommt.
Core-SDKs
Ein Core-SDK ist die richtige Wahl, wenn Sie Palveron direkt aus Ihrem Code aufrufen — Python-Service, Node.js-API, Go-Microservice, Java-Backend.
TypeScript
npm install @palveron/sdkNull Dependencies. Läuft auf Node.js 18+, Deno, Bun und Edge-Runtimes (Cloudflare Workers, Vercel Edge).
Python
pip install palveron-sdkPython 3.9+. Sync- und Async-Clients. Vollständig typisiert (PEP 561).
Go
go get github.com/palveron/[email protected]Null Dependencies (nur stdlib). Go 1.21+.
Java (Gradle + JitPack)
repositories { maven { url 'https://jitpack.io' } }
dependencies { implementation 'com.github.palveron:sdk-java:v1.0.0' }Null Dependencies (Java 17+ HttpClient). Records und Builder-Pattern.
Grundlegende Nutzung
TypeScript
import { Palveron } from '@palveron/sdk';
const palveron = new Palveron({
apiKey: process.env.PALVERON_API_KEY!,
// baseUrl: 'https://gateway.internal:8080', // On-Prem
});
const result = await palveron.verify({ prompt: userInput });
if (result.decision === 'BLOCKED') {
throw new Error(result.reason);
}
// Quick-Check (Shorthand)
const { decision } = await palveron.check('Is this safe?');
// Mit File-Attachment
const fileResult = await palveron.verifyWithFile(
'Analyze this document',
'./report.pdf'
);Python
from palveron import Palveron, VerifyRequest, Attachment
client = Palveron(api_key="pv_live_...")
# Text-Verifikation
result = client.verify("Check this prompt")
if result.is_blocked:
raise RuntimeError(result.reason)
# Mit File-Attachment
result = client.verify_file("Analyze this", "/path/to/doc.pdf")
# Programmatisches Attachment
result = client.verify(VerifyRequest(
prompt="Check this image",
attachments=[Attachment.from_file("photo.jpg")],
))Async:
from palveron import AsyncPalveron
async with AsyncPalveron(api_key="pv_live_...") as client:
result = await client.verify("Check this")Go
import "github.com/palveron/sdk-go"
client := palveron.NewClient(os.Getenv("PALVERON_API_KEY"),
// palveron.WithBaseURL("https://gateway.internal:8080"), // On-Prem
)
result, err := client.Verify(ctx, &palveron.VerifyRequest{
Prompt: userInput,
})
if err != nil {
log.Fatal(err)
}
if result.IsBlocked() {
log.Fatal(result.Reason)
}
// Mit File
result, err = client.VerifyFile(ctx, "Analyze this", "/path/to/doc.pdf")Java
var client = Palveron.builder(System.getenv("PALVERON_API_KEY"))
// .baseUrl("https://gateway.internal:8080") // On-Prem
.build();
var result = client.verify("Check this prompt");
if (result.isBlocked()) {
throw new SecurityException(result.reason());
}
// Mit File
var fileResult = client.verifyFile("Analyze this", Path.of("report.pdf"));Framework-Adapter
Ein Framework-Adapter ist die richtige Wahl, wenn Ihr Code auf einem KI-Framework basiert. Der Adapter hängt sich in den Lebenszyklus des Frameworks ein, sodass Sie keine expliziten Verify-Aufrufe einbauen müssen. Alle Adapter teilen sich dieselbe api_key- / base_url- / fail_open- / metadata-Konfiguration und dieselbe Sprint-87-Entscheidungssemantik (BLOCKED, PENDING_APPROVAL, RATE_LIMITED halten an; MODIFIED und FLAGGED werden geloggt und passieren).
| Adapter | Paket | Hängt sich ein in |
|---|---|---|
| LangChain | pip install palveron-langchain | BaseCallbackHandler — jeden LLM-Call, Tool-Call und Chain-Run |
| CrewAI | pip install palveron-crewai | Task.guardrail + Crew.step_callback |
| OpenAI Agents | pip install palveron-openai-agents | Input- + Output-Guardrails (GuardrailTripwireTriggered) |
| Google ADK | pip install palveron-google-adk | before_model_callback + before_tool_callback + after_tool_callback; multimodal- & A2A-fähig |
| Pydantic AI | pip install palveron-pydantic-ai | Typisierte PalveronDeps für RunContext[PalveronDeps] + Output-Validator für strukturierte Typen |
| LlamaIndex | pip install palveron-llamaindex | CallbackHandler + PII-Erkennung pro Chunk in jedem abgerufenen RAG-Node |
| Microsoft AGT | pip install palveron-agt | Zweiseitige Policy-/Evidence-Brücke mit dem Microsoft Agent Governance Toolkit |
# LangChain-Beispiel
from palveron_langchain import PalveronCallbackHandler
from langchain_openai import ChatOpenAI
handler = PalveronCallbackHandler(api_key="pv_live_...")
llm = ChatOpenAI(model="gpt-4o", callbacks=[handler])
result = llm.invoke("Summarize the customer record for John Doe, [email protected]")
# → PalveronGovernanceError: Blocked — PII erkannt (E-Mail-Adresse)Die einzelnen Framework-Guides beschreiben Hooks, Konfiguration und Fehlerbehandlung: LangChain, CrewAI, OpenAI Agents, Google ADK, Pydantic AI, LlamaIndex und Microsoft AGT.
Spezialwerkzeug — Flare AI Kit
Für Agenten auf flare-ai-kit liefert Palveron zusätzlich ein explizites Governance-Tool. Anders als der Google-ADK-Adapter wird es nicht über Callbacks verdrahtet — der Agent ruft es als regulären ADK-FunctionTool auf, wenn ein Inhalt geprüft werden muss (bevor ein SparkDEX-Swap signiert, bevor auf X gepostet, bevor eine A2A-Nachricht weitergeleitet wird).
| Tool | Paket | Muster |
|---|---|---|
| palveron-adk-tool | pip install palveron-adk-tool | Expliziter ADK-FunctionTool — Agent ruft während des Reasoning auf; ergänzt den Google-ADK-Callback-Adapter |
Architektur, Anwendungsfälle (DeFi, Social, RAG, FDC) und das Attestation-Modell auf Coston2 / Flare Mainnet finden sich im Flare-AI-Kit-Integration-Guide.
Automatisierung, No-Code & Erweiterungen
| Kanal | Installation | Zweck |
|---|---|---|
| MCP-Server | npm install -g @palveron/mcp-server | Governance für Tool-Calls aus Coding-Agents (Cursor, Windsurf, Claude Code) |
| n8n-Node | n8n-nodes-palveron (Community-Node) | Drop-in Verify- / Trace-Lookup- / Agent-Status-Nodes für n8n-Workflows |
| Browser Guard | Chrome Web Store | Governance für ChatGPT, Claude, Copilot und 47 weitere KI-Apps direkt im Browser; Shadow-AI-Discovery |
| Make.com | Keine Installation (HTTP-Modul) | Vorgefertigtes Verify-Szenario für jeden Make.com-Workflow — Routing nach decision |
# MCP-Server — zeigen Sie Ihren Coding-Agent auf diese URL
npx @palveron/mcp-server --api-key pv_live_...
# n8n — installieren über die Community-Nodes-UI von n8nDie einzelnen Kanal-Guides: MCP-Setup, n8n-Integration, Browser Guard Installation und Make.com-Integration.
Konfiguration (alle SDKs)
Alle SDKs akzeptieren dieselbe Konfiguration:
| Option | Default | Beschreibung |
|---|---|---|
apiKey | erforderlich | Ihr Projekt-API-Key (pv_live_...) |
baseUrl | https://gateway.palveron.com | Gateway-URL. Beim Self-Hosting setzen. |
timeout | 30 s | Request-Timeout |
maxRetries | 3 | Retries bei transienten Fehlern (5xx, Timeout) |
retryBaseDelay | 500 ms | Basisverzögerung für Exponential Backoff |
circuitBreakerThreshold | 5 | Aufeinanderfolgende Fehler, bevor der Circuit öffnet |
circuitBreakerCooldown | 30 s | Zeit, bis der Circuit auf Half-Open wechselt |
headers | {} | Custom-Header für jeden Request |
Error Handling
Alle SDKs werfen / geben typisierte, strukturierte Errors zurück:
| Error | Status | Retryable | Beschreibung |
|---|---|---|---|
AuthenticationError | 401 | Nein | Ungültiger oder abgelaufener API-Key |
RateLimitError | 429 | Ja | Kontingent oder RPM-Limit erreicht; enthält retryAfterMs |
ValidationError | 400 | Nein | Fehlerhafter Request |
TimeoutError | 408 | Ja | Gateway hat nicht rechtzeitig geantwortet |
CircuitOpenError | 503 | Nein | Zu viele aufeinanderfolgende Fehler; Cooldown abwarten |
Retryable Errors handhabt das SDK selbstständig mit Exponential Backoff und Jitter bis zu maxRetries. Sie sehen den Error nur, wenn alle Versuche erschöpft sind.
Multi-Modal-Attachments
Alle SDKs akzeptieren Dateien neben Prompts — siehe den Multi-Modal-Leitfaden.
const result = await palveron.verifyWithFile('Analyze this', './photo.jpg');MCP / Agentic Context
Wenn Sie Anfragen aus Tool-Calling-Agents oder MCP-Servern verifizieren, geben Sie den Kontext mit:
const result = await palveron.verify({
prompt: agentOutput,
context: {
mcpServer: 'https://mcp.salesforce.com/sse',
toolName: 'query_contacts',
chainDepth: 2,
sourceSystem: 'cursor-ide',
},
});Health Check
const health = await palveron.health();
// { status: 'healthy', version: '1.0.0', uptime: 86400 }Source Code
Alle Pakete sind Open Source (MIT):
Core-SDKs:
Framework-Adapter:
Spezialwerkzeuge:
Automatisierung, No-Code & Erweiterungen: