Aller au contenu

Sécurité et données

relay conserve les conversations privées de vos clients. Cette page explique où elles sont stockées, comment elles sont protégées, qui peut les lire et quand elles sont supprimées.

BrouillonVersion 0.1-draftEntrée en vigueur [EFFECTIVE DATE]Dernière mise à jour 12 novembre 2026

Le trajet d'un message

Du téléphone qui porte votre numéro jusqu'à la messagerie dans votre navigateur.

  1. Sur le téléphone

    WhatsApp chiffre le message de bout en bout, jusqu'à chaque appareil lié au numéro.

    La passerelle de relay est l'un de ces appareils liés.

  2. L'appareil lié

    Comme WhatsApp Web, la passerelle déchiffre le message pour que vous puissiez le lire.

    Elle tourne à Francfort, sans adresse publique, et ses clés de session ne la quittent jamais.

  3. Stocké à Francfort

    Le texte va dans la base de données, les médias dans un espace de stockage privé.

    Les deux sont supprimés une fois sortis de la période de votre offre : 90, 180 ou 365 jours.

  4. Lu dans votre navigateur

    Un média s'ouvre via un lien signé qui expire au bout de 5 minutes.

    Chaque lien est émis à la demande, jamais mis en cache, jamais journalisé.

Brouillon soumis à revue juridiqueCette page décrit le fonctionnement actuel de relay, mais nos conseils ne l'ont pas encore relue. Les éléments entre [crochets] sont des faits qu'il nous reste à confirmer.

En bref

  • Tout ce que relay stocke reste dans l'UE, à Francfort.
  • Les médias sont privés et ne s'ouvrent que via des liens qui expirent au bout de 5 minutes.
  • Les clés de session WhatsApp restent dans le stockage propre de la passerelle, jamais dans la base de données de relay.
  • Les messages et médias sont supprimés une fois sortis de la période de votre offre, ou quand vous supprimez le numéro.
  • Les journaux, rapports d'erreurs et statistiques ne contiennent jamais de contenu de message ni de numéro de téléphone.

1Où sont vos données

relay fonctionne à Francfort, en Allemagne. L'application, sa base de données, ses files d'attente et la passerelle WhatsApp tournent chez DigitalOcean (région FRA1) ; l'espace de stockage privé des médias est chez Google Cloud (région europe-west3), dans la même ville.

Vos données WhatsApp (messages, médias, contacts et groupes) ne sont stockées que là. Elles ne quittent la région qu'à votre demande : quand vous ouvrez la messagerie, appelez l'API ou recevez des webhooks sur les URL de votre choix.

Toutes les adresses de relay, dont ce site, l'application et l'API, sont placées derrière Cloudflare, qui les protège des attaques et achemine le trafic entre vous et nos serveurs. Sur ce trajet, les données de messages transitent par le réseau mondial de Cloudflare et peuvent être traitées hors de l'UE [CONFIRM REGION]. Les webhooks que nous vous envoyons partent directement de nos serveurs vers vos URL.

Les données de compte et de facturation parviennent aussi à quelques prestataires, comme notre prestataire de paiement. Chacun est listé avec sa localisation et la garantie qui encadre le transfert.

2Comment les messages et médias sont stockés et lus

Le texte des messages, les contacts et les détails des discussions sont stockés dans notre base de données PostgreSQL. Photos, vidéos, documents et notes vocales sont stockés dans un espace de stockage privé : aucun fichier n'y est public, aucun n'a de lien permanent.

Pour vous montrer un fichier, relay émet un lien signé qui expire au bout de 5 minutes. Les liens sont émis à la demande, uniquement pour votre session connectée ou vos clés API, et ne sont jamais mis en cache ni journalisés. Seule exception : pour un fichier que vous envoyez, la passerelle reçoit son propre lien, valable 10 minutes, pour le récupérer.

Les fichiers que vous envoyez vont directement de votre navigateur au stockage, via un lien d'envoi à usage unique qui fixe le type et la taille du fichier et expire au bout de 15 minutes. Un fichier reçu de WhatsApp reste au plus 30 minutes sur la passerelle, le temps que relay le place dans le stockage.

À propos du chiffrement de bout en bout de WhatsApp

WhatsApp chiffre les messages de bout en bout entre les appareils liés à un numéro. La passerelle de relay est l'un de ces appareils, comme WhatsApp Web lorsque vous l'ouvrez dans un navigateur : elle déchiffre les messages pour que la messagerie et l'API puissent les afficher. À partir de là, les protections décrites sur cette page s'appliquent.

3Chiffrement en transit et au repos

