Skip to main content

Data Protection

How DocWeb protects your data at rest, in transit, and during processing.

Encryption​

In Transit​

All data transmitted to and from DocWeb is encrypted:

  • Protocol: TLS 1.2+ (TLS 1.3 preferred)
  • Certificates: Managed by Google Cloud
  • HSTS: Enforced for all connections

At Rest​

Data stored in Google Cloud is encrypted:

  • Firestore: AES-256 encryption by default
  • Cloud Functions: Encrypted execution environment
  • Backups: Encrypted automatically

Key Management​

  • Encryption keys managed by Google Cloud KMS
  • Automatic key rotation
  • No user-accessible encryption keys

Data Segregation​

User Data Isolation​

Each user's data is stored in separate Firestore paths:

artifacts/{userId}/public/data/sessions/{sessionId}
artifacts/{userId}/public/data/urls/{docId}
users/{userId}

Firestore security rules prevent cross-user access.

Global Cache​

Shared data is anonymized:

artifacts/global/domainCache/{domainHash}
artifacts/global/pageCache/{urlHash}
artifacts/global/embeddings/{urlHash}_chunk{N}
  • No user identifiers in global cache
  • URL hashes prevent direct URL exposure
  • Content hashes track changes without storing raw URLs

Data Types and Protection​

Sensitive Data​

Data TypeProtection
PasswordsHashed by Firebase Auth (never stored plaintext)
Payment infoHandled by Stripe (we never see full card numbers)
Email addressesStored encrypted in Firebase/Firestore
API keysStored as Firebase secrets (not in code)

Application Data​

Data TypeStorageEncryption
SessionsFirestoreAES-256
Discovered URLsFirestoreAES-256
Scraped contentFirestoreAES-256
Chat historyFirestoreAES-256
EmbeddingsFirestoreAES-256

Access Controls​

Authentication Required​

  • All API endpoints require Firebase Auth token
  • Tokens expire and must be refreshed
  • Invalid tokens rejected immediately

Authorization Rules​

Firestore security rules enforce:

  • Users can only read/write their own data
  • Global cache is read-only for users
  • Admin endpoints require special permissions

API Security​

  • Cloud Functions validate all inputs
  • Request size limits enforced
  • Malformed requests rejected

Data Minimization​

What We Collect​

We only collect data necessary for the service:

  • Account info for authentication
  • Session data for functionality
  • Usage data for billing
  • Error logs for debugging

What We Don't Collect​

  • Browsing history outside DocWeb
  • Device identifiers or fingerprints
  • Location data
  • Personal files or documents

Data Retention​

Automatic Deletion​

Data TypeRetentionDeletion
Domain cache24 hoursAuto-expiring TTL
Page cache24 hoursAuto-expiring TTL
Error logs30 daysAuto-purged

User-Controlled Deletion​

Data TypeHow to Delete
SessionsDelete in app
Chat historyDeleted with session
AccountContact support

Permanent Data​

  • Embeddings in global cache are permanent
  • Anonymized usage statistics may be retained
  • Legal records retained per requirements

Backup and Recovery​

Automated Backups​

  • Firestore point-in-time recovery enabled
  • Daily backups retained for 7 days
  • Disaster recovery procedures in place

Data Portability​

Contact support to request:

  • Export of your session data
  • Export of your chat history
  • Copy of your account information

Third-Party Data Handling​

Google Gemini​

When you use Dex:

  • Queries sent to Google Gemini API
  • Data processed in Google's infrastructure
  • Not used to train Google's models
  • Subject to Google's privacy policy

Stripe​

Payment processing:

  • Card details handled by Stripe only
  • We receive only last 4 digits and expiry
  • Subject to Stripe's security standards

Compliance​

GDPR Considerations​

  • Data processing lawful basis: Contract performance
  • Right to access: Available via support request
  • Right to deletion: Available via support request
  • Data portability: Available via support request

CCPA Considerations​

  • No sale of personal information
  • Right to know: Detailed in Privacy Policy
  • Right to delete: Available via support request

Security Contacts​

Report a Vulnerability​

Email: [email protected] Subject: Security Vulnerability Report

Data Protection Inquiries​

Email: [email protected] Subject: Data Protection Request

Response Times​

  • Security vulnerabilities: 48 hours
  • Data requests: 30 days
  • General inquiries: 7 business days