Files
Dinawo 133feff75d
Release / Release / open changeset PR (push) Has been cancelled
CI / Build, typecheck, test, a11y (push) Has been cancelled
feat(v1): bloquants release v1 — tests, stories, visual regression, gouvernance, publishing
6 chantiers v1 sur 7 livrés (DataTable refonte reportée car nécessite
2-3j en propre — TanStack Table + virtualisation + filter builder).

v1-A — Tests (4 → 22 fichiers) :
- Avatar, AvatarGroup, UserCard, MetricCard, ProfileHeader, Tooltip,
  Sheet, Drawer, Slider, ToggleGroup, Tabs, Pagination, Accordion,
  Switch, Badge, ConfirmDialog, Popover, Menu, Text, PricingCard,
  FeatureCard, Toast — chacun avec render + clavier + axe-core.

v1-B — Storybook (7 → 23 fichiers) :
- Avatar, UserCard, ProfileHeader, MetricCard, PricingCard,
  FeatureCard, Sheet (4 sides), HoverCard, Slider, ToggleGroup,
  Menu+ContextMenu, Toast (avec démo "Empiler 5"), Tabs,
  Pagination, Accordion, Badge.

v1-D — Visual regression Playwright :
- playwright.config.ts (light + dark, threshold strict 0.2)
- e2e/visual.spec.ts (20 stories critiques)
- Step CI + upload report en cas de fail

v1-E — Site doc Starlight rempli :
- 11 pages composants détaillées (Button, Input, Tooltip, Dialog,
  Toast, Avatar, ThemePicker, MetricCard, PricingCard, ToggleGroup,
  Slider) avec API, anatomie, do/don't, A11y.

v1-F — Publishing Verdaccio :
- verdaccio/config.yaml, docker-compose.verdaccio.yml, .npmrc
- README setup local + déploiement prod + backups + sécurité

v1-G — Gouvernance :
- LICENSE, CONTRIBUTING.md, CODE_OF_CONDUCT.md, SECURITY.md
- CODEOWNERS, PR template, 3 issue templates (bug/feature/rfc)

Bug fix bonus : tooltip dark mode (text-primary comme bg + text-inverse
comme texte → blanc-sur-blanc invisible). Remplacé par neutral-900/0
en light + bg-raised/text-primary en dark.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-04 22:29:35 +02:00

2.6 KiB

Politique de sécurité — DSMMG

Versions supportées

Version Statut
0.2.x Active
0.1.x Plus supportée — migrer vers 0.2 (cf. docs/src/content/docs/intro/migration.md)

Une version mineure reçoit des correctifs de sécurité jusqu'à la sortie de la mineure suivante. La mineure précédente reçoit uniquement les correctifs critiques pendant 90 jours.

Signaler une vulnérabilité

Ne pas ouvrir d'issue publique pour une vulnérabilité.

Envoyer un e-mail à security@managemate.fr avec :

  1. Description du problème.
  2. Étapes de reproduction (scénario minimal, screenshots si pertinent).
  3. Impact estimé (confidentialité, intégrité, disponibilité).
  4. Version(s) affectée(s).
  5. Suggestion de correctif (optionnel).

Vous recevrez :

  • Accusé de réception sous 48h ouvrées.
  • Évaluation initiale sous 5 jours ouvrés.
  • Communication régulière sur l'avancement.
  • Une mention dans le CHANGELOG (avec votre accord) si la vulnérabilité est confirmée.

Périmètre de sécurité

Les composants du DSMMG sont des briques d'UI. Les responsabilités sécurité :

Couche Qui ?
Validation côté client (formats, longueurs) Composant DSMMG
Échappement XSS dans le rendu React React + composant
Validation serveur, autorisation, CSRF L'application consommatrice
Stockage et chiffrement des données L'application consommatrice
Protection contre injections (SQL, command) L'application consommatrice

Le DSMMG ne contient pas de logique d'authentification, de gestion de tokens, ni de stockage de secrets.

Bonnes pratiques pour l'intégrateur

  • Valider côté serveur toute entrée venant du client, même si elle a été contrôlée par un composant DSMMG.
  • Échappement systématique lors de l'injection de contenu utilisateur dans un composant (le DSMMG ne fait pas de sanitization HTML — seulement le rendu React natif).
  • Politique CSP stricte côté app : interdire 'unsafe-inline', whitelister explicitement les domaines de fonts (Google Fonts pour Figtree).
  • Mises à jour : surveiller les avis de sécurité de Radix UI, Floating UI, et autres dépendances upstream du DSMMG.

Audits

Le DSMMG est audité automatiquement à chaque release :

  • pnpm audit sur le lockfile pnpm
  • pnpm lint:contrast (vérifie les ratios de contraste WCAG AA)
  • axe-core sur tous les composants en CI
  • size-limit pour détecter les régressions de bundle

Crédits

Merci aux personnes ayant signalé des vulnérabilités responsables :

  • (en attente)