Trafic vers relay
HTTPS uniquement, en TLS 1.2 ou plus. Votre connexion aboutit chez Cloudflare, qui ouvre une seconde connexion chiffrée vers nos serveurs et vérifie leur certificat. Nos serveurs demandent à Cloudflare son certificat client et sont configurés pour refuser toute connexion qui ne le présente pas. Le HTTP simple est redirigé, et les navigateurs reçoivent l'instruction d'utiliser HTTPS pendant un an, sous-domaines compris (HSTS).
Webhooks que nous vous envoyons
Signés en HMAC-SHA256 sur l'horodatage et le corps, et envoyés uniquement vers des adresses HTTPS publiques.
Secrets de webhook, mots de passe de proxy, réponses d'API conservées
Scellés en AES-256-GCM avant d'être écrits en base de données.
Clés API
Stockées sous forme d'empreinte SHA-256 avec un court préfixe d'affichage. La clé complète n'est affichée qu'une fois, à sa création.
Bases de données et volumes de la passerelle
Chiffrés au repos par DigitalOcean. [CONFIRM WITH PROVIDER]
Stockage des médias
Chiffré au repos par Google Cloud. [CONFIRM WITH PROVIDER]

relay n'ajoute pas son propre chiffrement au texte des messages ni aux médias au-delà du chiffrement de stockage de nos prestataires : le service doit pouvoir les lire pour afficher votre messagerie, y chercher et livrer vos webhooks.

4Qui peut accéder à vos données

Dans cette version, chaque organisation a un seul compte propriétaire. Il n'y a pas encore de sièges d'équipe.

  • La connexion exige une adresse e-mail vérifiée et un mot de passe d'au moins 10 caractères.
  • Réinitialiser le mot de passe ferme toutes les sessions ouvertes.
  • Les cookies de session ne circulent qu'en HTTPS.
  • Les clés API portent des portées (read, send, admin), peuvent recevoir une date d'expiration et être révoquées à tout moment.

Journal d'audit

relay enregistre les actions d'administration avec leur auteur, leur date et leur origine (application web, API ou nos outils d'exploitation) : clés API créées ou révoquées ; points de terminaison webhook créés, modifiés, désactivés ou supprimés, et leurs secrets renouvelés ou affichés ; connexions, déconnexions et suppressions de numéros ; changements de proxy ; modifications des réglages de l'organisation et demandes de suppression ; changements d'offre ; et nos propres actions d'opérateur, comme la coupure des envois d'une organisation. Les entrées contiennent des identifiants et les réglages modifiés, jamais de secret ni de contenu de message.

Notre équipe

[STAFF ACCESS POLICY : qui chez relay peut accéder aux systèmes de production et aux données de messages, pour quels motifs, et comment chaque accès est approuvé et consigné.]

Nos outils d'exploitation tournent sur un port interne sans route publique et refusent toute requête qui ne porte pas de jeton d'opérateur.

5Isolation des sessions WhatsApp

Quand vous liez un numéro, WhatsApp remet à l'appareil lié un ensemble de clés de session. Qui les détient peut lire et envoyer au nom de ce numéro : elles sont donc tenues à l'écart de tout le reste.

  • Les clés de session ne sont stockées que dans le stockage propre de la passerelle, sur des volumes chiffrés au repos [CONFIRM WITH PROVIDER]. Elles n'entrent jamais dans la base de données de relay.
  • La passerelle n'a pas d'adresse publique. Seuls l'API et les workers de relay peuvent la joindre, et chaque instance de passerelle ne répond qu'à sa propre clé.
  • Les événements de la passerelle sont signés (HMAC-SHA512) et arrivent sur un port interne jamais exposé à internet.
  • Les sessions portent des identifiants internes, jamais des numéros de téléphone.
  • Supprimer un numéro déconnecte sa session de WhatsApp et la retire de la passerelle.

La passerelle garde aussi une copie de travail des discussions de chaque numéro lié, nécessaire pour importer l'historique et rattraper les messages après une reconnexion. Elle se trouve sur le même volume et disparaît avec la session. [GATEWAY STORE RETENTION]

Le réseau autour

Chaque service de notre cluster part d'une politique réseau qui refuse tout, puis n'est autorisé qu'aux connexions dont il a besoin. Les appels vers vos URL de webhook ne peuvent atteindre ni les plages d'adresses privées ni le service de métadonnées du cloud.

Avec l'option proxy, la connexion WhatsApp chiffrée d'un numéro sort par une adresse située dans le pays du numéro.

6Conservation et suppression

