Trust & Security

Security at Cognisafe

Last updated: 3 May 2026

We secure other organisations' AI systems. That means we are ourselves a high-value target and a potential supply-chain risk. This page documents exactly how we mitigate that — transparently, with no marketing language.

SOC 2 Type IIIn progress
UK GDPRCompliant
AES-256-GCMEncryption at rest
TLS 1.3In transit
Open source SDKApache 2.0
Signed releasesPyPI Trusted Publisher

1. Data architecture

Cognisafe operates as a logging and analysis layer, not a traffic proxy. In the default SDK integration, your LLM calls travel directly from your application to your LLM provider (OpenAI, Anthropic, etc.). Cognisafe never sits in that path.

After each LLM call completes, the SDK sends a copy of the request and response to the Cognisafe API asynchronously. This copy is stored, scored for safety threats, and surfaced in your dashboard. The critical property is: if the Cognisafe API is unreachable for any reason, your LLM calls continue unaffected.

Observe mode — default

Your app  ──────────────────────────────────►  LLM provider
              │                                      (OpenAI / Anthropic / etc.)
              │ async copy (non-blocking)
              ▼
         Cognisafe API  ──►  Safety scoring  ──►  Dashboard

Block mode (available on Team and Enterprise) places Cognisafe in the request path. See section 2 for the full trust model and architectural guarantees that apply when block mode is enabled.

2. Observe mode vs block mode

These are meaningfully different trust contracts. Choose based on your risk tolerance.

Observe mode

Default
LLM traffic path
Direct to provider
Cognisafe downtime
No impact on calls
Breach worst case
Logged copies exposed
Can modify requests
No — architecturally impossible
Latency added
Zero (async)

Cognisafe never sees live traffic. Even if our infrastructure were fully compromised, an attacker could not intercept or modify your LLM calls in flight.

Block mode

Team / Enterprise
LLM traffic path
Through Cognisafe proxy
Cognisafe downtime
Fail-open (configurable)
Breach worst case
Live traffic exposed
Can modify requests
No — guaranteed by design
Latency added
~20–50 ms (scoring)

Block mode requires higher trust. The architectural guarantees below are the commitments we make to justify that trust.

Block mode architectural guarantees:

  • Block or pass — never modify. The proxy can reject a request (returning an error to your application) or forward it verbatim to the LLM provider. It cannot alter the content of a request or response. This is enforced architecturally: the proxy hashes the request before forwarding and returns the hash to your SDK, which verifies it.
  • Fail-open by default. If the Cognisafe proxy is unreachable, requests pass through directly to the LLM provider. Enterprise customers can configure fail-closed if their compliance posture requires it.
  • mTLS between your infrastructure and our proxy. Both sides present certificates. A compromised or spoofed proxy cannot silently insert itself.
  • Self-hosted proxy option (Enterprise). Run the proxy container on your own infrastructure. LLM traffic never leaves your network. See section 6.
  • Proxy code is open source. The same transparency guarantee that applies to the SDK applies to the proxy binary.

3. Encryption & storage

In transit. All data between your application and the Cognisafe API is encrypted with TLS 1.3. mTLS is available for block mode and Enterprise customers.

At rest. Customer Data — including all stored LLM prompts, responses, and safety scores — is encrypted at rest using AES-256. Encryption keys are managed via Railway's secrets infrastructure and are rotated annually.

Database. PostgreSQL with column-level encryption forrequest_body andresponse_body fields, which hold the raw LLM content. These columns contain the most sensitive data and are encrypted independently of the row-level storage encryption.

Retention. Customer Data is retained for the duration of your subscription and deleted within 90 days of account termination. You can request earlier deletion at any time by contacting hello@cognisafe.uk.

Access controls. Production database access requires both VPN and hardware key authentication. No employee has standing access to production data — access is granted per-incident with full audit logging.

4. Sub-processors

The following third-party services process Customer Data on our behalf. We maintain Data Processing Agreements with each. Enterprise customers can request a full DPA from us.

ProcessorPurposeData sentLocation
RailwayInfrastructure hosting (API, database)All Customer Data (hosted)US / EU
OpenAISafety scoring via LLM evaluationLLM prompt & response textUS
ClerkAuthentication & user managementEmail, name, session tokensUS
StripeSubscription billingBilling details onlyUS / EU
ResendTransactional emailEmail address, notification contentUS
Note on OpenAI scoring: When safety scoring runs, the text of your LLM prompts and responses is sent to OpenAI for evaluation. OpenAI's API data usage policy applies. If your data cannot leave your jurisdiction or cannot be sent to OpenAI, use the self-hosted scoring option available on Enterprise.

5. SDK trust & integrity

The Cognisafe SDK runs inside your production environment. We treat this as the highest- risk surface we operate and apply the following controls:

  • Open source. The full SDK source code is published on GitHub. You can read every line before installing it, and verify that the PyPI release matches the published source via the build provenance attestation.
  • Signed releases. Every PyPI release is signed using PyPI Trusted Publisher attestations (Sigstore). You can verify the signature independently before deployment.
  • SHA-256 checksums. Published alongside every release. Pin to a specific version and hash in production: cognisafe==x.y.z --hash=sha256:...
  • Pinned dependencies. The SDK has no unpinned transitive dependencies. Dependency confusion and typosquatting attacks are mitigated by explicit version locking in the published package.
  • Minimal network footprint. The SDK makes outbound connections to exactly one endpoint: api.cognisafe.uk. It makes no other network calls. You can verify this by reading the source or by running the SDK under a network firewall allowing only that domain.
  • No code execution. The SDK does not execute any code it receives from our API. It sends data outbound and receives acknowledgement responses only.

6. Self-hosted proxy (Enterprise)

Enterprise customers who cannot route data through Cognisafe infrastructure — due to regulatory requirements, data residency constraints, or security policy — can run the entire Cognisafe stack on their own infrastructure.

The self-hosted option includes:

  • The Cognisafe proxy as a Docker container image (signed, published to our registry)
  • The scoring worker, which you configure to use your own OpenAI key or a local model
  • The dashboard, deployable to your own domain
  • Your own PostgreSQL and Redis — no data leaves your network

In self-hosted mode, Cognisafe has zero access to your LLM traffic or Customer Data. We provide software and updates; you own the infrastructure and the data.

Contact hello@cognisafe.uk for Enterprise pricing and a self-hosted deployment guide.

7. Responsible disclosure

We welcome vulnerability reports from security researchers. Our policy:

  • Report by email to security@cognisafe.uk. You can use our PGP key (linked below) to encrypt the report.
  • We will acknowledge receipt within 48 hours and provide an initial assessment within 5 business days.
  • We ask for 90 days before public disclosure to allow remediation. We will work with you on the timeline if a fix requires more time.
  • We do not pursue legal action against researchers acting in good faith under this policy.
  • We will credit researchers in our acknowledgments section (below) unless you prefer to remain anonymous.

In scope: cognisafe.uk, the Cognisafe API, the Python SDK, the proxy, and any subdomain.

Out of scope: Denial of service attacks, social engineering of staff, physical security, and automated scanning that generates excessive load.

8. Acknowledgments

No vulnerabilities have been reported to date. Researchers who responsibly disclose valid issues will be credited here.

9. Security contact

Cognisafe LTD — Security Team

Email: security@cognisafe.uk

General: hello@cognisafe.uk

PGP key: coming soon — will be published at keys.openpgp.org

Our machine-readable security policy is available at /.well-known/security.txt per RFC 9116.