Mirror Mode

Observe every AI request without a guardrail check on the request path, and without blocking anything.

How it works

In normal mode, the SDK evaluates guardrails before your request is sent and returns the decision, so your application can stop a blocked request from reaching the provider.

In mirror mode, requests go to the AI provider first. SignalVault receives a copy of the request and response afterwards and logs both. Nothing is ever blocked, and no guardrail check sits on the request path — the events are sent in the background, so the only cost is serialising and dispatching them.

When to use it

Use it to see what your traffic actually contains before turning on blocking, to keep the audit trail off a latency-sensitive path, or to mirror in one environment while another enforces, and compare the two.

Node.js

const client = new SignalVaultClient({
  apiKey: 'sk_live_...',
  openaiApiKey: process.env.OPENAI_API_KEY,
  mirrorMode: true,
});

Python

client = SignalVaultClient(
    api_key="sk_live_...",
    openai_api_key=os.environ["OPENAI_API_KEY"],
    base_url="https://api.signalvault.io",
    mirror_mode=True,
)

Mirror mode still records guardrail violations in the audit log — the request has already gone to the provider, so no decision can stop it. This lets you fine-tune rules before enforcing them. It does not reduce what a request costs you: mirrored requests count against the free trial exactly like enforced ones. failMode has no effect here, since there is no blocking check to fail.