Aller au contenu
  • DETON
  • Tarifs
  • Se connecter
  • S'inscrire

Roadmap

Ce qui est livré, ce qui vient ensuite.

Chaque affirmation renvoie à un vrai fichier source ou commit. Les affirmations de conformité sont des socles — pas des certifications.

Livré

Auth

Authentification multi-fournisseur, 2FA, clés API, surfaces passkey et socle SSO-ready avec Better Auth core plus adaptateurs applicatifs.

  • ✓
    Better Auth — connexion multi-fournisseur (email, Google, GitHub, magic link)

    Gestionnaire d'auth principal avec adaptateur drizzle. Route API : POST /api/auth/[...all].

    src/libs/BetterAuth.ts
  • ✓
    2FA TOTP — mots de passe à usage unique basés sur le temps

    Plugin TOTP câblé dans la config Better Auth.

    src/libs/BetterAuth.ts
  • ✓
    Clés API — créer, révoquer, délimiter

    Plugin Better Auth API Keys avec interface tableau de bord.

    src/libs/ApiKeys.ts
  • ✓
    Lien magique — connexion email sans mot de passe

    Template email dispatché via l'adaptateur Resend.

    src/libs/email/templates/magic-link.ts
  • ✓
    Primitives passkey — enregistrement WebAuthn + vérificateurs d'authentification

    Arbre passkey 6-modules : enregistrement, vérificateur d'authentification, stockage, helpers et types ; l'UI de login reste spécifique à l'app.

    src/libs/passkeys/index.ts
  • ✓
    RBAC — contrôle d'accès basé sur les rôles via CASL

    Règles de capacité + composant Can + middleware api-guard.

    src/libs/abilities.ts
  • ✓
    Multi-locataire — orgs + RLS Postgres

    Wrapper RLS withOrgContext() ; schéma org + migrations.

    src/libs/RLS.ts

Livré

Facturation

Stripe comme unique fournisseur de paiement. Abonnements, facturation à l'usage, TVA, relances et analytique revenus.

  • ✓
    Stripe — abonnements et paiements ponctuels

    Vérification de signature, montants en centimes uniquement, et rejeu idempotent des webhooks.

    src/libs/Stripe.ts
  • ✓
    Table abonnements — persistance du cycle de vie Stripe

    État de l'abonnement Stripe dans la table subscriptions. Webhook : /api/stripe/webhook.

    src/app/api/stripe/webhook/route.ts
  • ✓
    Stripe Meters — facturation à l'usage

    Usage.ts + job usage-report. Interface admin sur /dashboard/admin/usage.

    src/libs/Usage.ts
  • ✓
    Stripe Tax — calcul automatique de la TVA

    Tax.ts + TaxIdSection + 2 handlers webhook.

    src/libs/Tax.ts
  • ✓
    Relances — Stripe Smart Retries + email

    Handler webhook invoice.payment_failed + template DunningEmail.

    src/libs/stripe/handlers/invoice-payment-failed.ts
  • ✓
    Analytique MRR / ARR / NRR — centimes entiers, ventilation par cohorte

    18 tests couvrant le churn, les séries, les cohortes, la ventilation, les événements.

    src/libs/Revenue.ts
  • ✓
    Portail client Stripe — gestion de facturation en libre-service

    Création de session billing_portal dans les actions stripe.

    src/components/dashboard/ManageBillingButton.tsx

Livré

Conformité

