Security Architecture

How we actually
protect your data

No vague promises or compliance badges we haven’t earned. This is the full technical picture — every layer of encryption, every hosting decision, every service we self-host and why.

AES-256-GCM
Swiss Jurisdiction
No US Services

The full stack

Every service that touches your data, where it runs, and why we chose it. From the browser to the data centre — every layer is something we operate ourselves.

Encrypted Database

Self-hosted in Switzerland. All PII columns encrypted with AES-256-GCM. Per-tenant keys.

Apertus AI

Privacy-first model from Swiss National AI Initiative. Self-hosted — no data leaves Switzerland.

Postal Email

Own mail servers on Swiss infra. Every major email provider bans adult services in their TOS.

blushdesk.ch/infrastructure
Infrastructure Architecture
ClientTLS 1.3 Encryption
ApplicationSelf-Hosted Runtime
AI ModelApertus (Self-Hosted)
EmailPostal (Self-Hosted)
DatabaseEncrypted at Rest (AES-256)
HostingSwiss Data Centre

All layers self-hosted on Swiss infrastructure

blushdesk.ch/database
Database Record — Client #847
idcl_9f7a2b...
namea4f8c2e1:7b3d...91f0
emaile2b9d4a7:c8f1...3a6e
phone9c1e7f3b:a2d6...8b4c
tags["regular", "verified"]
notesf7a3b8c1:d4e9...2c7f
preferences3b8f1a2e:c6d7...9e0a
createdAt2026-02-14T...

Fields with lock icon are AES-256-GCM encrypted at rest

Encryption, explained simply

Every piece of personal information — client names, emails, phone numbers, session notes — is encrypted before it touches the database.

AES-256-GCM

Authenticated encryption with unique random IVs for every field. The same standard banks use.

Per-tenant keys

Each account gets its own encryption key. A breach of one cannot decrypt another account.

TLS 1.3 in transit

All connections use TLS 1.3. No downgrade attacks, no legacy cipher suites.

What we can't see

Client names, emails, phone numbers, notes, preferences — all encrypted. Our engineers can't read it.

Jurisdiction matters

Where your data lives determines who can legally access it. We chose Switzerland deliberately.

FOSTA-SESTA

US law criminalising platforms. BlushDesk is not US-based and holds no data on US soil.

CLOUD Act

Lets US authorities compel data from American companies. We're not a US company — no jurisdiction.

Five Eyes

Intelligence-sharing alliance. Switzerland is not a member and has no data-sharing agreements.

Swiss FADP

One of the strongest privacy frameworks in the world. Explicit consent, limited retention, strong individual rights.

🇺🇸
United States
FOSTA-SESTA
CLOUD Act
Patriot Act
🇬🇧
United Kingdom
Five Eyes
Investigatory Powers
🇪🇺
European Union
GDPR
Data Sharing
🇨🇭
Switzerland
FADP
Strong Privacy

No third-party dependencies on the data path

Every external service in a typical SaaS stack — email delivery, AI inference, analytics, error tracking — is a place where your data goes somewhere you don’t control, governed by a Terms of Service you didn’t write.

We replaced all of them. Postal handles email on our hardware. Apertus runs the AI on our hardware. Matomo handles analytics on our hardware. There’s no third-party in the data path because there’s no third party at all.

blushdesk.ch/services
Third-party services we replaced
Email deliveryPostal (self-hosted)

Mailgun, SendGrid, ResendAll ban adult services in TOS

AI / LLMApertus (self-hosted)

OpenAI, Google, AnthropicData sent to US companies

AnalyticsMatomo (Self-hosted)

Google Analytics, MixpanelAdtech tracking of users

Error trackingSelf-hosted logging

Sentry, DatadogPII in error payloads

Day-to-day security practices

Security isn’t a one-time setup. These are the ongoing practices that keep your data safe.

Dependency auditing

Automated scanning of every npm package for known vulnerabilities before deployment.

Secret management

API keys, database credentials, and encryption keys stored in environment variables — never in code.

Secure authentication

Passwords hashed with bcrypt (cost factor 12). Short-lived JWT sessions. First-party only.

Crypto-random filenames

Uploaded files renamed to random UUIDs. No original filenames, no metadata retained.

Input validation

Every form input validated server-side with Zod schemas. Protection against injection, XSS.

Security headers

Strict CSP, X-Frame-Options, and hardened file-serving headers on all responses.

Privacy isn’t a feature. It’s the foundation.

Your data deserves better than vague promises

Join the private beta and see how a platform built for your industry actually protects you.

Free during the private beta. No credit card required.