Quickstart
Get up and running with SignalVault in under 5 minutes.
SignalVault works with any language or framework. Use our SDKs for a drop-in OpenAI wrapper, or call the REST API directly from any HTTP client — no SDK required.
1. Create an account and verify your email
Sign up for free, then open the verification email and click Confirm email address. Verification is required before you can reach the dashboard, and the link must be clicked — simply opening it is not enough, which stops corporate email scanners from activating accounts on your behalf. Links expire after 24 hours; if yours has, the page offers to send a new one.
2. Create an app and generate an API key
After verifying, the dashboard prompts you to create your first app. The setup guide on the app page then lets you name a key, pick an environment, and generate it inline — you can also do this later from the app's Settings tab. Copy the key immediately; it is shown once and never again.
Keys are prefixed by environment: sk_live_
for production and sk_test_
for development and staging. Every plan can create keys in all three environments.
The environment is taken from the key itself and decides which guardrail rules apply, so it
cannot be overridden by a request header or body.
To rotate a key, generate a new one first, update your environment variables, then delete the old key — both stay valid until you delete the old one.
3. Send requests
Pick whichever approach fits your stack:
Option A: Proxy (recommended)
The fastest way to get started — no new packages required. Just point your existing OpenAI (or Anthropic) client at SignalVault's proxy by changing the baseURL:
import OpenAI from 'openai';
const client = new OpenAI({
apiKey: process.env.OPENAI_API_KEY,
baseURL: 'https://api.signalvault.io/proxy/openai/v1',
defaultHeaders: {
'X-SignalVault-Key': 'sk_live_...',
},
});
const response = await client.chat.completions.create({
model: 'gpt-6-astra',
messages: [{ role: 'user', content: 'Hello!' }],
});
import Anthropic from '@anthropic-ai/sdk';
const client = new Anthropic({
apiKey: process.env.ANTHROPIC_API_KEY,
baseURL: 'https://api.signalvault.io/proxy/anthropic/v1',
defaultHeaders: {
'X-SignalVault-Key': 'sk_live_...',
},
});
const message = await client.messages.create({
model: 'claude-sonnet-5',
max_tokens: 1024,
messages: [{ role: 'user', content: 'Hello!' }],
});
Every request is automatically logged, scanned, and governed — your application code stays unchanged. See the Proxy docs for supported providers and advanced options.
Option B: SDK (Node.js / Python)
Our SDKs wrap the OpenAI client and automatically send audit events for every request:
npm install @signalvaultio/node openai
import SignalVaultClient from '@signalvaultio/node';
const client = new SignalVaultClient({
apiKey: 'sk_live_...',
openaiApiKey: process.env.OPENAI_API_KEY,
baseUrl: 'https://api.signalvault.io',
});
const response = await client.chat.completions.create({
model: 'gpt-6-astra',
messages: [{ role: 'user', content: 'Hello!' }],
});
See the Node.js SDK or Python SDK docs for full details.
Option C: REST API
Send events directly to POST /v1/events from any language or HTTP client:
curl -X POST https://api.signalvault.io/v1/events \
-H "Authorization: Bearer sk_live_..." \
-H "Content-Type: application/json" \
-d '{
"type": "ai.request",
"request_id": "req_abc123",
"environment": "production",
"provider": "openai",
"model": "gpt-6-astra",
"payload": {
"messages": [{"role": "user", "content": "Hello!"}]
}
}'
Works from Go, Rust, Java, Ruby, PHP — anything that can make an HTTP request. See the API Reference for full documentation.
That's it — requests appear in your dashboard with guardrail checks applied automatically.