Skip to content
DocsAI Trust Pack
Observability

AI Trust Pack

When your customers review your product, their security questionnaires now ask about AI: which providers see their data, whether those providers train on it, how long anything is kept, and what stops personal data from leaving. The Trust Pack answers from what your gateway actually recorded and enforced, not from a policy document: every report is built from your request logs and settings when you open it.

At a glance
PartWhat it gives youPlan
Sub-processorsEvery provider, tool server and platform service your AI data reached, or can reach, with each one’s terms.Every plan
Data handlingWhat is kept, for how long and where, as plain sentences you can paste into a questionnaire.Every plan
Guardrail coverageHow many requests were checked, what was blocked or redacted, which personal data types are covered.Every plan
Approved provider policyA list of providers; a request to any other is refused before it is sent.Pro and Enterprise
Change alertsAn email and a signed webhook when a new sub-processor, region or model appears.Pro and Enterprise
Evidence bundlesA signed zip of the reports, audit trails and request metadata for a period, for an auditor.Pro and Enterprise
Public trust pageA page at /trust/your-company you can link from your own trust center.Pro and Enterprise
AI questionnaire39 common AI review questions, most answered from your records, exported as CSV or XLSX.Pro and Enterprise

Everything is on the AI Trust Pack page of the dashboard. The three reports can be read by anyone who can read the workspace’s logs, for one workspace or the whole organization. The policy, alerts, evidence, trust page and questionnaire belong to the organization and are managed by its owners and admins.

The reports

Each report covers a period: the last 90 days unless you pick another, at most 366 days. In the dashboard a period starts at midnight UTC, so the same choice gives the same report all day.

  • Sub-processors. Model providers (one row per company, however many of its APIs you use), tool servers on the MCP Gateway, and the services VectorAxis itself uses when your data reaches them (hosting, the edge proxy, the semantic cache’s embeddings, AI guardrail checks). Each is used (requests in the period) or only configured (a key or connector could send to it). Provider terms (training on API data, retention, data residency, DPA and terms links) come from each provider’s own published pages, reviewed by VectorAxis; a fact a provider does not clearly state is shown as not stated, never guessed. Cache hits do not count as a provider seeing data.
  • Data handling. Your organization’s log retention, whether request and response bodies are stored, how long cached answers live, the regions that hold your logs, and what you asked providers to keep (uploaded files not yet deleted, batches, stored responses). The sentences state the values in force, nothing about where they come from.
  • Guardrail coverage. The share of requests a guardrail ran on (streams included), BLOCK, REDACT and MONITOR counts, tool results scanned, MCP tool calls checked, each guardrail’s checks and where it is attached. A personal data type counts as covered only when an enabled check redacts or blocks it.
Approved provider policy

Choose the providers your organization’s AI data may go to and enforce the list. From then on a request that would send data to any other provider is refused with a 403 naming the provider, before anything is sent. It applies to every path that sends data: chat (direct, fallbacks, routing-config targets, streams), the Claude SDK, prompts, embeddings, file uploads and batches, and MCP sampling.

  • A refusal is an ordinary error, so a fallback chain moves on to its next provider, and a FALLBACK routing config skips the refused target.
  • Reading, cancelling and deleting are never refused, so you can still remove data from a provider you no longer approve.
  • Changes take effect within 30 seconds. Saving a list without enforcing it keeps it as a draft that does nothing.
  • VectorAxis’s own services (hosting, cache embeddings, guardrail checks) are listed on the sub-processor report and are not part of the list.
  • If your plan lapses, an enforced policy stays enforced until you stop it; you can always stop it.
Change alerts

Once a day (04:15 UTC) the gateway compares the organization’s sub-processors with the day before. The first check is a baseline. After that it records:

ChangeWhenEmail
SUBPROCESSOR_ADDEDA new provider, tool server or platform service appears.Yes
SUBPROCESSOR_FIRST_USEDOne that was only configured receives data for the first time.Yes
SUBPROCESSOR_REMOVEDOne is no longer used in the period and no longer configured.Yes
REGION_ADDEDA provider is used in a new region.Yes
MODEL_ADDEDA new model of a provider already in use.No (webhook only)

Alerts go by email to the organization’s owners and admins when email is on, and to your webhook when one is set. Every change is also listed on the Changes and policy tab. Deliveries are best effort and not retried.

