1. Início
  2. Programadores
  3. Segurança
Segurança · Divulgação responsável

Comunicar uma vulnerabilidade, com confiança.

Pensa ter encontrado uma falha na sutempo, na API ou nos pacotes npm? Escreva-nos antes de a divulgar publicamente: corrigimos e depois publicamos em conjunto, se o desejar.

Comunicar

Um e-mail, com informação para reproduzir.

Um relatório claro permite-nos reproduzir rapidamente o problema. Não é necessária uma prova de exploração avançada: descreva o que observou.

contact@sutempo.com Escrever

Em francês ou inglês; também aceitamos espanhol e português.

Divulgação responsável

O que lhe pedimos, o que fazemos.

Da sua parte
  • Teste no seu próprio ambiente de testes: gratuito, isolado e com um negócio fictício.
  • Não aceda aos dados de um negócio real ou de um cliente; pare assim que obtiver a prova.
  • Não realize ataques de negação de serviço, testes de carga ou engenharia social.
  • Dê-nos tempo para corrigir antes de qualquer publicação.
Da nossa parte
  • Não intentamos ações por investigação de boa-fé que respeite estas regras.
  • Acompanhamento por e-mail até à correção.
  • Uma menção no registo de alterações após a correção, se o desejar.
Âmbito

O que está abrangido.

Dentro do âmbito

  • sutempo.com : site, /account, /admin, /console
  • A API /v1 descrita em /openapi.json
  • As páginas dos negócios e o widget
  • O servidor MCP e os pacotes @sutempo/sdk, @sutempo/booking-flow, @sutempo/mcp
  • Os webhooks enviados pela sutempo

Fora do âmbito

  • Os próprios serviços de terceiros: Stripe, Google, Vercel e Neon
  • Ataques volumétricos e testes de carga
  • Uma quota ou limite atingido, sem outro impacto
  • Um cabeçalho em falta sem cenário de exploração
  • Contas e dados de terceiros obtidos por phishing
Medidas em vigor

O que o código já faz.

Apenas o que é verificável hoje.

Chaves limitadas e guardadas como hashes

Cada chave pk_… contém apenas permissões explícitas e aplica-se apenas aos negócios que lhe são atribuídos. É guardada como hash (scrypt) e apresentada uma única vez.

Negócios reais mediante autorização

Um programador só acede a um negócio real se este estiver no Pro e o titular o autorizar; a autorização pode ser retirada. O ambiente de testes não envia e-mails nem pagamentos reais.

Quotas e limites de pedidos

Quotas por chave, por negócio e globais. Limitação por interface: página pública, widget, escritas públicas e sessões. Acima do limite: 429 com Retry-After: 60.

Webhooks assinados

HMAC-SHA256 sobre timestamp.corpo, em x-platform-signature: v1=… com x-platform-timestamp. Destinos apenas em HTTPS; endereços privados recusados.

Início de sessão sem palavra-passe

Código de 8 dígitos por e-mail válido durante 10 minutos, ou Google. Falhas repetidas bloqueadas durante um minuto. Terminar sessões noutros dispositivos com um clique.

Pagamentos verificados

Os webhooks Stripe recebidos são verificados por assinatura; uma assinatura inválida é recusada com 400. O dinheiro chega à conta Stripe do profissional.

Origens controladas

Os pedidos do navegador fora das origens autorizadas são recusados. Um negócio Pro declara os sites onde o seu widget pode aparecer.

Dados na Europa

Aplicação na Vercel, região de Frankfurt; base PostgreSQL na Neon, região eu-central-1. Fotografias das fichas de clientes privadas.

security.txt

O ficheiro, no sítio certo.

Servido em texto simples em /.well-known/security.txt, segundo a 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