Skip to content

Security & data protection

Your trust.
Our responsibility.

Your sales data is strategic.
Protecting it is part of our job.

European hosting, encryption, access control: the measures in place and what you need to assess them. Written for your IT and security teams (CIO/CISO).

Updated

Protected at every stepEU / FRA
Your data, protected.From the field to your information system.
  1. Your teamAuthenticated access · roles & scopes
  2. Encrypted trafficHTTPS · TLS 1.2 / 1.3
  3. Data hosted in EuropeDatabase in Frankfurt · AES-256 at rest
    EU
Tenant isolation enforced server-side

Control over your data, at every step.

01 / Independent verification

Results you can verify.

Two public scanners. Two surfaces tested.
Dated results, available without asking us.

salesia.frWebsite and application
A+View the test A+View the test

Measured on · Scale from A+ to F. The links let you view or re-run an analysis; the current result may differ. These tests assess HTTP headers and TLS, not the security of the application as a whole.

SOC 2 Type II · ISO 27001Certifications held by our database and API hosting providers. Reports available with the security pack.

Salesia is not ISO 27001
or SOC 2 certified to date.

02 / Infrastructure & encryption

In Europe.
At every sensitive point.

The business database and the API are hosted in Frankfurt. Files are stored within European jurisdiction. Traffic and data at rest are encrypted.

  1. 01
    Your teamsBrowser & mobile

    Authenticated session

  2. 02
    In transitTLS 1.2 / 1.3

    HTTPS enforced · HSTS

  3. 03
    APIFrankfurt · EU

    Scope enforcement

  4. 04
    Database & filesEU storage

    AES-256 at rest

Secrets have protection of their own.

Your connector credentials are envelope-encrypted, with a keyring kept separate from the database. They are not shown again after you enter them.

Residency stated for each processing activity.

Some services, including mapping and voice transcription, involve processing in the United States. The details are set out in the data processing agreement.

See the scope of our sub-processors

03 / Identities & access

The right access.
To the right scope.

One account, one role, one customer portfolio. The server decides which data each user can reach.

Invitations controlled
Named accounts
Accounts, sessions and authenticationIdentities

Open sign-up is disabled in production. Accounts are created on an administrator’s invitation. Passwords are hashed; reset links expire after 24 hours and sessions after 30 days.

An administrator can revoke a user’s sessions. Signing in with Google lets you apply the two-factor authentication policy of your Google Workspace organisation. There is no native MFA and no Microsoft Entra ID support yet.

Isolation between brands and sales repsScopes

The brand’s scope is resolved server-side from the authenticated session. Queries on business data are filtered by tenant_id. Field sales reps reach the scope they are authorised for; having no territory does not grant access to the whole brand.

This isolation is enforced in the application and covered by tests. We do not claim PostgreSQL isolation through row-level security (RLS).

Access by the Salesia teamAdministration

Signing in “as a customer” is disabled server-side. The internal console is restricted to named team accounts, behind a separate corporate authentication. Access to production is restricted to the technical team.

Data held on devicesMobile

The field app keeps a working copy of the authorised portfolio in its private storage. The session token is kept in the operating system’s secure storage. Signing out erases the local copy.

Reads rely on the local snapshot and writes are queued before synchronisation. Protecting the device itself also belongs in your screen-lock and device-management policy.

04 / Development & monitoring

Security is part
of the path to production.

Automated checks travel with every code change. Their role: catch mistakes before they reach your teams.

DevSecOps architectureSecure · Automate · Deliver · Monitor
  • Development
  • Integration
  • Delivery
  • Security
  • Operations
Measured on

01Develop & plan

Git repository (GitHub)
  • Source code
  • Pull requests
  • Issues
Developers
  • Local IDE
  • Coding assistant (Claude Code)
  • Pull request reviewed before merge

02Continuous integration pipeline

  1. Trigger

    On every push and every pull request to the main branch.

    GitHub Actions
  2. Build & types

    Locked dependencies, TypeScript checking, build of the site, the API, the marketplace and the mobile app; marketplace tests.

    pnpm · Node 22
  3. Static analysis

    Standard rules and in-house rules, including detection of an API route without authentication.

    Semgrep · SAST
  4. Dependencies

    Vulnerability audit that blocks at high severity; a minimum age of 24 hours for any new package.

    pnpm audit · Dependabot · SCA
  5. Secrets

    The whole Git history is scanned on every run.

    Gitleaks
  6. Migrations

    Replayed from scratch into an empty database; schema regenerated and compared; destructive SQL requires an explicit label.

    PostgreSQL 17
Merge conditions
  • Build passing
  • Types without errors
  • Tests passing
  • Static analysis with no alert
  • No secret detected
  • No high-severity vulnerability
  • Migrations replayed
  • Merge through pull request only

03Continuous delivery

Merge to the main branch
  • Automatic deployment
  • Services declared in Git (infrastructure as code)
