Said SAADISecurity Officer

Ce site

Un portfolio de sécurité doit tenir lui-même

Les contrôles ci-dessous tournent dans votre navigateur, maintenant, sur la page que vous lisez.

En-têtes de sécurité reçus

  • Vérification en cours…

Requêtes de cette page

  • Mesure en cours…

Intégrité des fichiers

  • Calcul des empreintes…

Ce qui est en place

Content-Security-Policy stricte

Aucun script ni style en ligne, aucune ressource tierce : tout vient du site lui-même.

default-src 'none'; script-src 'self'; style-src 'self'; img-src 'self'; font-src 'self'; connect-src 'self'; manifest-src 'self'; base-uri 'none'; form-action 'none'; frame-ancestors 'none'; object-src 'none'; upgrade-insecure-requests; require-trusted-types-for 'script'; trusted-types 'none'

Trusted Types

Le code n'écrit jamais de HTML brut dans la page : les injections DOM sont refusées par le navigateur.

require-trusted-types-for 'script'

Isolation d'origine

COOP, COEP et CORP isolent la page des autres onglets et sites.

same-origin · require-corp · same-origin

HTTPS imposé

HSTS pendant deux ans, sous-domaines compris.

max-age=63072000; includeSubDomains

Permissions coupées

Caméra, micro, géolocalisation, paiement, USB : tout est refusé d'office.

Permissions-Policy

Zéro traceur

Pas de cookie, pas d'analytics, pas de police chargée ailleurs.

0 requête tierce

Intégrité des fichiers

Chaque fichier a son empreinte SHA-256 dans un manifeste, et les scripts portent un attribut integrity. Cela détecte une altération en transit ou dans un cache, pas un hébergeur compromis.

integrity.json

Divulgation responsable

Un security.txt selon la RFC 9116 indique comment me signaler une faille.

/.well-known/security.txt

Comment ce site est fait

HTML, CSS et JavaScript sans framework ni dépendance, générés par un script Node. Le code a été écrit avec Claude Code, sous ma direction ; les contenus viennent de mes rendus et de mes notes de projet. Les polices sont servies par le site.

Accessible

Navigation au clavier, lien d'évitement, contrastes vérifiés dans les deux thèmes, animations coupées si vous avez demandé moins de mouvement. Tout le contenu reste lisible sans JavaScript.