Messages et médias
La période de votre offre : 90 jours avec Starter, 180 avec Growth, 365 avec Business. Une tâche nocturne supprime tout ce qui est plus ancien, et l'import d'historique n'apporte jamais de discussions plus anciennes.
Sans offre active
La période la plus courte, 90 jours.
Journal des livraisons webhook
30 jours, ou la période de votre offre si elle est plus courte.
Discussions, contacts et photos de profil
Conservés tant que le numéro fait partie de votre organisation, et supprimés avec lui.
Réponses conservées pour les nouvelles tentatives d'API
Rejouables pendant 24 heures, puis effacées lors de la purge nocturne suivante.
Un numéro que vous supprimez
Ses discussions, messages, contacts et médias sont supprimés, et sa session WhatsApp est déconnectée.
Une organisation que vous supprimez
Chaque numéro, comme ci-dessus, ainsi que ses clés API, ses points de terminaison et son journal webhook, ses compteurs d'usage et son journal d'audit. Le propriétaire reçoit un e-mail une fois la suppression terminée.

Les suppressions s'exécutent en arrière-plan dès que vous les confirmez. Votre compte utilisateur survit à la suppression d'une organisation : vous pourrez en créer une autre plus tard. Les données de facturation sont conservées [ACCOUNTING RETENTION PERIOD] pour respecter nos obligations comptables.

Les sauvegardes détenues par notre hébergeur peuvent conserver des données supprimées jusqu'à leur expiration. [BACKUP RETENTION PERIOD]

7Des journaux sans contenu de message

Les journaux, rapports d'erreurs, événements statistiques et entrées d'audit contiennent des identifiants, des compteurs, des codes d'erreur et des statuts. Cette règle s'applique à toutes les parties de relay.

Ce qu'ils contiennent

  • Identifiants internes des organisations, numéros et messages
  • Compteurs et durées
  • Codes d'erreur et statuts

Ce qu'ils ne contiennent jamais

  • Texte ou légende d'un message
  • Numéros de téléphone ou identifiants WhatsApp
  • Noms de contacts ou de groupes
  • Fichiers médias ou liens vers des médias

Le suivi des erreurs (Sentry) et les statistiques produit (PostHog, cloud UE) ne fonctionnent qu'en production, jamais depuis le poste d'un développeur. Les rapports d'erreurs sont configurés pour ne pas collecter de données personnelles, et les statistiques se limitent à une courte liste d'événements de compte, comme une inscription, un numéro connecté ou un changement d'offre, identifiés par des identifiants internes.

Les e-mails que nous envoyons au sujet de vos numéros décrivent leur statut sans citer le numéro de téléphone ni aucun contact. La passerelle ne journalise que les avertissements, car ses lignes ordinaires contiendraient des identifiants de discussion.

8Lutte contre les abus

relay est conçu pour les conversations que vos contacts attendent, pas pour les campagnes. Ces limites protègent vos numéros et les personnes à qui vous écrivez.

  • Pas d'envoi en masse ni de diffusion : une requête envoie un message à une seule conversation.
  • Chaque numéro envoie à quelques secondes d'intervalle, avec une variation aléatoire.
  • Un numéro tout juste lié démarre avec une limite quotidienne basse, qui augmente pendant ses deux premières semaines.
  • Une limite quotidienne pour les messages adressés à des personnes qui n'ont jamais écrit au numéro.
  • Des quotas d'envoi mensuels par offre, et des limites de débit par clé API : un budget par minute fixé par votre offre et un plafond de 20 requêtes par seconde.
  • Un interrupteur d'urgence par organisation : quand nous l'activons, tout envoi est refusé, depuis la messagerie comme depuis l'API, et le changement est consigné dans le journal d'audit.

9Signaler une vulnérabilité

Si vous trouvez une faille de sécurité dans relay, écrivez à support@wrelay.site. Notre fichier security.txt se trouve à l'adresse https://wrelay.site/.well-known/security.txt.

Ce qu'il faut indiquer

  • Ce que vous avez trouvé, et où
  • Les étapes pour le reproduire
  • L'impact que vous lui attribuez

Pendant vos tests

  • N'utilisez que des comptes et des numéros qui vous appartiennent.
  • N'accédez pas aux données d'autrui, ne les modifiez pas et ne les supprimez pas.
  • N'écrivez pas à des personnes qui n'y ont pas consenti, et ne dégradez pas le service pour les autres.

Nous accusons réception de chaque signalement sous [RESPONSE TIME] et vous tenons informé jusqu'à la correction. [SAFE HARBOR TERMS] [BUG BOUNTY TERMS, IF ANY]

10Certifications et conformité

relay ne détient aujourd'hui aucune certification de sécurité : ni certificat ISO 27001, ni rapport SOC 2. Nous n'en mentionnerons une ici qu'une fois délivrée.

Nous traitons les données personnelles conformément au RGPD et à la loi marocaine 09-08. Déclaration CNDP : [CNDP NUMBER].

Pour les données WhatsApp que vous traitez via relay, vous êtes responsable du traitement et relay est votre sous-traitant. L'accord de traitement des données précise nos engagements.

11Contact

Signalements de sécurité
support@wrelay.site
Questions de confidentialité
support@wrelay.site
Société
[COMPANY LEGAL NAME], [REGISTERED ADDRESS]