Releases

Changelog

Every release, security fix and change to SignalVault, published with a date.

v0.18.0 · 1 day ago

Plans per organization, with requests included

Starter, Growth and the new Compliance plan each cover every app in your organization, with requests included every month and usage-based pricing above them. Tax is calculated at checkout.

Added

  • Plans per organization

    A plan covers every app in your organization, where each app had its own: Starter ($49 a month, 1 app), Growth ($149, up to 5 apps) or Compliance ($499, unlimited apps). Choose, upgrade, downgrade or cancel from Account › Billing. An upgrade applies at once and the difference for the rest of the billing period is charged then; a downgrade or a cancellation applies at the end of the period, and you can undo it until then. When a plan allows fewer apps than you have, you choose which stay active. The others are paused and keep their rules, keys and history; a request with a paused app's key gets a 402 with the code app_paused and a link to Account › Billing.

  • Compliance plan

    Unlimited apps, 250,000 requests a month included, $3 per 1,000 above that, and two years of history. Scheduled exports, SSO and an auditor role are planned for Q1 2027.

  • Requests included, usage above them

    Each plan includes requests every month: 10,000 on Starter, 50,000 on Growth and 250,000 on Compliance. Requests above that are billed with the next monthly invoice, at $5, $4 or $3 per 1,000, and going over never stops your requests. You pay for checked requests that reach your provider: blocked and unchecked requests, duplicates of a request and requests whose provider call failed are not billed. Account › Billing shows the requests this period.

  • Tax at checkout

    Prices exclude tax. Checkout asks for your billing address and adds VAT where it applies. A business in another EU country can enter its VAT number, and the invoice is reverse-charged.

  • A next step after the sample event

    Once an app has sent the sample event from the setup page, its events page shows how to send a real request through the proxy: the base URL, the X-SignalVault-Key header and a cURL command for OpenAI and Anthropic, with which key SIGNALVAULT_API_KEY holds. It goes away when the app's own first request arrives.

v0.16.2 · 9 days ago

EU VAT numbers and more European identifiers

The PII rule detects EU VAT numbers, identity and tax numbers from Austria, Belgium, Estonia, Ireland, Poland and Portugal, Swiss AHV numbers and UK NHS numbers.

Added

  • EU VAT numbers

    vat_eu finds VAT numbers from all 27 member states, written with their country prefix (EL for Greece), and confirms each by that country's check digits.

  • More EU identity and tax numbers

    pesel_pl (Poland), rrn_be (Belgium), ppsn_ie (Ireland) and isikukood_ee (Estonia) are confirmed by their check digit or letter, and by the date of birth where the number holds one. nif_pt (Portugal) and svnr_at (Austria) count only after a word that names them, such as NIF or SVNR, on the same line. Each country's code (at, be, ee, ie, pl, pt) can be named in a rule on its own.

  • Swiss AHV numbers

    ahv_ch finds 13-digit AHV/AVS numbers starting 756, confirmed by their check digit, in a new Switzerland region (ch).

  • UK NHS numbers

    nhs_gb counts a ten-digit number only after NHS, NHS number or NHS no. on the same line, and confirms its check digit.

  • Regions pick up the new identifiers

    Rules set to eu detect the VAT numbers and the six EU identity and tax numbers from this release, and rules set to gb detect NHS numbers. Rules that name identifiers one by one are unchanged.

v0.16.1 · 10 days ago

EU and UK identifiers

The PII rule detects national identity and tax numbers from Germany, France, Italy, the Netherlands and Spain, and UK National Insurance numbers, and scans long prompts in less time.

Added

  • EU national identity and tax numbers

    steuer_id_de (German tax ID), nir_fr (French social security number), codice_fiscale_it, and dni_es and nie_es (Spain) are confirmed by their check digit or letter, and the codice fiscale also by the date of birth it holds. A Dutch BSN (bsn_nl) counts only after BSN or burgerservicenummer on the same line, and must pass the 11-proef.

  • UK National Insurance numbers

    nino_gb counts a number only after National Insurance, NI number or NINO on the same line, and ignores prefixes that are never issued.

  • EU and UK regions

    Tick All of European Union or All of United Kingdom in the rule editor, or name eu or gb in a rule's patterns list. eu also covers IBAN and the Danish, Finnish and Swedish numbers. A country code such as de covers that country's identifiers. /docs/detection lists them.

