Volver al portafolio

Seguridad

Cómo reportar un problema, qué cubre esta política y el estado real de las garantías técnicas del sitio.

1. Divulgación responsable

Si encuentras una vulnerabilidad en este sitio, escríbeme a roberth_silva@hotmail.com. Incluye pasos para reproducirlo y el impacto que estimas. Me comprometo a responder, a no tomar acciones legales contra quien investigue de buena fe y a dar crédito si lo deseas.

No se ofrece recompensa económica: este es un proyecto personal, no un programa de bug bounty.

2. Alcance

  • Este dominio y sus rutas (incluida /api/me).
  • El formulario de contacto, el blog y la API pública de perfil.
  • Fuera de alcance: la infraestructura de Vercel como proveedor y las APIs de terceros que el sitio consulta (GitHub). Los repositorios de código se reportan a través de su propio programa de seguridad.

3. Medidas implementadas (verificables)

  • Cabeceras de seguridad y CSP configuradas en next.config.mjs.
  • El sitio no guarda datos personales: no hay base de datos. El blog son archivos Markdown versionados en content/blog/ y el formulario de contacto solo envía un correo, sin persistir nada.
  • Secretos (RESEND_API_KEY, GITHUB_TOKEN) solo en variables de entorno de servidor; el contrato está en .env.example y ningún valor se versiona.
  • Validación del formulario de contacto en el servidor antes de enviar el correo.
  • Sin rastreadores de terceros más allá de la analítica de Vercel.

4. Cifrado PGP

Todavía no hay una clave PGP publicada. Antes, /pgp-key.txt contenía un marcador de posición que aparentaba ser una clave real; ahora esa URL existe con una nota honesta (está enlazada desde otros sitios y no debe romperse) y el día que haya clave se pegará ahí, completa. Mientras tanto, el reporte por correo viaja sin cifrado extremo a extremo.

Para publicarla: generar el par, pegar la clave pública en /pgp-key.txt y añadir la línea Encryption: a security.txt.

5. Warrant canary

WARRANT CANARY — Roberth Silva (roberth-silva.vercel.app)
================================================================

Última actualización: 2026-09-12
Próxima revisión:     2026-12-12

DECLARACIÓN

A la fecha de última actualización indicada arriba, no he recibido ninguna
orden judicial, administrativa, ni requerimiento de ningún organismo que me
obligue a:

  - entregar datos de las personas que usan este sitio,
  - alterar el contenido del sitio,
  - o introducir cualquier forma de acceso no declarado.

Si esta declaración deja de actualizarse en la fecha de próxima revisión
indicada, debe interpretarse como que ya no puedo confirmarla.

ALCANCE Y LÍMITES (para no prometer de más)

  - Este aviso cubre únicamente este portafolio y sus servicios asociados
    (formulario de contacto y blog).
  - No está firmado criptográficamente todavía: no hay una clave PGP publicada
    (ver https://roberth-silva.vercel.app/security). Una canary sin firma aporta
    transparencia, pero no resistencia a manipulación: cualquiera con acceso al
    servidor podría editarla.
  - El archivo que se muestra en /security es exactamente este archivo.

CONTACTO

  - Reportes de seguridad: roberth_silva@hotmail.com
  - Política y alcance: https://roberth-silva.vercel.app/security
  - Metadatos RFC 9116: https://roberth-silva.vercel.app/.well-known/security.txt

6. Metadatos

El archivo /.well-known/security.txt sigue el RFC 9116 (contacto, caducidad y política). El warrant canary está en /.well-known/canary.txt.

Acciones rápidas

Navega por el portafolio, copia contactos o abre el código.