SANDBANK Logo

Privacy Policy

Updated: 17 Feb 2026

Scope

This privacy policy applies to the marketing website https://sandbank.cloud as well as the Sandbank web application (app), opt‑in features (waitlist, newsletter, product updates, discounts, blog updates) and our internal admin area (Admin Console).

We process data in accordance with the GDPR and applicable e‑privacy rules (e.g. TDDDG).

The website is aimed exclusively at businesses.

Roles in B2B SaaS (controller / processor)

Sandbank is a B2B SaaS application. Depending on the processing activity, we act either as controller or as processor.

  • As controller we process account, security, billing and support data that is required to provide and operate the service.
  • For data that customers connect or upload to Sandbank (“Customer Content”), the customer typically acts as controller. We process such data as a processor under a DPA (Art. 28 GDPR).

Data subject rights note: If your data is included in a customer’s Customer Content (e.g. as an employee), please contact the respective customer (e.g. your employer). For requests about your Sandbank account data you can use the DSAR features in the in‑app privacy panel or contact us (support@sandbank.cloud).

1. Controller

Zweigen

Paul Zehm (sole proprietorship)

Koberg 20

23552 Lübeck

Germany

support@sandbank.cloud

0151 / 207 73 290

2. Data Protection Officer

No DPO appointed (not legally required).

3.1 Requirement to provide data

Some data is required to provide certain functionality:

  • Account/sign-in: without a business email and required authentication data we cannot provide an account.
  • Billing: without contract and invoice data (e.g. company name, billing address; VAT ID where provided) we cannot correctly bill paid services.
  • Optional: consent-based web analytics (PostHog) and newsletter/opt-in are optional; the service can generally be used without this consent.

4. Hosting, security, server & WAF logs

Our website servers run in European data centres provided by OVHcloud S.A.S. (EU). Domain management and our email inboxes are provided by mittwald CM Service GmbH & Co. KG (Germany/EU).

We use an OVHcloud load balancer with Web Application Firewall (OWASP CRS) plus self‑hosted observability (OTEL/SigNoz, EU) and a dedicated Redis database for rate‑limits (EU).

4.1 Processed log data (site + /api/public/opt-in)

When visiting our website and API we process:

  • IP address
  • date and time
  • hostname, path, HTTP method, HTTP status
  • user‑agent, referrer (if any)
  • request/trace ID, rate‑limit decision
  • no request bodies

Purposes: delivery, stability, security, abuse detection, rate‑limits.

4.2 Storage locations & retention

SystemRetentionLocation
OVHcloud web server/WAF14 daysEU
Observability (OTEL/SigNoz)7 daysself‑hosted, EU
Redis rate‑limitsshort‑livedself‑hosted, EU
Mittwald mail/domain logsprovider default (short-term technical logging)EU (Germany)

IP addresses are not anonymized but used exclusively for security and operational purposes.

Legal basis: Art. 6(1)(f) GDPR (legitimate interests: stability, security, abuse prevention).

5. TLS/SSL

Transport encryption according to current best practice.

7. Cookies & local storage (marketing site)

7.1 Essential cookies

  • klaro – stores consent status (365 days).
  • WAF security cookie (OVHcloud) – attack detection, ~30 minutes.
  • No session/CSRF cookies for opt‑in (stateless API).
  • PostHog cookies/storage: pseudonymous IDs, events, technical data.

7.3 Cookies/storage in the app (essential)

For login and security of the Sandbank app we use essential cookies. They are required to provide the service you explicitly requested.

  • app session cookie (__Host-sandbank.session-token, up to 4 hours)
  • device identifier (__Host-sandbank.device-id, up to 180 days)
  • CSRF protection (e.g. __Host-sandbank.csrf-token and __Host-sandbank.csrf-bff-token)
  • language/locale (sandbank.locale)

Cookie names, lifetimes and categories are listed in the cookie overview (annex).

8. Web analytics (PostHog, self‑hosted in the EU)

We process pseudonymous IDs, events, and technical data. No third‑country transfers. Session replay is disabled by default. Event retention: up to 180 days.

Legal basis: consent (Art. 6(1)(a) GDPR; applicable e‑privacy rules).

You can withdraw consent at any time via the cookie settings.

9. Waitlist, newsletter, product updates

Public API /api/public/opt‑in processes:

  • email address, optional name, locale
  • preferences (categories), UTM parameters, path/referrer
  • double‑opt‑in token (hash only), DOI status
  • worker/job metadata (PgBoss), delivery status at the mail service
