Un site conçu pour ne pas être un problème
Un site de mairie est un point d’entrée public : coordonnées d’agents, actualités, formulaires, données d’habitants. Civika s’appuie sur les standards éprouvés du web et sur des pratiques d’ingénierie ordinaires — aucune magie, aucun claim de « niveau militaire », juste ce qu’il faut pour dormir tranquille.
Authentification des agents et des élus
Chaque agent municipal reçoit un compte nominatif. Les mots de passe sont hachés en base avec bcrypt (algorithme éprouvé depuis 20 ans, résistant aux attaques par GPU) — jamais stockés en clair, jamais renvoyables par nos soins.
La double authentification est activée par défaut sur tous les comptes :
- Par e-mail — un code à 6 chiffres envoyé à l’adresse de l’agent, à saisir après le mot de passe.
- Par application d’authentification (TOTP — Google Authenticator, Authy, 1Password…), plus sûre car sans dépendance au réseau.
Un appareil validé est reconnu 45 jours glissants pour éviter la friction quotidienne — le compte reste protégé mais l’agent ne tape pas un code toutes les 10 minutes. Toute modification du mot de passe ou de la configuration 2FA révoque immédiatement la reconnaissance sur tous les appareils — garde-fou anti-vol d’ordinateur.
Les tentatives de connexion sont plafonnées : après plusieurs échecs, le compte est verrouillé temporairement. Cela bloque à la source les attaques automatisées par dictionnaire, tout en laissant l’agent récupérer son accès en quelques minutes s’il s’est simplement trompé.
Résistance aux attaques web courantes
Civika est aligné avec le référentiel OWASP Top 10, le catalogue de référence des vulnérabilités web actualisé tous les trois ans par la fondation OWASP. Les mesures suivantes sont posées dans le socle du produit :
- Injections SQL — 100 % des requêtes utilisent
des requêtes préparées (PDO en mode
prepared statements). Les données envoyées par un utilisateur ne peuvent pas être interprétées comme du code. - Cross-Site Scripting (XSS) — chaque affichage de contenu passe par un échappement HTML systématique. Les contenus rédigés en WYSIWYG passent par un nettoyeur qui n’autorise qu’une liste blanche de balises.
- Cross-Site Request Forgery (CSRF) — chaque formulaire porte un jeton unique par session, vérifié côté serveur. Un site tiers ne peut pas déclencher d’action sur votre administration en se faisant passer pour vous.
- Clickjacking — l’en-tête
X-Frame-Options: SAMEORIGINempêche votre site d’être encapsulé dans une iframe malveillante hors de votre domaine. - Chiffrement en transit — HTTPS obligatoire
(TLS 1.2 minimum), l’en-tête
Strict-Transport-Securityforce les navigateurs à ne plus jamais tenter une connexion en clair pendant un an. - Politique de sécurité du contenu (CSP) — le navigateur reçoit une liste explicite des sources dont il peut charger scripts, images, iframes et polices. Un attaquant qui injecterait malgré tout du code ne pourrait pas l’exécuter.
- Réponses sans type deviné — l’en-tête
X-Content-Type-Options: nosniffempêche un navigateur d’interpréter un PDF téléversé comme du JavaScript. - Contrôle des redirections — les URLs de redirection sont validées côté serveur avant redirection, jamais ouvertes à un paramètre externe (protection open-redirect).
Isolation stricte entre les communes
Civika est multi-tenant : plusieurs communes partagent la même plateforme, mais leurs données sont strictement cloisonnées. Trois barrières combinées :
- Sous-domaine dédié — chaque commune est
accessible sur
{votre-commune}.civika.frou sur votre nom de domaine propre. Le serveur détermine à quelle commune appartient la requête dès le premier octet. - Filtre systématique en base — toute requête de lecture ou d’écriture est filtrée sur l’identifiant de la commune courante. Un développeur qui oublierait ce filtre verrait immédiatement un contrôle bloquer la requête.
- Identifiants hachés dans les URLs d’administration
— au lieu de
?id=1245, l’admin affiche?id=_kx9m3f(hachage Feistel + HMAC-SHA256). Un utilisateur ne peut pas énumérer les contenus en incrémentant un chiffre.
Concrètement : un agent de la mairie de Cairon ne peut, techniquement, pas voir un contenu de la mairie d’Ablon, même en tentant de modifier des URLs.
Sauvegardes
Les données sont sauvegardées quotidiennement par notre hébergeur o2switch, avec chiffrement au repos, et conservées sur une fenêtre glissante. Ces sauvegardes protègent l’infrastructure contre une défaillance matérielle (perte de disque, panne serveur) : la commune ne repartirait jamais de zéro en cas d’incident majeur.
Les sauvegardes ne quittent jamais l’Union européenne : elles sont stockées sur les mêmes datacentres que la production, en France.
Pour éviter les mauvaises surprises côté agent (suppression par inadvertance d’une actualité, d’un document), les principales actions de suppression demandent une confirmation explicite et le journal d’audit (section ci-dessous) permet d’identifier immédiatement qui a fait quoi. Combiné à la publication en un clic depuis les brouillons, cela couvre la grande majorité des cas.
Journal d’audit
Toutes les actions sensibles sont tracées automatiquement dans un journal d’audit consultable depuis l’administration : connexions (réussies et échouées), créations, modifications et suppressions de contenu, changements de mot de passe, activations et désactivations de modules, actions superadmin sur la commune.
Chaque ligne du journal indique la date, l’auteur, l’action et l’objet concerné. En cas d’incident ou de contestation interne (« qui a supprimé cet article ? »), la traçabilité est immédiate, sans avoir à nous contacter.
Gestion des failles et divulgation responsable
Contrairement à un site sous CMS classique (WordPress, Joomla, Drupal…) qui exige que chaque commune fasse ses propres mises à jour de sécurité — et donc les oublie régulièrement — Civika déploie ses correctifs simultanément sur toutes les instances. Aucun agent municipal n’a de mise à jour à surveiller. C’est une décision d’architecture délibérée.
Nous acceptons les signalements de vulnérabilités en divulgation responsable à contact@civika.fr :
- Vulnérabilité critique (impact confidentialité ou intégrité) : correctif appliqué sous 48 heures.
- Vulnérabilité importante : correctif dans la semaine.
- Aucune poursuite envers un chercheur qui découvre et signale de bonne foi (harbor safe).
Ce que nous NE prétendons PAS
Par honnêteté vis-à-vis des élus qui doivent valider un choix technique, nous ne prétendons pas être ce que nous ne sommes pas :
- Nous ne sommes pas certifiés ISO 27001 — cette certification a un sens pour un opérateur d’importance vitale ou pour un cloud souverain, pas pour un éditeur de sites de mairies.
- Nous ne sommes pas homologués SecNumCloud — l’homologation ANSSI vise l’hébergement de données classifiées Diffusion Restreinte, ce qui n’est pas le cas d’un site public de commune.
- Nous n’affichons pas de badge « garanti sans faille » — aucun logiciel ne peut le promettre. Ce que nous garantissons, c’est la vitesse de correction et la transparence quand une faille est découverte.
Pour toute question technique préalable, votre DSI ou votre RSSI peut nous écrire directement à contact@civika.fr — nous répondons sous 48 heures ouvrées, avec le niveau de détail technique demandé.
Prêt à équiper votre commune ?
Essayez Civika 30 jours gratuitement, sans carte bancaire ni engagement — vous découvrez l’outil, vous décidez ensuite.
Créer le site de ma mairie