Chaîne d'audit inviolable, export de données personnelles, suppression de compte, idempotence, lignes WORM, RLS, CSP et security.txt.

  • ✓
    Chaîne d'audit — inviolable, hash SHA-256 chaîné, ajout uniquement

    Déclencheur WORM + RLS + chaîne de hachage ; API verify/export/append.

    src/libs/AuditChain.ts
  • ✓
    Export de données RGPD — blob JSON gzip via URL signée

    requestDataExport() + adaptateur jobs + Storage.put(). Spec E2E : tests/e2e/rgpd-export.spec.ts.

    src/actions/account.ts
  • ✓
    Suppression de compte — délai de grâce 30 jours avec lien d'annulation

    requestAccountDeletion() + cron quotidien suppression définitive après délai.

    src/actions/account.ts
  • ✓
    Clés d'idempotence — relance webhook sans double débit

    Contrat en-tête Idempotency-Key. Hash SHA-256 de la requête. Cache TTL 24h.

    src/libs/Idempotency.ts
  • ✓
    Couche de suppression — marquage faux-positif / risque accepté

    SuppressFindingButton + SuppressionReasonDialog + SuppressedRowBadge.

    src/libs/Suppression.ts
  • ✓
    Lignes WORM — DELETE physiquement bloqué au niveau du déclencheur Postgres

    Colonne audit_chain.worm + déclencheur audit_chain_worm_no_delete.

    src/libs/AuditChain.ts
  • ✓
    RLS Postgres — isolation des locataires via Row Level Security

    Wrapper withOrgContext() + migration 0004-multi-tenant-orgs.

    src/libs/RLS.ts
  • ✓
    Content-Security-Policy — valeurs de durcissement production

    CSP + HSTS + X-Frame-Options + Permissions-Policy dans next.config.ts.

    next.config.ts
  • ✓
    security.txt — politique de divulgation RFC 9116

    Contact + Expires + Policy assemblés depuis les variables d'environnement à la requête.

    src/app/.well-known/security.txt/route.ts

Socle de conformité — Les primitives ci-dessus sont câblées comme scaffolding de preuve — elles ne constituent pas une certification SOC 2, ISO 27001 ou HIPAA. Ajoutez vos contrôles et une revue qualifiée par-dessus.

En cours

Partiellement livré

Les fichiers existent et les tests passent, mais la décision était initialement différée — ces éléments ont été livrés avant le plan.

FonctionnalitéStatutFichier source
Éditeur de texte enrichi Tiptappartielsrc/libs/RichText.ts
Script de scaffolding gen:featurepartielscripts/gen-feature.ts

Pas d'ETA. Pas de numéros de version. Livré quand le travail est terminé.

Différé

Prochainement (sans ETA)

Intentionnellement absent selon la décision de stack. Sera ajouté dans une vague future.

  • ○
    Temps réel — Durable Objects / WebSocket

    Pas de lib WebSocket ou temps réel dans package.json. Chemin CF Durable Objects disponible via wrangler.toml.

    différé
  • ○
    Vercel AI SDK v5

    Llm.ts est une abstraction de fournisseur personnalisée (Anthropic + OpenAI + Ollama). Vercel AI SDK est une alternative directe.

    différé
  • ○
    Génération SDK API — génération de client OpenAPI-first

    La spec OpenAPI est disponible sur /api-docs. La génération de client est différée ; pas d'openapi-generator dans les dépendances.

    différé
  • ○
    Audit de bundle Tiptap

    Tiptap livré avant le plan. Audit de taille de bundle différé.

    différé
  • ○
    CAPTCHA — hCaptcha / Cloudflare Turnstile

    Ignoré selon la décision de stack. CF WAF est la couche de mitigation des bots.

    différé
  • ○
    Base de données vectorielle — pgvector / Pinecone

    Ignoré selon la décision de stack. Postgres FTS + pg_trgm couvre le cas d'usage de recherche.

    différé

Prêt à livrer ?

Clonez le dépôt et votre prochain appel d'offres commence avec un tableau de bord de conformité, pas une application vide.

Commencer à construireVoir sur GitHub→
Deton

Deton scanne vos pull requests, prouve l'exploitabilité dans un bac à sable isolé, et livre des packets de preuve exploitables avant le merge.

Produit

  • Tarifs
  • Comparer
  • Démo

Ressources

  • Documentation
  • Blog
  • Feuille de route
  • API

Conformite

  • Sécurité
  • Confidentialité
  • Conditions
  • DPA
  • BAA

Entreprise

  • À propos
  • État du service
  • Demandes de fonctionnalités

© 2026 Deton

AppSec sous preuve · Next.js 16

ConfidentialitéConditionsCookies