StorePurposeLocation
Marketing Postgres (dedicated)opt‑in data, preferences, DOI statusEU
Redis (dedicated)rate‑limits for public APIEU
PgBoss queue/workerDOI sending, cleanup jobsEU
SMTP – Brevosending DOI and marketing emailsEU region
  • Brevo: no open/click tracking enabled.

Legal basis: consent (Art. 6(1)(a) GDPR); proof/blacklist: Art. 6(1)(f) GDPR.

Retention: active subscriptions remain stored until withdrawn/unsubscribed. After unsubscribing, we delete email/name (PII) and keep only pseudonymous DOI proof (e.g. email hash, timestamps, status) for up to 3 years.

9.1 App & integrations (data sources, OAuth)

The Sandbank app allows you to connect external data sources (integrations) via OAuth2 to build BI analytics and dashboards.

Core principles: tokens are processed server-side only, stored encrypted, and never exposed to the browser. Provider API calls are executed server-side only via allow-listed egress destinations.

Important: For OAuth integrations you are redirected to the respective provider (e.g. Google/LinkedIn) for authentication/authorization. Those providers process your data as independent controllers. Sandbank processes OAuth-derived data only to deliver the requested product functionality.

Processed data (typically)

  • OAuth tokens (access/refresh/expiry), stored encrypted
  • account/provider identifiers (e.g. providerSubject) and resource IDs (e.g. property/site/account)
  • aggregated metrics and optional dimension slices as BI read-models (no tokens, no secrets)

Deletion on disconnect (full purge)

When you disconnect an integration, we start an async purge job and delete the related tokens, bindings, discovery snapshots/indexes, and all derived analytics data (full purge), unless statutory retention obligations apply. Depending on data volume, deletion may take a few minutes.

Integrations overview (incl. planned)

Additional integrations may be planned and will only be activated after approval/terms review.

IntegrationStatusDataRetentionNotesDeletion
Google Ads (google-ads)available (app)OAuth tokens (encrypted), resource IDs (customer), aggregated ads metrics/dimension slices (no creatives)snapshots/index short-lived; analytics read-models per granularity (hour/day/week/month; see policy)provider calls server-side only; allow-listed egress; no storage of ad texts/assetsdisconnect starts an async full purge (tokens, bindings, snapshots/index, analytics data), unless legal retention duties apply
Google Analytics 4 (google-analytics)available (app)OAuth tokens (encrypted), resource IDs (property), aggregated metrics/dimension slices (BI read-models)snapshots/index short-lived; analytics read-models per granularity (hour/day/week/month; see policy)provider calls server-side only; allow-listed egress; no tokens in clientdisconnect starts an async full purge (tokens, bindings, snapshots/index, analytics data), unless legal retention duties apply
Google Business Profile (google-business)available (app)OAuth tokens (encrypted), resource IDs (location/account), aggregated metrics (no review texts stored)snapshots/index short-lived; analytics read-models per granularity (see policy)only derived time series metrics are persisted; no content/review textsdisconnect starts an async full purge (incl. tokens, snapshots/index/analytics), unless legal retention duties apply
Google Search Console (google-search-console)available (app)OAuth tokens (encrypted), resource IDs (site), aggregated SEO metrics (optional: potentially sensitive dimensions like query/page)snapshots/index short-lived; analytics read-models per granularity (see policy)dimensions like query/page may contain sensitive strings and are not processed as defaultsdisconnect starts an async full purge (incl. tokens, snapshots/index/analytics), unless legal retention duties apply
LinkedIn (Ads) (linkedin-ads)plannedOAuth tokens (encrypted); no discovery/analytics storage without approvaltokens until disconnect; discovery/index/analytics disabled by default (tokens-only)additional terms/program approval required; without approval analytics/discovery remain disableddisconnect starts an async full purge; while tokens-only is active this typically affects tokens only; once enabled it also covers snapshots/index/analytics
LinkedIn (Organic) (linkedin-organic)plannedOAuth tokens (encrypted); no discovery/analytics storage without approvaltokens until disconnect; discovery/index/analytics disabled by default (tokens-only)LinkedIn API/portability terms may add constraints (e.g. retention limits, “no mixing”)disconnect starts an async full purge; while tokens-only is active this typically affects tokens only; once enabled it also covers snapshots/index/analytics

9.2 Billing & accounting

