Política de seguridad
SendaOne se toma la seguridad en serio. Esta página describe cómo reportar una vulnerabilidad, qué esperar en cuanto a tiempos de respuesta, los límites del programa de divulgación responsable y los agradecimientos públicos a los investigadores que han contribuido.
Reportar una vulnerabilidad
Si has descubierto una vulnerabilidad en SendaOne, escribe a:
Si tu reporte contiene información sensible (proof-of-concept que explote datos de otros usuarios, credenciales filtradas, etc.) cifra el mensaje con la clave PGP pública del operador disponible en el repositorio (pendiente de publicación formal — si la necesitas urgente, solicítala vía correo plano y el operador responderá con la clave).
En el reporte por favor incluye:
- Descripción clara y reproducible del problema.
- Pasos exactos para reproducirlo (curl/HTTPie command, navegador, extensión, condiciones de red).
- Impacto observado: qué datos quedan expuestos, qué acciones se pueden hacer indebidamente, severidad estimada.
- Tu nombre, alias o handle de Twitter/GitHub si deseas reconocimiento público.
Alcance del programa
El programa cubre cualquier vulnerabilidad presente en:
- El dominio
sendaone.comy todos sus subdominios. - La aplicación FastAPI servida en el backend de Fly.io.
- Los flujos OAuth opcionales (Strava, Garmin, Wahoo, Polar, Suunto, COROS) cuando estén activos.
- El API público v1 servido en
/api/v1. - El widget RAG opcional, cuando esté activado.
NO entra en alcance:
- Vulnerabilidades en Fly.io, Cloudflare o Google (reportar directamente a sus programas).
- Reportes basados únicamente en escaneos automatizados sin explotación comprobada.
- Hallazgos de SPF/DMARC/DKIM en dominios distintos a sendaone.com.
- Reportes sobre librerías de terceros sin demostrar ruta de explotación en SendaOne.
- Phishing dirigido contra el operador personalmente.
Bug bounty
SendaOne NO opera un programa de bug bounty formal con pago monetario en el momento de redactar esta política. Los hallazgos confirmados se recompensan con:
- Agradecimiento público en esta página (con tu nombre o alias).
- Respuesta detallada del operador y oportunidad de revisar el fix antes de publicación.
- Comunicación abierta y profesional durante todo el proceso.
Si el proyecto crece a un punto en que justifique presupuesto para recompensas monetarias, lo anunciaremos en esta página.
Divulgación responsable
Nos comprometemos al siguiente proceso:
- Confirmar recibo del reporte en un plazo máximo de 48 horas hábiles.
- Comunicar la severidad estimada y un plan de mitigación en 5 días hábiles.
- Desplegar el fix en producción en un plazo proporcional a la severidad (críticos: días; altos: semana; medios/bajos: hasta 30 días).
- Coordinar la publicación del aviso con el investigador.
El investigador se compromete a:
- NO divulgar públicamente la vulnerabilidad hasta que el fix haya sido desplegado, con un máximo de 90 días desde el reporte inicial.
- NO explotar la vulnerabilidad más allá de lo necesario para demostrarla.
- NO acceder a datos de otros usuarios.
- NO ejecutar ataques de denegación de servicio.
Una divulgación realizada de buena fe siguiendo este proceso no será objeto de acción legal por parte del operador.
Agradecimientos
El operador agradece públicamente a los investigadores que han contribuido con reportes responsables. La lista se actualiza con cada corrección confirmada:
- (Aún no hay reportes externos. Sé tú el primero.)
Medidas de seguridad ya activas
SendaOne ya implementa, sin necesidad de reporte:
- Política CSP estricta, HSTS, X-Frame-Options DENY, Permissions-Policy restrictiva.
- Rate limit por IP con agrupación IPv6 /64.
- Verificación CSRF Origin/Referer en endpoints sensibles.
- Sanitización de XML con defusedxml (XXE-safe).
- SecretStr de Pydantic para credenciales en memoria.
- Comparación de tokens con secrets.compare_digest (timing-safe).
- Cloudflare con SSL Full Strict, Bot Fight Mode, AOP y WAF.
- Origin Cloaking middleware: rechaza requests directos a fly.dev sin cabecera CF-Connecting-IP.