1. Accueil
  2. Développeurs
  3. Sécurité
Sécurité · Divulgation responsable

Signaler une vulnérabilité, en confiance.

Vous pensez avoir trouvé une faille dans sutempo, son API ou ses paquets npm ? Écrivez-nous avant d'en parler publiquement : nous corrigeons, puis nous publions ensemble si vous le souhaitez.

Signaler

Un e-mail, avec de quoi reproduire.

Un rapport clair nous permet de reproduire vite. Pas besoin de preuve d'exploitation poussée : décrivez ce que vous avez vu.

contact@sutempo.com Écrire

En français ou en anglais ; l'espagnol et le portugais sont acceptés.

Divulgation responsable

Ce que nous vous demandons, ce que nous faisons.

De votre côté
  • Testez dans votre propre bac à sable : gratuit, isolé, avec un commerce fictif.
  • N'accédez pas aux données d'un vrai commerce ou d'un client ; arrêtez-vous dès la preuve obtenue.
  • Pas de déni de service, pas de test de charge, pas d'ingénierie sociale.
  • Laissez-nous le temps de corriger avant toute publication.
De notre côté
  • Pas de poursuite pour une recherche menée de bonne foi dans ces règles.
  • Un suivi par e-mail jusqu'à la correction.
  • Une mention dans le changelog une fois corrigé, si vous le souhaitez.
Périmètre

Ce qui est couvert.

Dans le périmètre

  • sutempo.com : site, /account, /admin, /console
  • L'API /v1 décrite par /openapi.json
  • Les pages de commerces et le widget
  • Le serveur MCP et les paquets @sutempo/sdk, @sutempo/booking-flow, @sutempo/mcp
  • Les webhooks émis par sutempo

Hors périmètre

  • Les services tiers eux-mêmes : Stripe, Google, Vercel, Neon
  • Les attaques volumétriques et les tests de charge
  • Un quota ou une limite atteinte, sans autre impact
  • Un en-tête manquant sans scénario d'exploitation
  • Les comptes et données d'autrui obtenus par hameçonnage
Mesures en place

Ce que le code fait déjà.

Uniquement ce qui est vérifiable aujourd'hui.

Clés limitées et hachées

Chaque clé pk_… ne porte que des permissions explicites et ne s'applique qu'aux commerces qui lui sont attribués. Elle est stockée hachée (scrypt) et ne s'affiche qu'une fois.

Vrais commerces sur autorisation

Un développeur n'accède à un vrai commerce que si ce commerce est en Pro et que son commerçant l'autorise ; l'autorisation se retire. Le bac à sable n'envoie aucun e-mail ni paiement réel.

Quotas et limites de débit

Quotas par clé, par commerce et global. Limiteur par surface : page publique, widget, écritures publiques, sessions. Au-delà : 429 avec Retry-After: 60.

Webhooks signés

HMAC-SHA256 sur horodatage.corps, dans x-platform-signature: v1=… avec x-platform-timestamp. Destinations en HTTPS uniquement, adresses privées refusées.

Connexion sans mot de passe

Code e-mail à 8 chiffres valable 10 minutes, ou Google. Échecs répétés bloqués une minute. Déconnexion des autres appareils en un clic.

Paiements vérifiés

Les webhooks Stripe entrants sont vérifiés par signature ; une signature invalide est refusée en 400. L'argent va sur le compte Stripe du commerçant.

Origines contrôlées

Les appels du navigateur hors origines autorisées sont refusés. Un commerce Pro déclare lui-même les sites où son widget peut s'afficher.

Données en Europe

Application chez Vercel, région Francfort ; base PostgreSQL chez Neon, région eu-central-1. Photos des fiches clients privées.

security.txt

Le fichier, au bon endroit.

Servi en texte brut sur /.well-known/security.txt, selon la RFC 9116.

/.well-known/security.txt
Contact: mailto:contact@sutempo.com
Expires: 2027-03-29T00:00:00.000Z
Preferred-Languages: fr, en, es, pt
Canonical: https://sutempo.com/.well-known/security.txt
Policy: https://sutempo.com/developpeurs/securite
Acknowledgments: https://sutempo.com/developpeurs/changelog