For billing and statutory obligations we process contract and invoice data (e.g. company, contact person, billing address, VAT ID where provided). Payment processing may be handled via Mollie; we do not store full card/bank details in our systems.

Retention: invoices and accounting evidence are typically retained for 10 years (statutory retention).

9.3 Retention, backups, deletion (app)

We store personal data only as long as required for the respective purposes or as required by law. For the app, technical backup retention also applies.

AreaRetention (typical)Notes
Account deletion request (DSAR)30 days (grace period)Account is blocked immediately; final purge follows after retention unless legal hold applies.
Backups30 daysBackups cannot be selectively purged; deletions only take effect in backups after retention expires.

9.4 Admin area (internal)

For operations, support, and administration we use an internal admin area (Admin Console). Access is restricted to authorized personnel only and protected by technical controls (e.g. access-restricted network environment, rate-limits) as well as authentication and role-based access control (RBAC).

Processed data

  • Admin account: user ID, email address, roles/permissions, session key, MFA claims (as provided by the IdP).
  • Tenant & user administration: organization/tenant IDs, user IDs, invites (email, role, status, timestamps, invitedBy/revokedBy), suspension/deactivation reasons (if provided).
  • Support inbox: support case IDs, organization reference, requester email address, status/category, snippets and reply texts; where applicable ticket references (e.g. Zammad ticket ID/link).
  • Marketing/opt‑in administration: opt‑in status/preferences, sending status (outbox), template key, delivery status (no open/click tracking).
  • API keys (admin): name, prefix, permissions, rate-limits, expiration (plain key only on issuance).
  • Technical & audit data: IP address, user‑agent, request ID, timestamps, actions/resources (audit logs).

Cookies/storage (admin area)

The admin area uses essential, host-only cookies/storage keys for authentication and session security (session, CSRF, device identifier). Cookie/storage details for public surfaces (marketing site + app) are listed in the cookie overview (annex).

Legal bases: Art. 6(1)(b) GDPR (contract performance/support) and Art. 6(1)(f) GDPR (operations, security, abuse prevention, auditability). Where required, legal obligations may apply as well (Art. 6(1)(c) GDPR), e.g. compliance/retention duties.

Recipients/processors: ZITADEL (authentication/IdP), OVHcloud (hosting) and – where applicable – ticketing (self-hosted; tool: Zammad). No marketing analytics/tracking is performed in the admin area.

Note: The admin area is an internal area for employees/operators and not intended for customers/end users.

9.5 Indirect data collection (Art. 14 GDPR)

Some personal data is not collected directly from you, but comes from customer contexts or connected providers.

  • Customer Content: data processed by a customer in Sandbank is provided to us by that customer.
  • Integrations/OAuth: after your authorization, connected providers (e.g. Google/LinkedIn) deliver data to our server-side interfaces.
  • System events: audit, security and workflow metadata is generated technically during service usage.

Where Art. 14 GDPR applies, we provide transparent information on categories, purposes, recipients and retention periods. For customer content, the respective customer is typically responsible for primary notice.

10. Contact via email/phone

Data: name (if provided), email address, content, meta/header data.

Recipient: our email provider mittwald CM Service GmbH & Co. KG (Germany/EU).

Storage: until completion of the request and up to 12 months thereafter unless longer statutory retention applies.

Legal basis: Art. 6(1)(b) GDPR (contract/pre-contract) and Art. 6(1)(f) GDPR (legitimate interest in replying to requests).

12. No external embeds

  • no videos
  • no maps
  • no chat widgets
  • no social plugins

13. Data subject rights

  • access
  • rectification
  • erasure
  • restriction
  • data portability
  • objection
  • withdraw consent

How to exercise rights: In the app, the privacy panel provides DSAR features for data export and account deletion. You can also contact us via email: support@sandbank.cloud.

If your data is included in a customer’s Customer Content, please direct requests to the respective customer as controller, as we usually cannot associate data subjects without a customer reference.

14. Third-country transfers and safeguards

Sandbank is operated in the EU by default. For specific integrations, provider-side processing outside the EU/EEA may still occur.

  • Where an adequacy decision of the EU Commission exists, we rely on that transfer mechanism.
  • Otherwise we rely on EU Standard Contractual Clauses (Art. 46 GDPR) and supplementary technical/organizational safeguards.
  • The exact transfer scenario depends on the connected provider and its product configuration.

We provide additional details on transfer safeguards on request (support@sandbank.cloud).

15. Complaint

