Seguridad · TLS · Cabeceras · DNS

Seguridad del sitio

Última revisión: 20 de septiembre de 2026

Cómo está protegido XaviTools y qué registro DNS conviene mantener en el registrador.

XaviTools se sirve íntegramente por HTTPS con certificados emitidos por Let's Encrypt y forzados con HTTP Strict Transport Security. Esta página documenta la postura de seguridad de forma honesta, incluyendo los riesgos que asumimos de manera deliberada.

1. TLS y HSTS

Todo el tráfico se sirve bajo https://xavitools.com. La cabecera Strict-Transport-Security con max-age=31536000 obliga al navegador a no volver nunca a HTTP durante un año.

2. Cabeceras de seguridad (netlify.toml)

El sitio las emite de forma global (sobre /*) desde la configuración de Netlify. Tip: cabeceras ya deprecadas por los navegadores (como X-XSS-Protection) no se sirven, porque hacerlo no mejora la seguridad.

  • Strict-Transport-Security max-age=31536000; includeSubDomainsobliga a HTTPS (HSTS)
  • X-Frame-Options DENYevita incrustación en iframes
  • X-Content-Type-Options nosniffevita MIME-sniffing
  • Referrer-Policy strict-origin-when-cross-originrecorta la URL remitente
  • Permissions-Policy restrictivolimita APIs del navegador
  • Cross-Origin-Opener-Policy same-originaísla ventanas (MitM / Spectre)
  • Cross-Origin-Resource-Policy same-originevita cargas cross-origin no deseadas

3. Content-Security-Policy (CSP)

La política global es: default-src 'self'; img-src 'self' data: https:; script-src 'self' 'unsafe-eval' https:; style-src 'self' 'unsafe-inline' https:; connect-src 'self' https:; frame-ancestors 'none'.

Riesgos aceptados de forma deliberada (se revisan periódicamente):

  • RISK-001 — CSP permite 'unsafe-eval' en script-src y 'unsafe-inline' en style-src. Los scripts son estáticos propios del SPA (prerender); se apunta a migrar a hashes cuando se eliminen los estilos dinámicos.
  • RISK-002img-src https: permite imágenes de cualquier host HTTPS. Las imágenes propias se validan en el sitemap; la ampliación es deliberada para embeds y avatares.
  • RISK-003frame-ancestors 'none' con X-Frame-Options: DENY: ninguna página puede incrustarse en iframes ajenos. Comportamiento deseado.

El control interno (ControlWeb) puntúa estas políticas y firma sus informes con SHA-256; si un dominio nuevo aparece en la CSP sin estar en la allowlist, emitirá un aviso de deriva.

4. Guía DNS (registrador)

Estos registros no los gestiona Netlify; se configuran donde está el dominio. La verificación semanal interna comprueba si cumplen la guía:

TipoFijarPor qué
CAAissue "letsencrypt.org"restringe qué autoridades pueden emitir certificados para el dominio
SPFv=spf1 -allXaviTools no envía correo transaccional con este dominio: cualquier SPF sin -all sería spoofeable
DMARCv=DMARC1; p=reject; rua=mailto:javier@xavitools.compolítica de rechazo de correos suplantados

Estado: cumplida (✅) si la verificación encuentra los tres registros; en caso contrario, requiere acción en el registrador (⚠️). No hay registro SPF con+all, que dejaría el dominio abierto a suplantación.

5. Divulgación responsable · security.txt

Sitio provisto de /.well-known/security.txt con contacto y política. Para reportar un fallo de seguridad: javier@xavitools.com. No investigues en producción: usa una copia y danos tiempo razonable antes de difundir.

Más sobre cómo tratamos tus datos: política de privacidad.