Security and data handling

Last updated: October 14, 2026

Short version: the API does not store the text of your queries. API keys are stored hashed. Nothing you send us is used to train models. This page is a plain summary. The binding terms are in our Terms of Service, Privacy Policy and Data Processing Agreement, and they control if anything here differs.

1. What the API stores, and what it does not

The developer API and the MCP server are built to keep as little of your traffic as possible. The text of a query, a request body, or a parameter is never written to a database or a log. It exists in memory for the length of the request. What we do keep:

DataContainsRetention
Request contentNothing. Not persisted.Request duration only
API keyA SHA-256 hash, an encrypted copy so the console can show the key again, and a short display prefixUntil you revoke the key
Usage countersCall counts per key, per day, per endpoint. No query content.48 hours
Billing ledgerAccount ID, credit amount, endpoint label, timestamp. No query content.Kept as a billing record (up to seven years, per the Privacy Policy)
Law Change AlertsWebhook URL, an encrypted webhook secret, notification email, the source you watchUntil you delete the watch
Webhook delivery logStatus code, success or failure, a short error, attempt number. Not the payload.90 days
Request metricsRoute, status code, response time. No bodies or headers.Sampled: 1% of successful calls, all errors

The API’s statute-retrieval endpoints do not send your queries to a language-model provider. If you connect an AI client to our MCP server, that client and its model provider see what you ask and what we return, under their own terms, and we do not control what they keep.

2. API keys and access

  • Keys are bearer tokens with the vq_key_ prefix. Create, rotate and revoke them in the console. Revoking a key takes effect at once.
  • We authenticate against a SHA-256 hash of the key. Keep keys out of client-side code and public repositories.
  • Calls are HTTPS only. Plain HTTP is rejected.
  • Every key is rate-limited per minute and per day and can spend only the credits on your account, so a leaked key cannot spend beyond your balance.
  • The number of active keys depends on your plan.
  • Webhook deliveries from Law Change Alerts are signed with your secret, which is encrypted at rest and never returned by any endpoint, so you can verify a delivery came from us.
  • IP-based access restrictions are available on enterprise plans.

3. Where data lives

Data is processed and stored in data centers operated by our infrastructure sub-processors, in the regions recorded in our sub-processor register, which is available on request. We give at least 30 days’ notice before moving primary Customer Data to another country.

4. Encryption

AES-256 encryption at rest for the database and document storage. TLS 1.2 or higher in transit, and TLS 1.3 where the client supports it. Secrets are not checked into source control.

5. No training on your data

Your API queries, and the documents, prompts and outputs you put in the Vaquill application, are never used to train our models or our providers’ models. Our language-model sub-processors operate under zero-data-retention agreements, so they do not keep prompts or outputs beyond the time needed to return a response.

6. Sub-processors

We rely on a short list of third-party services for hosting, database and authentication, content delivery, payments, transactional email, error tracking and, for the application, language-model inference. Each is bound by a written data-processing agreement. The current register, with regions and the data each one handles, is available to customers and their counsel at contact@vaquill.ai. We give customers at least 30 days’ notice before adding a sub-processor.

7. Incident notification

If a confirmed security incident affects your data, we notify you without undue delay and in any event within 72 hours of becoming aware of it, in line with GDPR Article 33 and applicable US state breach-notification laws.

8. Development and operations

We run routine dependency scanning. Staff access to production systems is restricted to what the work needs, and staff use multi-factor authentication. Vaquill AI staff do not read the content of application matters except when you ask for support or when we need to diagnose an incident.

9. The Vaquill application

The legal-AI application has additional controls because it holds documents and matters:

  • Each customer’s data is logically isolated, with row-level security on database queries and object-store reads.
  • Role-based access for admins and members, and TOTP-based two-factor authentication that admins can require for a workspace.
  • Audit logs of sign-ins, permission changes, uploads, sharing and deletions, available to admins.
  • Uploaded files are screened for hidden instructions aimed at manipulating the model.
  • Matters and documents are kept while the account is active and are exportable for 30 days after cancellation, then deleted. See Delete My Data.

10. Reporting a vulnerability

Email contact@vaquill.ai with a description, steps to reproduce and any proof of concept. We acknowledge reports within 72 hours and follow a 90-day coordinated-disclosure timeline. Scope, response times and our safe-harbor commitment are on the Vulnerability Disclosure Programme page.

11. Questions and special requirements

If you need a security questionnaire answered, a custom DPA, IP allow-listing, or a dedicated deployment, email contact@vaquill.ai or use the contact page.