You may lodge a complaint with a supervisory authority. The authority competent for our company is the Independent State Centre for Data Protection Schleswig-Holstein (ULD), Holstenstraße 98, 24103 Kiel, Germany.

16. No automated decision‑making

No profiling, no automated decisions.

17. Changes to this policy

We update this policy when services, legal requirements or technical processes change. The current version is always available on this page.

18. Annex – subprocessors

Subprocessors process personal data on our behalf where necessary for hosting, operations and support. At this time, we only use subprocessors located within the EU.

SubprocessorServiceLocationNotes
OVHcloud S.A.S.Hosting (compute, load balancer, WAF)EU
mittwald CM Service GmbH & Co. KGDNS, mailboxes (MX/IMAP)Germany/EU
Brevo (Sendinblue GmbH / Brevo)Email delivery (opt-in/newsletter)EUNo tracking pixels; restricted sender setup

19. Annex – processing overview

ProcessingPurposeDataLegal basisRecipientsThird countryTransfer mechanism / safeguardsRetention
Server/WAF logsSecurity, operation, rate-limitsfull IP, time, host, path, method, status, user-agent, referrer (if any), request/trace ID, RL decisionArt. 6(1)(f) GDPROVHcloud, OTEL/SigNoz (self-hosted)noNo third-country transfer planned14 days (OVH), 7 days (observability)
Consent managementManage consentconsent status, timestamp, browser IDe-privacy; Art. 6(1)(c/f) GDPRself-hostednoNo third-country transfer planned365 days
PostHog (analytics)Web analyticspseudonymous IDs, events, technical dataArt. 6(1)(a) GDPR; e-privacyself-hosted (OVH)noNo third-country transfer plannedup to 180 days
Sandbank app - integrations (OAuth, data sources)Connect data sources and provide BI analytics/dashboardsOAuth tokens (encrypted), account/provider identifiers, resource IDs, aggregated metrics/slices (read-models); no tokens in clientArt. 6(1)(b) GDPR (contract) and where applicable Art. 6(1)(f) GDPR (operations/security)OVHcloud (hosting) and connected data providers (see integration overview in privacy policy)provider-dependentWhere providers process outside EU/EEA: adequacy decision or EU Standard Contractual Clauses (Art. 46 GDPR) plus supplementary safeguardstokens until disconnect; snapshots/index short-lived; analytics read-models: hourly 14 days, daily 2 years, weekly 5 years, monthly 5 years
Billing & accountingBilling, contract administration, tax/legal obligationsinvoice/customer data (company, address, VAT ID where provided), invoices, payment status/provider IDs; no full card/bank details stored in our systemsArt. 6(1)(b)/(c) GDPROVHcloud (hosting), payment provider (Mollie) where usednoNo third-country transfer plannedinvoices/accounting: 10 years (statutory retention)
BackupsOperational resilience, disaster recoverybackups may include technical copies of production data (including personal data where present)Art. 6(1)(f) GDPRself-hosted (OVHcloud EU)noNo third-country transfer planned30 days (rotation/overwrite); deletions only take effect in backups after retention expires
Opt-in / newsletterDOI, delivery, preferencesemail (encrypted), optional name (encrypted), categories, UTM, DOI token hash; after unsubscribe: pseudonymous proof only (email hash, status, timestamps), PII deletedArt. 6(1)(a/f) GDPRmarketing Postgres, Redis RL, PgBoss, BrevonoNo third-country transfer plannedactive: until withdrawn; proof: 1095 days
Admin area (internal)Operations, support, security, auditadmin account (ID, email, roles), tenant/user administration (IDs, invites), support cases (email, snippets/replies), technical data (IP, user-agent, request ID), audit logsArt. 6(1)(b/f) GDPROVHcloud (hosting), ZITADEL (IdP), ticketing (self-hosted; tool: Zammad)noNo third-country transfer plannedsessions up to 4h; audit logs as needed (typically short periods)
Contact via email/phoneCommunicationcontact details, contentArt. 6(1)(b/f) GDPRMittwald (email provider)noNo third-country transfer plannedup to 12 months
Account deletion (DSAR)Fulfill deletion requests and prevent abuse (subject to legal hold/retention duties)deletion request status, audit/evidence, technical metadata; account is blocked immediately, final purge followsArt. 6(1)(c)/(f) GDPROVHcloud (hosting)noNo third-country transfer plannedfinalization after retention/grace period (typically 30 days), unless legal hold applies