- Objetivos: Declarar versiones soportadas, el canal privado de avisos y la superficie (formulario, webhook, secretos).
- Estructura: Canal → versiones → plazos → secretos → alcance.
- Contenido a integrar según contexto: Adapta env SMTP/Upstash/Cal/Notion de este sitio. No copies la política de un SaaS ni un desk de comunidad. No commitees
.envni claves.
Reporta vulnerabilidades de forma privada:
- GitHub Security Advisories (preferido).
- O por correo a
operaciones@alexendros.dev.
No abras issues públicos con exploits, PoCs ofensivos, tokens, secretos ni PII.
| Versión | Soporte |
|---|---|
main / última Release etiquetada (vX.Y.Z) |
Activo |
| Tags anteriores | Solo rollback operativo; sin parches proactivos |
- Acuse de recibo: ≤ 5 días laborables.
- Evaluación inicial y plan: ≤ 15 días laborables (según severidad).
- Prohibido pegar secretos en issues, PRs, commits, logs de CI o artefactos.
- Valores solo en GitHub Secrets / Vercel Env; nunca en el repo:
- Proton SMTP (
SMTP_*) - Upstash Redis (
UPSTASH_*) - Cal.com webhook (
CAL_WEBHOOK_SECRET) - Notion (
NOTION_TOKEN;NOTION_LEADS_DATABASE_IDes un id público de data source, no un secreto)
- Proton SMTP (
- Rotar tokens ante sospecha de fuga o cadencia trimestral mínima del SMTP.
/api/contactes fail-closed sin Upstash o si Redis falla (HTTP 503 genérico). No devolver stacks, detalles Zod, ni nombres de variables al cliente./api/cal/webhookes fail-closed sinCAL_WEBHOOK_SECRET, Upstash o Notion (HTTP 503 genérico). Firma HMAC inválida → 401 genérico. Redis solo para idempotencia (alexendros:cal:uid:{uid}:{trigger}); Notion es la fuente de verdad de Leads. Logs sin PII.
Renovate (.github/renovate.json) cubre npm y github-actions. No hay Dependabot de version-updates.
Sitio de marketing/portfolio (alexendros.dev). Fuera de alcance: seguridad de terceros enlazados (Cal.com, Proton, Vercel, Upstash) más allá de su uso documentado.