Home
Security

Your case data is yours.
It stays that way.

The SIFT AI Tools Suite is designed for the confidentiality requirements of forensic engineering and litigation workflows, including attorney–client privilege, expert work product, and controlled access for discovery.

Firm and case isolationEncryption in transit and at restLeast privilege and audit-ready controls

Security infrastructure

The platform is built on enterprise cloud providers for compute, storage, authentication, and AI APIs. Provider certifications cover the underlying infrastructure; platform controls cover configuration, access enforcement, and data lifecycle management.

Google Cloud Platform (primary)
  • ISO 27001, ISO 27017, ISO 27018
  • SOC 1/2/3
  • FedRAMP, HIPAA, PCI-DSS, GDPR
AWS S3 (backup storage)
  • ISO 27001
  • SOC 2 Type II
  • FedRAMP, HIPAA
OpenAI (Enterprise API)
  • ISO 27001
  • SOC 2 Type II
  • CCPA, GDPR
Pinecone (vector search)
  • SOC 2
  • HIPAA
  • ISO 27001, GDPR
Mistral (OCR / model services)
  • ISO 27001, ISO 27701
  • SOC 2 Type II
  • GDPR

Firm isolation and tenancy model

The platform uses a hub-and-spoke architecture designed to enforce firm boundaries at the cloud infrastructure level, not only in application logic.

Hub (central services)
  • Tool services run on Cloud Run.
  • Authentication is handled via Firebase Authentication.
  • Metadata and access control are managed in Cloud SQL.
Spokes (one per firm)
  • Each firm is provisioned in a dedicated Google Cloud project.
  • Firm-scoped buckets store ingestion data, extracted data, and tool outputs.
  • Firm-scoped secrets stored in Secret Manager (LLM APIs, vector credentials).
  • Vector store and LLM provider accounts are separated per firm.
Case scoping (storage)

Files are organized using case identifiers and scoped storage paths to prevent mixing between cases. Closing a case triggers a scoped deletion workflow.

Case scoping (database)

Case access is enforced through case access mappings (row-level controls), independent of UI behavior.

Enforcement layers
  • Identity: Firebase Authentication.
  • Authorization: backend checks scoped to firm/case/role.
  • Storage: Google Cloud IAM and scoped bucket permissions.

Role-based access control

Access is defined by firm membership, case assignment, and role permissions. Users cannot self-assign elevated roles.

Firm Admin
Scope
Entire firm
Can
  • Create and edit cases
  • Invite users and assign roles
  • Grant/revoke case access
  • View all cases and tools
Case Admin
Scope
Assigned cases only
Can
  • Manage people in assigned cases
  • Invite and manage team users for a case
  • Grant/revoke tool access for case users
Team Users
Scope
Assigned cases + enabled tools
Can
  • Use tools enabled by the case admin
  • Work within assigned cases
Cannot
  • Invite users
  • Change access settings
Case People (records)
Scope
No platform login by default
Purpose
  • Organize case participants and materials
  • Store CVs, reports, transcripts as case context
  • No access unless explicitly invited as a platform user
Enforcement

Requests are validated against firm membership, assigned cases, and role permissions. Storage access is mediated by application services running under least-privilege service accounts.

Encryption

Encryption is enforced for transport and storage. Optional key management models are available when required by your governance or regulatory environment.

In transit
  • TLS/HTTPS for uploads, downloads, API calls, and service-to-service communication.
At rest
  • Google Cloud Storage encryption at rest (AES-256) enabled by default.
Optional key models
  • CMEK via Google Cloud KMS (key lifecycle controlled under IAM).
  • CSEK (customer-provided keys not stored by Google Cloud).
Client-side pre-upload encryption (optional)

For local uploads, optional client-side encryption can be applied using rclone crypt. Files are encrypted on the client before transmission. Encryption keys can be managed by the platform on your behalf.

Key management project (planned / available on request)

A dedicated key management project and key ring can be used to isolate encryption administration and apply additional governance controls.

AI and LLM data handling

AI providers are integrated via enterprise APIs. Retrieved case content is passed as transient input for a request. Non-data retention policies are enabled where supported.

Providers
  • OpenAI (generation)
  • Gemini (generation)
  • Mistral (OCR / model services)
Vector retrieval (Pinecone)
  • Dedicated Pinecone project per firm.
  • Dedicated index per case; namespaces for evidence updates.
  • Pinecone is used for active retrieval, not long-term retention.
Session and history
  • Query Tool: chat history disabled by default.
  • Mock Deposition Tool: session context in browser memory and cleared on refresh.
  • No server-side conversation history unless explicitly enabled.

Authentication and session security

Identity is managed by Firebase Authentication. Backend services verify signed ID tokens and establish application sessions using secure, HTTP-only cookies.

Supported methods
  • Passwordless: Google sign-in, Microsoft SSO.
  • Email/password with MFA support.
  • Passwordless login links supported where configured.
Session handling
  • Browser obtains Firebase ID token after login.
  • Backend verifies token and issues a secure, HTTP-only session cookie.
  • Subsequent requests use the session cookie, reducing repeated token exposure.

Data ingestion and transfer

Only firm admins and case admins can upload or import data. Transfers are executed over TLS and land directly in case-scoped storage paths.

Local upload
  • Recommended for datasets under 5 GB.
  • TLS/HTTPS enforced.
  • Files stored in per-case storage paths.
  • Optional rclone crypt client-side encryption.
  • Upload actions and file metadata audited in Cloud SQL.
Google Drive import
  • OAuth-based authentication.
  • Server-side transfer to GCS using rclone.
  • No user OAuth tokens exposed to GCS.
  • Ingestion metadata recorded in Cloud SQL.