v0.16.0 · 11 days ago

Nordic identifiers and IBAN

The PII rule detects IBANs and personal identity numbers from Denmark, Finland, Iceland, Norway and Sweden, each confirmed by its check digits or its date.

Added

  • IBAN detection

    iban finds bank account numbers from the SEPA countries, spaced or written as one run, and confirms each by the length its country uses and the mod-97 check digits. Rules set to the Global region detect IBANs from this release.

  • Nordic personal identity numbers

    personnummer_se (including samordningsnummer), fodselsnummer_no (including D-nummer), hetu_fi and kennitala_is are confirmed by the date of birth and check digits. Danish numbers have no check digit, so cpr_dk counts a number only after the word CPR on the same line, and redacts the number alone.

  • Nordic region and country codes

    Tick All of Nordics in the rule editor, or name nordics in a rule's patterns list, to detect all five. A country code such as se detects that country's identifiers. /docs/detection lists the names.

v0.15.12 · 11 days ago

More precise PII detection

Every identifier the PII rule detects is listed in the docs and the rule editor, and each match is confirmed before it counts.

Added

  • PII detection in the docs

    /docs/detection lists every identifier the PII rule detects, with the name to use in a rule, an example and how a match is confirmed.

v0.15.9 · 13 days ago

Changelog, security and blog pages

The changelog, the security page and the blog are rebuilt to be read on any screen, with feeds you can subscribe to.

Added

  • Changelog by release and by kind

    Each release lists what was added, improved, fixed and secured. Filter the page to one kind, jump to a release from the list beside it, and link to any release directly, as in /changelog#v0.15.9.

  • Security page as a specification

    Data protection, transport, access control, retention and infrastructure are set out row by row, with a table of every sub-processor and what it receives.

  • Topics, reading time and contents on the blog

    Posts are grouped by topic, show how long they take to read, and carry a list of their sections that follows you down the page.

  • Feeds for releases and posts

    Subscribe to the changelog at /changelog/feed.xml and to the blog at /blog/feed.xml.

v0.15.8 · 13 days ago

Redaction through the proxy

A request through the proxy that matches a redact rule is forwarded to your provider with the matched values masked.

Added

  • Claude 4 and Claude 5 prices

    Responses from the Claude 4 and Claude 5 models, Haiku 4.5 through Fable 5.1, are priced at Anthropic's list prices. Claude Haiku 5.5 is priced by the request's prompt length.

v0.15.0 · 17 days ago

Dashboard redesign

The dashboard is now organised around one app at a time, with a guided setup for your first request and an event detail you can link to.

Added

  • Setup guide for your first request

    A new app opens on a four-step page: app created, save your API key, send a request, see it arrive. The request step is a ready-to-paste cURL command for OpenAI or Anthropic that reads the key from SIGNALVAULT_API_KEY, so your first request needs no code change. Setup completes when a request of your own gets a response. Skip for now is remembered, and you can return to the page from Setup guide on Events.

  • Event detail in a drawer

    Selecting an event opens its detail beside the list. The open event is part of the URL, so you can link to it, reload the page, or close it with the back button.

  • An account area of its own

    Apps, Billing, Profile and Security now have their own sections, separate from any single app. The full app list is under Account › Apps.

  • Billing overview

    Your monthly total, next charge and apps on trial, with plan, price and renewal date for each app.

  • App switcher

    Finds apps as you type, and shows each app's plan with its last event or trial progress.

v0.14.0 · 28 days ago

Streaming tool guardrails

Tool-call guardrails now run on streaming responses, which is how most chat interfaces work.

Added

  • Tool-call guardrails on streaming responses

    When a model proposes a tool call whose arguments contain PII, secrets or other rule violations, SignalVault redacts the arguments, substitutes a refusal, or forwards the call unchanged — before it reaches your agent.

  • Guardrails on tool results and inputs

    Guardrails inspect tool results and tool inputs, so detections carry through multi-turn loops where tool output feeds the next model turn.

  • Expanded API documentation

    The documentation at /docs covers response codes and error shapes, rate limits, streaming behaviour, tool-use guardrails, export formats, payload limits and what the default rules do on a first request.

  • All environments on Starter

    Development, staging and production API keys are available on Starter.