Before the switch-over
  • Migrations and views applied in pre-deploy
  • API health check
  • If it fails, the previous version stays live
Go live
  • Managed platform · Frankfurt (EU)
  • Managed TLS · switch-over with no downtime
  • Rollback to an earlier version possible

04Continuous security

  • Static analysis

    Semgrep on every merge and every Monday across the whole codebase.

  • Dependency audit

    pnpm audit every Monday; Dependabot alerts and updates.

  • Secrets

    Gitleaks on every merge to the main branch.

  • Schema drift

    Daily comparison between the production database and the versioned schema; automatic ticket.

  • Production probe

    Site, API, database and static files checked every hour.

  • External scanners

    HTTP headers and TLS graded A+; measured on 5 September 2026.

05Observability & operations

  • API performance

    Latency and errors tracked by an APM agent in production.

  • Application errors

    Exceptions from the site, the API and the marketplace, centralised.

  • Public status page

    status.salesia.io: current status and 30-day history, updated every hour.

  • Service health

    API health check by the hosting provider, on every deployment and then continuously.

  • Audit log

    Business actions logged per organisation, with a scheduled purge.

  • Incidents

    Notification within 24 hours; response within 48 working hours.

06Infrastructure as code

Provisioning
  • Services, environment variable groups, health checks and scheduled jobs declared in Git
Platform
  • Managed hosting · Frankfurt (EU)
  • Managed PostgreSQL, 30-day continuous history
  • Files within European jurisdiction
Configuration & secrets
  • Environment variables outside the repository
  • Connector secrets envelope-encrypted, separate keyring
  • CI secrets stored encrypted
  • Governance & compliance
  • Branch protectionMerge through pull request, required CI statuses
  • Least privilegeProduction restricted to the technical team; probe and drift check read-only
  • GDPRDPA, notification within 24 h, data return within 30 days
  • Data protectionTLS 1.2 / 1.3 in transit, AES-256 at rest, envelope-encrypted secrets
  • CertificationsHosting providers SOC 2 / ISO 27001; Salesia not certified to date

Continuous improvement: every alert comes back into the repository as a reviewed change.

Each box describes a control that is in place and can be verified in the code repository. The detailed scope of the tests and the evidence available are provided on request. Download the diagram · PDF (French)

Service statusChecked every hour, published continuously.View service status

Service continuity

The field carries on.
Even with no network.

The portfolio already synchronised stays available to read. Orders and visit reports entered offline are held in a local queue, then synchronised when the connection comes back.

30days
Continuous database history

Point-in-time retention window confirmed on 2 September 2026.

Scope of this guarantee. This retention is not a proven per-customer restore. No measured recovery time objective (RTO) or recovery point objective (RPO) is published here. Availability commitments are set in the contract; service status and the observed availability history are published continuously at status.salesia.io.

The connection can wait.
Your sales route cannot.
Local reading · queued entry · synchronisation

05 / Governance & commitments

Your data.
Your rights.

Data protection carries on into the contract: processing, retention, exit rights and incident response.

Privacy policy
Exit and retentionPortability

You can export your customers and orders from the platform. On termination, we return your data in a structured, usable format (CSV / Excel) within 30 days, then delete it within 60 days with a written certificate of destruction. With no instruction within 30 days, deletion applies by default.

Backups follow a rolling 30-day window: deleted data leaves it at the end of that window.

Sub-processors and transfersDPA

The named list of sub-processors, their roles, locations and safeguards is in the annex to our data processing agreement (DPA). Any addition or replacement is notified with 30 days’ notice and a right to object with reasons.

  • Business database and API: Frankfurt, European Union.
  • Files: stored within European jurisdiction.
  • Mapping and voice dictation: processing in the United States, covered by standard contractual clauses.
  • Professional sign-in and calendar: optional services, with a scope set out in the DPA.

Services from US companies, including when they operate in Europe, are set out in that same agreement. Your business tools are connected only when you explicitly do so.

Sales data and artificial intelligenceUses

Salesia processes sales data: retail outlets, business contacts, orders and visits. The platform is not intended for patient health data or for pharmacovigilance.

Your data is not used to train models at Salesia or at its providers. Voice dictation sends the audio to produce a report; it is called when the field sales rep uses that feature.

Incident notification and handling24 hours

In the event of a personal data breach affecting you, we notify you without undue delay, and no later than 24 hours after becoming aware of it, and we assist you with your own notification obligations.

To report an incident or a vulnerability: contact@salesia.fr. Response within 48 working hours. We do not take legal action over a good-faith report, where there is no exploitation beyond the demonstration needed and no access to a customer’s data.

Ongoing incidents and the 30-day history are visible on status.salesia.io, updated every hour.

Your security review

Let’s talk architecture.
And your requirements.

Security questionnaire, DPA, list of sub-processors or a technical discussion: our team supports you through your assessment.

contact@salesia.fr · Response within 48 working hours.
Architecture note of 26 August 2026. On restoration, the qualifications on this page are authoritative.