:root {
–petrol-900: #062B43; –petrol-800: #0B3B57; –petrol-700: #11709E;
–petrol-50: #E8F1F7; –orange: #F06B19; –orange-soft: #FCE9DC;
–sand: #F7F5F0; –sand-2: #EFEBE0; –ink: #0F1416; –ink-2: #4A5258;
–ink-3: #7C858B; –line: #E4E1D8; –line-2: #D2CFC4; –white: #FFFFFF;
–font-display: ‘Geist’, -apple-system, sans-serif;
–font-sans: ‘Inter Tight’, -apple-system, sans-serif;
–r-sm: 6px; –r-md: 10px; –r-lg: 14px; –r-xl: 20px;
–max: 1240px; –pad: clamp(20px, 4vw, 48px);
}
* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body { font-family: var(–font-sans); color: var(–ink); background: var(–white); line-height: 1.6; font-size: 16px; -webkit-font-smoothing: antialiased; overflow-x: hidden; }
a { color: inherit; text-decoration: none; }
img, svg { display: block; max-width: 100%; }
.wrap { max-width: var(–max); margin: 0 auto; padding: 0 var(–pad); position: relative; }
.logo { gap: 0 !important; padding: 0; }
.logo .logo-img { height: 28px; width: auto; }
.footer-brand { gap: 0 !important; }
.footer-brand .footer-logo-img { height: 32px; width: auto; }
.nav { position: sticky; top: 0; z-index: 50; background: rgba(255,255,255,0.85); backdrop-filter: saturate(180%) blur(12px); -webkit-backdrop-filter: saturate(180%) blur(12px); border-bottom: 0.5px solid var(–line); }
.nav-inner { display: flex; align-items: center; justify-content: space-between; padding: 14px 0; }
.nav-links { display: flex; gap: 28px; align-items: center; font-size: 14px; color: var(–ink-2); }
.nav-links a { transition: color .15s; }
.nav-links a.active { color: var(–ink); font-weight: 500; }
.nav-cta { display: flex; gap: 10px; align-items: center; }
.btn { display: inline-flex; align-items: center; gap: 6px; font-family: var(–font-sans); font-size: 14px; font-weight: 500; padding: 9px 16px; border-radius: 8px; border: 0.5px solid transparent; cursor: pointer; transition: all .15s ease; line-height: 1; }
.btn-primary { background: var(–ink); color: var(–white); }
.btn-primary:hover { background: var(–petrol-900); }
.btn-secondary { background: var(–white); color: var(–ink); border-color: var(–line-2); }
.btn-secondary:hover { border-color: var(–ink); }
.btn-ghost { background: transparent; color: var(–ink); padding: 9px 14px; }
.btn-lg { padding: 12px 22px; font-size: 15px; }
.page-hero { background: linear-gradient(180deg, var(–white) 0%, var(–sand) 100%); padding: 80px 0; border-bottom: 0.5px solid var(–line); position: relative; overflow: hidden; }
.page-hero-x { position: absolute; top: -100px; right: -160px; width: 540px; opacity: 0.07; color: var(–petrol-700); pointer-events: none; }
.page-hero-grid { position: absolute; inset: 0; background-image: linear-gradient(to right, rgba(11,59,87,0.04) 1px, transparent 1px), linear-gradient(to bottom, rgba(11,59,87,0.04) 1px, transparent 1px); background-size: 64px 64px; mask-image: radial-gradient(ellipse 70% 80% at 30% 50%, black 30%, transparent 70%); -webkit-mask-image: radial-gradient(ellipse 70% 80% at 30% 50%, black 30%, transparent 70%); pointer-events: none; }
.page-hero-inner { position: relative; max-width: 820px; z-index: 1; }
.breadcrumb { font-size: 13px; color: var(–ink-3); margin-bottom: 20px; display: flex; gap: 8px; align-items: center; }
.breadcrumb a { color: var(–ink-3); }
.breadcrumb .sep { color: var(–line-2); }
.breadcrumb .current { color: var(–ink); font-weight: 500; }
.eyebrow { font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase; color: var(–petrol-700); font-weight: 600; margin-bottom: 16px; display: inline-flex; align-items: center; gap: 8px; }
.eyebrow::before { content: « »; width: 24px; height: 1px; background: var(–petrol-700); }
.page-hero h1 { font-family: var(–font-display); font-weight: 500; font-size: clamp(40px, 5.5vw, 60px); letter-spacing: -0.045em; line-height: 1.0; color: var(–ink); margin-bottom: 24px; }
.page-hero h1 .accent { color: var(–petrol-700); }
.page-hero p.lead { font-size: 19px; line-height: 1.55; color: var(–ink-2); max-width: 700px; margin-bottom: 32px; }
.page-hero-ctas { display: flex; gap: 12px; flex-wrap: wrap; }
/* TOC sticky */
.toc-section { background: var(–sand); padding: 24px 0; border-bottom: 0.5px solid var(–line); position: sticky; top: 60px; z-index: 40; }
.toc-list { display: flex; gap: 8px; flex-wrap: wrap; font-size: 13px; }
.toc-list a { padding: 8px 14px; background: var(–white); border: 0.5px solid var(–line); border-radius: 999px; color: var(–ink-2); transition: all .15s; font-weight: 500; }
.toc-list a:hover { color: var(–ink); border-color: var(–ink); }
section.section { padding: 100px 0; border-bottom: 0.5px solid var(–line); position: relative; overflow: hidden; }
.section-eyebrow { font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase; color: var(–petrol-700); font-weight: 600; margin-bottom: 16px; display: inline-flex; align-items: center; gap: 8px; }
.section-eyebrow::before { content: « »; width: 24px; height: 1px; background: var(–petrol-700); }
.section-title { font-family: var(–font-display); font-weight: 500; font-size: clamp(30px, 3.8vw, 42px); letter-spacing: -0.035em; line-height: 1.1; color: var(–ink); margin-bottom: 20px; max-width: 720px; scroll-margin-top: 120px; }
.section-title .accent { color: var(–petrol-700); }
.section-lead { font-size: 17px; line-height: 1.6; color: var(–ink-2); max-width: 660px; margin-bottom: 48px; }
/* Catégorie features */
.features-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.feature-card { background: var(–white); border: 0.5px solid var(–line); border-radius: var(–r-lg); padding: 32px; transition: all .25s; position: relative; overflow: hidden; }
.feature-card:hover { border-color: var(–petrol-700); transform: translateY(-2px); box-shadow: 0 8px 32px rgba(11,59,87,0.06); }
.feature-card-x { position: absolute; top: -25px; right: -25px; width: 110px; height: 110px; color: var(–petrol-700); opacity: 0.05; pointer-events: none; }
.feature-icon { width: 48px; height: 48px; background: var(–petrol-50); color: var(–petrol-700); border-radius: var(–r-md); display: flex; align-items: center; justify-content: center; margin-bottom: 20px; }
.feature-card h3 { font-family: var(–font-display); font-size: 21px; font-weight: 500; letter-spacing: -0.025em; margin-bottom: 12px; color: var(–ink); line-height: 1.2; }
.feature-card p { color: var(–ink-2); font-size: 14px; line-height: 1.6; margin-bottom: 16px; }
.feature-list { list-style: none; }
.feature-list li { display: flex; align-items: flex-start; gap: 8px; padding: 4px 0; font-size: 13px; color: var(–ink-2); line-height: 1.5; }
.feature-list li svg { width: 13px; height: 13px; flex-shrink: 0; margin-top: 4px; color: var(–petrol-700); }
.feature-list li strong { color: var(–ink); font-weight: 500; }
/* Section grise alternée */
.section.alt { background: var(–sand); }
.section-deco-x { position: absolute; top: 50%; right: -150px; transform: translateY(-50%); width: 450px; opacity: 0.05; color: var(–petrol-700); pointer-events: none; }
/* Dashboard mockup */
.dashboard-section { background: var(–petrol-900); color: white; position: relative; overflow: hidden; }
.dashboard-section::before { content: « »; position: absolute; inset: 0; background-image: linear-gradient(to right, rgba(255,255,255,0.04) 1px, transparent 1px), linear-gradient(to bottom, rgba(255,255,255,0.04) 1px, transparent 1px); background-size: 64px 64px; mask-image: radial-gradient(ellipse 80% 80% at 50% 50%, black, transparent 70%); -webkit-mask-image: radial-gradient(ellipse 80% 80% at 50% 50%, black, transparent 70%); }
.dashboard-x { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 800px; opacity: 0.06; color: white; pointer-events: none; }
.dashboard-inner { position: relative; z-index: 1; }
.dashboard-head { text-align: center; max-width: 720px; margin: 0 auto 56px; }
.dashboard-section .section-eyebrow { color: var(–orange); justify-content: center; }
.dashboard-section .section-eyebrow::before { background: var(–orange); }
.dashboard-section .section-title { color: white; margin: 0 auto 16px; }
.dashboard-section .section-title .accent { color: #5DA9D0; }
.dashboard-section .section-lead { color: rgba(255,255,255,0.7); margin: 0 auto; }
.dashboard-mockup { background: white; border-radius: var(–r-xl); padding: 24px; max-width: 900px; margin: 0 auto; box-shadow: 0 24px 80px rgba(0,0,0,0.3); }
.dashboard-bar { display: flex; align-items: center; gap: 8px; padding: 12px 16px; border-bottom: 0.5px solid var(–line); background: var(–sand); border-radius: 10px 10px 0 0; margin: -24px -24px 24px; }
.dashboard-dots { display: flex; gap: 6px; }
.dashboard-dots span { width: 9px; height: 9px; border-radius: 50%; background: #DCD8CE; }
.dashboard-url { flex: 1; text-align: center; font-size: 11px; color: var(–ink-3); background: white; border: 0.5px solid var(–line); border-radius: 5px; padding: 3px 10px; max-width: 320px; margin: 0 auto; }
.dashboard-content { color: var(–ink); }
.dashboard-h { display: flex; justify-content: space-between; align-items: start; margin-bottom: 20px; gap: 16px; }
.dashboard-h h4 { font-family: var(–font-display); font-size: 18px; font-weight: 500; letter-spacing: -0.025em; }
.dashboard-h-sub { font-size: 12px; color: var(–ink-3); margin-top: 2px; }
.dashboard-h-pill { background: #DCF5E5; color: #15803D; padding: 4px 10px; border-radius: 999px; font-size: 11px; font-weight: 500; display: flex; align-items: center; gap: 5px; }
.dashboard-h-pill::before { content: « »; width: 5px; height: 5px; background: currentColor; border-radius: 50%; }
.dashboard-grid { display: grid; grid-template-columns: 2fr 1fr; gap: 16px; margin-bottom: 16px; }
.dashboard-card { background: var(–sand); border-radius: 10px; padding: 16px; }
.dashboard-card-label { font-size: 10px; color: var(–ink-3); text-transform: uppercase; letter-spacing: 0.06em; font-weight: 500; margin-bottom: 8px; }
.dashboard-card-row { display: flex; justify-content: space-between; align-items: center; margin-bottom: 6px; font-size: 12px; }
.dashboard-card-name { color: var(–ink); font-weight: 500; }
.dashboard-card-pct { color: var(–ink-3); font-family: var(–font-display); font-variant-numeric: tabular-nums; }
.dashboard-bar-track { height: 3px; background: var(–line); border-radius: 2px; overflow: hidden; margin-bottom: 10px; }
.dashboard-bar-fill { height: 100%; background: var(–petrol-700); border-radius: 2px; }
.dashboard-bar-fill.orange { background: var(–orange); }
.dashboard-stat { display: flex; flex-direction: column; gap: 4px; padding: 12px; background: var(–sand); border-radius: 8px; }
.dashboard-stat-val { font-family: var(–font-display); font-size: 22px; font-weight: 500; color: var(–ink); letter-spacing: -0.03em; }
.dashboard-stat-label { font-size: 11px; color: var(–ink-3); }
/* INTEGRATIONS */
.integrations-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.integration-card { background: var(–white); border: 0.5px solid var(–line); border-radius: var(–r-md); padding: 20px; display: flex; align-items: center; gap: 12px; transition: border-color .2s; }
.integration-card:hover { border-color: var(–line-2); }
.integration-icon { width: 36px; height: 36px; background: var(–petrol-50); border-radius: 8px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; font-family: var(–font-display); font-weight: 500; font-size: 14px; color: var(–petrol-700); }
.integration-name { font-family: var(–font-display); font-size: 14px; font-weight: 500; color: var(–ink); }
.integration-desc { font-size: 11px; color: var(–ink-3); }
/* CTA */
.cta-final { padding: 120px 0; text-align: center; background: var(–sand); position: relative; overflow: hidden; }
.cta-x-bg { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 600px; opacity: 0.06; color: var(–petrol-700); pointer-events: none; }
.cta-final-inner { position: relative; z-index: 1; }
.cta-final h2 { font-family: var(–font-display); font-size: clamp(36px, 4.5vw, 52px); font-weight: 500; letter-spacing: -0.035em; line-height: 1.05; margin-bottom: 20px; max-width: 680px; margin-left: auto; margin-right: auto; }
.cta-final h2 .accent { color: var(–petrol-700); }
.cta-final p { font-size: 18px; color: var(–ink-2); max-width: 540px; margin: 0 auto 36px; }
.cta-ctas { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }
footer { background: var(–ink); color: rgba(255,255,255,0.7); padding: 80px 0 32px; position: relative; overflow: hidden; }
.footer-x { position: absolute; bottom: -250px; right: -150px; width: 600px; opacity: 0.04; color: white; pointer-events: none; }
.footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 48px; margin-bottom: 48px; position: relative; }
.footer-tag { font-size: 14px; line-height: 1.55; max-width: 280px; margin-top: 12px; }
.footer-col h5 { color: white; font-size: 13px; font-weight: 500; margin-bottom: 16px; font-family: var(–font-display); }
.footer-col a { display: block; font-size: 14px; color: rgba(255,255,255,0.6); padding: 5px 0; transition: color .15s; }
.footer-col a:hover { color: white; }
.footer-bottom { display: flex; justify-content: space-between; align-items: center; padding-top: 24px; border-top: 0.5px solid rgba(255,255,255,0.1); font-size: 13px; color: rgba(255,255,255,0.5); }
@media (max-width: 980px) {
.nav-links { display: none; }
.features-grid { grid-template-columns: 1fr; }
.integrations-grid { grid-template-columns: 1fr 1fr; }
.dashboard-grid { grid-template-columns: 1fr; }
.footer-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
.integrations-grid { grid-template-columns: 1fr; }
.footer-grid { grid-template-columns: 1fr; }
.footer-bottom { flex-direction: column; gap: 12px; align-items: flex-start; }
.toc-list { gap: 6px; }
.toc-list a { padding: 6px 10px; font-size: 12px; }
}
Fonctionnalités d’Exaia
Tout ce dont vous avez besoin pour piloter votre conformité.
Quatre familles de fonctionnalités pour organiser, mesurer, agir et visualiser votre conformité. Du registre des traitements à l’audit en passant par la sensibilisation des équipes, tout est centralisé.
01 · Cartographier
Construisez la photographie complète de votre conformité.
La première étape pour piloter, c’est de savoir où on en est. Exaia vous accompagne dans la cartographie exhaustive de vos traitements, vos actifs, vos parties prenantes.
Registre des traitements
Cartographiez l’ensemble de vos traitements de données (article 30 RGPD), avec toutes les informations requises par la CNIL.
- Création guidée par formulaire
- Export PDF, Excel et JSON
- Modèle CNIL intégré
Cartographie des tiers
Identifiez vos sous-traitants, fournisseurs, partenaires et leurs niveaux d’exposition aux risques.
- Questionnaires d’évaluation
- Suivi des contrats DPA
- NPRM multi-niveaux
Inventaire des actifs
Recensez vos applications, infrastructures et bases de données pour vos analyses cyber NIS 2 et ISO 27001.
- Catégorisation des actifs
- Liens entre actifs et traitements
- Criticité et impacts
Cartographie des usages IA
Identifiez tous les systèmes IA utilisés ou développés, qualifiés selon les 4 niveaux de risque de l’IA Act.
- Qualification IA Act
- Suivi des systèmes haut risque
- FRIA intégrée
02 · Évaluer
Mesurez vos écarts et vos risques.
Une fois la cartographie en place, Exaia évalue votre niveau de conformité face aux référentiels et identifie les zones de risque prioritaires.
Questionnaires d’audit
Évaluez votre conformité à un référentiel via des questionnaires structurés, à compléter en autonomie ou avec un consultant.
- Scoring automatique
- Justifications par item
- Pondération configurable
AIPD & analyses de risque
Réalisez vos Analyses d’Impact sur la Protection des Données et vos analyses EBIOS RM directement dans Exaia.
- Modèles CNIL et ANSSI
- Matrice probabilité × impact
- Mesures de remédiation
Maturité par référentiel
Visualisez votre niveau de maturité face à chaque référentiel actif (RGPD, ISO 27001, NIS 2, etc.) en temps réel.
- Score global et par chapitre
- Historique d’évolution
- Benchmarks sectoriels
Évaluation des tiers
Envoyez à vos sous-traitants des questionnaires d’évaluation et collectez leurs réponses dans Exaia.
- Lien unique sécurisé
- Relances automatiques
- Consolidation des réponses
03 · Piloter
Mettez en œuvre vos plans d’action.
Exaia transforme vos écarts identifiés en actions concrètes, suivies en continu et reliées aux équipes responsables.
Plans d’action
Pilotez vos actions de mise en conformité avec assignations, échéances, priorités et statuts.
- Création depuis les audits
- Notifications & rappels
- Vue Kanban et liste
Gestion documentaire
Centralisez tous les documents de conformité : politiques, procédures, contrats, AIPD, registres.
- Versioning automatique
- Approbations & signatures
- Dates de revue
Gestion des incidents
Tracez vos violations de données, incidents cyber et failles de conformité avec la documentation complète.
- Qualification de l’incident
- Documentation des mesures correctives
- Registre des incidents
Exercice des droits
Centralisez et tracez toutes les demandes des personnes concernées (accès, effacement, opposition, etc.).
- Formulaire externe public
- Workflow de validation
- Délai 1 mois respecté
04 · Visualiser
Un tableau de bord en temps réel.
Toute votre conformité d’un seul coup d’œil. Vue d’ensemble pour la direction, vue détaillée pour les opérationnels.
app.examin.eu / dashboard
Tableau de bord — Direction
Suivi consolidé de la conformité Groupe
À jour
Référentiels actifs
RGPD
94%
ISO 27001
82%
NIS 2
71%
IA Act
68%
87%
Conformité globale ↑ 4.2 pts
05 · Collaborer
Une plateforme pour toute l’équipe.
Mobilisez tous les contributeurs de la conformité — métiers, IT, juridique, direction — dans un espace partagé.
Utilisateurs illimités
Invitez toute votre équipe, vos prestataires, vos auditeurs sans surcoût par utilisateur.
- Rôles & permissions granulaires
- Invitation de contributeurs externes
- Pas de surcoût par siège
Workflows d’approbation
Définissez des circuits d’approbation pour les documents sensibles : politiques, AIPD, contrats.
- Approbations multi-niveaux
- Notifications email
- Traçabilité légale
Espaces multi-entités
Pilotez la conformité de plusieurs entités, filiales ou sites depuis une vue consolidée.
- Vue Groupe et filiale
- Benchmark inter-entités
- Cloisonnement des données
Voyez Exaia en action.
Une démo de 30 minutes vous montrera comment Exaia s’adapte à vos cas d’usage et à votre stack outils.