The webhook receives a POST with {type, organization, sent_at, events}, where type is trust.subprocessor_changes (or trust.test from the test button). It is signed with your webhook secret (whsec_..., shown once when created or rotated): X-VectorAxis-Timestamp is the Unix time and X-VectorAxis-Signature is sha256= followed by the hex HMAC-SHA256 of <timestamp>.<raw body>, keyed with the whole secret.

Python
import hashlib, hmac, time

def verify(secret: str, timestamp: str, body: bytes, signature: str) -> bool:
    if abs(time.time() - int(timestamp)) > 300:   # reject old deliveries
        return False
    expected = hmac.new(secret.encode(), timestamp.encode() + b"." + body, hashlib.sha256).hexdigest()
    return hmac.compare_digest("sha256=" + expected, signature)
Evidence bundles

An evidence bundle is a zip an auditor can check without trusting you or us: for a period you choose (90 days by default, at most 366) it holds the organization-wide reports, the change list, every audit trail (virtual keys, routing configs, guardrails, prompts, the MCP Gateway, the Trust Pack itself) and requests.csv, the metadata of each request (never its content). It builds in the background; one bundle can be building at a time, and a finished one can be downloaded for 30 days.

FileContents
report.htmlThe whole bundle as one readable page.
subprocessors.json / .csvThe sub-processor report.
data-handling.json, guardrail-coverage.jsonThe other two reports.
subprocessor-changes.json / .csvThe changes found in the period.
audit/One CSV per audit trail.
requests.csvRequest metadata, up to 50,000 rows (the manifest says when it was cut short), from the region that built the bundle.
manifest.json, manifest.sigEvery file’s SHA-256 and size, and the Ed25519 signature of the manifest.
SHA256SUMS, public-key.pem, README.txtThe hashes, the key that verifies the signature, and these steps.

To verify a bundle with OpenSSL 3: first check that the key is VectorAxis’s, by comparing public-key.pem with GET /v1/public/trust/evidence-signing-key (it returns the key id and PEM; no sign-in needed). Then, in the unzipped folder:

Bash
base64 -d < manifest.sig > manifest.sig.bin
openssl pkeyutl -verify -pubin -inkey public-key.pem -rawin -in manifest.json -sigfile manifest.sig.bin
# Signature Verified Successfully

sha256sum -c SHA256SUMS        # macOS: shasum -a 256 -c SHA256SUMS
Public trust page

Publish a page at https://vectoraxis.ai/trust/your-company for your customers’ reviewers. You choose the address (3 to 63 lower-case letters, digits or dashes), the company name, a contact email, whether it covers the whole organization or one workspace, and which sections it shows: sub-processors, data handling, safety checks, approved providers and sub-processor changes. The preview on the Trust page tab is exactly what will be public.

  • It covers the last 90 days and is built from the same reports, with what is internal removed: no request counts, dates seen, keys, models or tool hosts. Approved providers are named only while the policy is enforced.
  • Search engines are asked not to index it unless you allow it.
  • The public copy refreshes within ten minutes of a change. Unpublishing takes it down at once (cached copies clear within ten minutes) and keeps your settings.
  • Publishing needs a Pro or Enterprise plan; unpublishing never does. If the plan lapses, the page stops being served.
AI questionnaire

39 questions that come up in AI vendor reviews, in five groups: AI providers and sub-processors, data handling, safety controls, security, audit and evidence, and governance. 26 are answered from your records and settings when you open them, where the records hold an answer (provider terms, retention, guardrails, the policy, evidence signing), and stay current. The other 13 only you can answer, such as encryption at rest in your deployment, certifications or your internal review process; each comes with guidance.

  • Each question shows Generated, Answered (your own answer, which replaces the generated one) or Needs answer.
  • Write or edit an answer inline (up to 10,000 characters); clearing it brings the generated answer back. Every change is audited.
  • Export the whole set as CSV or XLSX to paste into a customer’s spreadsheet.
Good to know
  • Reports count your requests in every region that holds your logs, whichever region serves the report. Only totals move between regions, never your log rows. If a region cannot be reached, the report answers 503 and names the region, rather than showing totals that leave it out.
  • Evidence bundles are stored in one place for every region, so a bundle downloads from any region.
  • An evidence bundle’s requests.csv lists the requests of the region that built it; its reports cover every region.
  • Provider terms change; VectorAxis reviews the catalogue at least quarterly. Check a provider’s own terms before relying on them.
Automating it? Every part has an endpoint: see Endpoints.
NVIDIA Inception Program member

VectorAxis is built by GK Labs, a member of NVIDIA Inception.