v0.13.3

Starter environments and integration fixes

Added

  • All environments on Starter

    Development, staging and production API keys are included on the Starter plan. Trial apps gained this in 0.13.2; it now carries through when you subscribe.

  • Email when the trial is used up

    You get an email when your last free trial request is used, so a paused integration is never a surprise.

  • An upgrade link on trial-limit responses

    Trial-limit responses carry an upgrade_url field alongside the existing error type and code, so your client can link a developer straight to billing.

  • Period filters on the events list

    One-click filters for the last hour, 24 hours and 7 days, a live indicator while events are arriving, and new rows highlight as they land.

v0.11.0

Non-streaming tool call capture

Added

  • Tool calls captured in non-streaming proxy mode

    Tool calls in non-streaming proxy mode are captured and audited, alongside streaming requests.

  • Content-block-aware request analysis

    Structured Anthropic content blocks (text, tool_use, tool_result) are each evaluated independently.

  • Guardrails on tool call inputs and outputs

    Guardrail rules evaluate tool call inputs and outputs on both streaming and non-streaming paths, and violations are recorded for both. In this release, enforcement — blocking or rewriting a proposed tool call — applies to non-streaming responses.

v0.10.0

Tool call audit logs

Added

  • Tool calls captured automatically

    Captured when proxying OpenAI or Anthropic, for streaming and non-streaming requests. No SDK changes required.

  • Tools offered on the request detail page

    A "Tools Offered" section shows which tools were exposed to the model on each request.

  • PII and secret detection on tool inputs and outputs

    The JSON path of the offending field is surfaced on every violation.

  • Field-level redaction in the audit log

    Sensitive values are masked while sibling fields stay readable for debugging.

  • Filter events by tool calls

    Filter the events list by tool calls alongside requests, violations, errors and budget.

v0.9.0

Launch hardening

Added

  • Up to 5 API keys per app

    With labels, last-used tracking and revocation.

  • Real-time event feed

    New events appear in the dashboard without a page reload.

v0.7.0

New rule types

Added

  • Prompt injection detection

    With configurable sensitivity: standard and strict modes.

  • Regex match rule

    With label support and execution timeout protection.

  • Keyword blocklist

    Case-insensitive, word-boundary matching.

  • Model allowlist

    Restrict which AI models an app may use.

v0.6.0

Transparent proxy endpoint

Added

  • Proxy endpoint

    Point your existing OpenAI or Anthropic client at SignalVault with a one-line URL change. No SDK required.

  • Guardrail enforcement in-path

    Block and redact rules stop requests before they reach the upstream provider.

  • Streaming support

    Streaming (SSE) is supported for both providers. Chunks are forwarded in real time and the response is logged after the stream completes.

  • Anthropic token and cost tracking

    For both streaming and non-streaming responses.

v0.5.0

Webhook alerts, response redaction and data retention

Added

  • Webhook alerts

    Send alerts to any HTTPS endpoint. Slack URLs get rich Block Kit messages, all others get plain JSON.

  • Response redaction

    Rules with the redact action mask matched content in stored payloads before write.

  • Data retention card in Settings

    See your retention period, total stored events, oldest event date and next purge cutoff.

v0.4.0

Email alerts and pricing

Added

  • Email alerts

    For policy violations, budget breaches and AI errors, on the Growth plan.

  • Configurable alert settings

    Event types, minimum severity, cooldown and recipient.

  • Node.js and Python SDKs
  • Plans and billing documentation
v0.3.0

Budget controls and billing

Added

  • Budget limits per app

    Set monthly cost and daily token limits per app, with dashboard alerts when budgets are exceeded.

  • Audit log export

    Export audit logs as CSV or JSON.

  • Dashboard analytics

    Request volume, violation rate and cost tracking.

  • Stripe billing

    For Starter and Growth plans.

v0.1.0

Initial release

Added

  • Request and response logging

    AI request and response logging with a full audit trail.

  • Guardrail rules

    PII detection, secret scanning, token limits and model allowlists.

  • Dashboard

    Filtering, sorting and request detail views.

  • Node.js SDK

    With an OpenAI-compatible wrapper and mirror mode.