Microsoft OneDrive import
  • OAuth-based authentication.
  • Server-side transfer to GCS using rclone.
  • No user OAuth tokens exposed to GCS.
  • Azure API permissions required: Files.Read, Files.Read.All, Offline_Access, User.Read.
Cloud-to-cloud transfers (admin-initiated)
  • Supported sources: AWS S3, Azure Blob Storage, client-owned GCS buckets.
  • Option A: Federated identity via STS (no long-lived secrets).
  • Option B: Scoped temporary credentials (time-boxed, strict scope).
  • All access is logged and auditable.

Data residency

Data residency is configured per firm through region selection and data boundary controls.

Regional data boundaries
  • Single-region, dual-region, or multi-region storage configuration.
  • Optional CMEK and administrative access controls.
  • Region selection balances residency, latency, and cost constraints.
Regulatory data boundaries (available on request)
  • CJIS, FedRAMP Moderate / High
  • US healthcare and life sciences (HIPAA-aligned configurations)
  • ITAR and other US-only boundary configurations

Backup and recovery

Backups are designed for cross-cloud resilience. Backup access is restricted to platform administrators with break-glass recovery roles.

System
Primary
Backup
Notes
Case files and tool outputs
Google Cloud Storage
AWS S3
Encrypted, versioned. Write-only from GCP; read restricted to break-glass roles.
Pinecone indexes
Pinecone (GCS-backed)
AWS S3
Index + metadata + namespace mappings backed up for recovery parity.
Database (Cloud SQL)
Automated daily backups
AWS S3 SQL dump
Point-in-time recovery (PITR) enabled; cross-cloud export for DR.
Source code and prompts
GitHub and Secret Manager
N/A
Secrets and prompts are not stored in code; managed via Secret Manager.

Data retention and deletion

Data lifecycle policies are aligned to case and firm boundaries. Deletion and retention exceptions are handled through documented approval workflows.

Case closure
  • Deletes raw evidence, processed artifacts, tool outputs, and tool interaction history.
  • Deletes the case-specific Pinecone index (vectors and metadata).
  • Deletes operational logs tied to the case on the same schedule.
  • Supports pre-deletion export by request.
Firm off-boarding
  • Decommissions the firm’s dedicated cloud project and associated resources.
  • Deletes storage buckets, service configurations, and access permissions.
  • Supports transitional retention or export when requested before off-boarding.
Cold storage tiers (optional)
  • Nearline (monthly access), Coldline (quarterly), Archive (annual or less).
  • Retention policies configurable per firm and per case.
Immutability controls (optional)
  • Object retention locks (WORM).
  • Bucket lock policies (governance or compliance modes).
  • Lifecycle rules for tier transitions and expiration.
Systems of record vs retrieval

Pinecone is used for active retrieval. Long-term retention occurs in Google Cloud Storage. If retrieval is needed in the future, vector embeddings can be regenerated from retained source data.

Prompt security

System prompts are treated as security assets. They are versioned, access-controlled, and separated from source code and deployment artifacts.

Secret storage
  • Prompts stored as versioned JSON in Google Cloud Secret Manager.
  • Not stored in GitHub repositories.
  • Not embedded in container images or static files.
Access controls and guardrails
  • Least-privilege IAM service accounts access secrets at runtime.
  • Audit logging for secret access and version usage.
  • Prompt injection and jailbreak mitigation controls integrated via cloud services.

Audit logging

Logging is minimized to reduce exposure. Production logs focus on operational metadata needed for reliability and security monitoring.

What is not logged
  • System prompts
  • Retrieved case content
  • Vector store outputs
What is logged
  • Infrastructure and operational metadata for reliability and monitoring.
  • Security-relevant access events where applicable (e.g., secret access audit logs).
Retention and access review
  • Case-aligned log retention; logs tied to closed cases are deleted on the same schedule.
  • Access restricted to authorized administrators; reviewed periodically.

FAQ

Common due-diligence questions, with direct answers.

?
Do you use customer case data to train AI models?
View details

No. The platform integrates with LLM providers via enterprise-grade API keys configured with non-data retention. Retrieved case context is passed as transient input for a request. Providers are not permitted to use this data for model training under these terms.

?
Can users access data outside their firm, case, or role?
View details

No. Access is enforced at multiple layers: Firebase Authentication at the identity layer, application authorization checks scoped by firm/case/role, Cloud SQL row-level access control for case scoping, and Google Cloud IAM permissions for storage access.

?
Is chat or conversation history stored?
View details

By default, no. The Query Tool’s chat history is disabled by default. The Mock Deposition Tool session context exists only in browser memory and is cleared on refresh. Server-side conversation history is not persisted unless explicitly enabled.

?
Where is data stored geographically?
View details

Data residency is configurable through Google Cloud region selection. Regional and regulatory data boundary configurations are supported when required (e.g., US-only residency, CJIS, FedRAMP, HIPAA, ITAR), subject to availability and agreed deployment configuration.

?
What happens when a case closes or a firm off-boards?
View details

Case closure triggers deletion workflows for case data, derived artifacts, tool interaction history, and the case-specific Pinecone vector index. Firm off-boarding decommissions the firm’s dedicated cloud project and associated resources. Pre-deletion export and optional archival retention are available by request.

?
Can we enforce WORM retention or retention locks?
View details

Yes. For long-term retention, Google Cloud Storage object retention policies and retention locks can be configured, including WORM-style controls and governance/compliance modes, depending on your retention requirements.

?
How are system prompts protected?
View details

Prompts are stored as versioned, encrypted JSON in Google Cloud Secret Manager. They are not stored in source code repositories, and not embedded in container images or static assets. Access is restricted to service accounts under least-privilege IAM policies, with audit logging for secret access.