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 à construire
Deton

Deton analyse les changements autorisés des pull requests dans un runner isolé et soumis aux preuves. Les résultats non supportés ou non concluants ne sont jamais publiés comme confirmés.

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

Aperçu de la frontière AppSec · Next.js 16

ConfidentialitéConditionsCookies
Créer un compte