SecuAAS Docs
SecuScan / ScanyzeIntelligence artificielle

Crédits IA

Système de crédits IA Scanyze — allocation mensuelle, achat de top-ups, expiration, coûts par opération

Crédits IA

Scanyze utilise un système de crédits IA pour facturer la consommation des analyses IA, indépendamment du plan de base. Chaque plan inclut une allocation mensuelle gratuite ; au-delà, vous pouvez acheter des packs supplémentaires (top-ups).

Allocation mensuelle par plan

Source : secuscan-api/internal/domain/models/ai_credits.go (AICreditsAllocation).

PlanCrédits/mois inclusRollover non-utilisés
Free50Non (reset mensuel)
Trial (14j)200Non (reset à fin trial)
Starter250Oui — expire après 6 mois
Pro750Oui — expire après 6 mois
Business2 000Oui — expire après 6 mois
EnterpriseIllimité (-1)N/A
MSP (msp_internal)Illimité (-1)N/A

Les crédits non-utilisés roulent d'un mois sur l'autre (sauf Free/Trial), avec une expiration de 6 mois après la date d'octroi (12 mois pour Enterprise). Constants AICreditsExpiryMonths dans le code.

Conversion CAD ↔ crédits

1 crédit IA = 0.10 CAD (CreditsPerDollar = 10)

Exemple : un top-up de 1000 crédits coûte 100 $ CAD + taxes (TPS 5% + TVQ 9.975% si Québec).

Coût par opération

OpérationCrédits consommésDétails
Analyse IA légère (GPU)1 créditUn finding analysé via GPU souverain. AICreditCostRatio = 5 divisé par 5 pour les analyses light.
Analyse IA légère (Claude Premium)5 créditsAICreditCostRatio = 5. Réservé aux tenants claude_premium_enabled.
Rapport Code Scan (GPU)~10-50 créditsSelon nombre d'issues. Le coût est calculé realCostCAD × CreditsPerDollar × AICreditCostMultiplier arrondi vers le haut.
Rapport Code Scan Premium (Sonnet)~50-300 créditsSelon taille du repo et nombre d'issues. Mode chunked si > 300 issues.
Pentest IA (Safe mode)~50-150 créditsBudget configurable lors du lancement.
Pentest IA (Aggressive mode)~100-300 créditsActivités d'exploitation supplémentaires.
Compliance Legal~5-10 crédits5 prompts courts (Loi 25, PIPEDA, RGPD, Cookies, CGU).
Chatbot Security campaign Quick~10-30 crédits10-20 prompts adversariaux.
Chatbot Security campaign Standard~50-150 crédits50-80 prompts.
Chatbot Security campaign Comprehensive~200-500 crédits200+ prompts.

Réservation lors du lancement

À chaque démarrage d'analyse, Scanyze réserve 10 crédits (ReservationAmount) pour garantir qu'une analyse n'est lancée que si le solde permet de la terminer. Si la consommation finale est inférieure, la réservation est libérée. Si elle dépasse, la consommation réelle est imputée.

Plancher minimum

Pour lancer une nouvelle analyse, votre solde restant doit être ≥ 10 crédits (MinCreditsToStart). Cela évite de démarrer une analyse qui s'interromprait à mi-parcours.

Acheter des top-ups

  1. Naviguez vers /billing.
  2. Cliquez sur Acheter des crédits IA.
  3. Choisissez le pack :
    • Pack 100 : 100 crédits, 10.00 $ CAD
    • Pack 500 : 500 crédits, 47.50 $ CAD (-5%)
    • Pack 1000 : 1000 crédits, 90.00 $ CAD (-10%)
    • Pack 5000 : 5000 crédits, 425.00 $ CAD (-15%)
    • Pack 10000 : 10000 crédits, 800.00 $ CAD (-20%)
  4. Vous êtes redirigé vers le checkout SecuCFO (paiement délégué, voir Plans et facturation).
  5. Une fois le paiement validé, les crédits sont immédiatement crédités sur votre compte (la transaction passe par un webhook signé HMAC-SHA256 entre SecuCFO et Scanyze).

Les top-ups n'expirent pas tant qu'ils ne sont pas consommés (pas de date butoir comme l'allocation mensuelle).

Suivre la consommation

Dashboard

Sur /dashboard, la carte Crédits IA affiche :

  • Restant actuel (allocation + purchased - used - reserved)
  • Période en cours
  • Date d'expiration de l'allocation actuelle
  • Tendance de consommation 30 jours

Historique détaillé

/ai-credits :

  • Onglet Solde : décomposition allocation / purchased / used / reserved
  • Onglet Historique : chaque transaction (debit ou credit) avec timestamp, raison, endpoint, utilisateur, montant, type
  • Onglet Top consommateurs : utilisateurs et endpoints qui ont le plus consommé sur la période
  • Onglet Alertes : configuration des seuils d'alerte (par défaut : 80% et 100%)

Alertes de consommation

Scanyze envoie des notifications automatiques quand :

  • Solde restant ≤ 20% : email aux client_admin
  • Solde restant ≤ 5% : email + Slack si configuré
  • Solde épuisé (0) : email + bannière permanente sur le dashboard
  • Top-up consommé à 100% : email récapitulatif

Que se passe-t-il si je n'ai plus de crédits ?

ActionComportement sans crédit
Lancement d'un scan EASM✅ Autorisé (le scan est gratuit, l'analyse IA est optionnelle)
Lancement d'un scan Code✅ Autorisé (idem)
Bouton « Analyse IA » sur un finding❌ Bouton grisé avec message « Crédits insuffisants »
Génération automatique du rapport AI post-scan❌ Skippée — le scan se termine sans rapport AI (vous récupérez les findings bruts)
Lancement d'un Pentest IA❌ Bloqué — un pentest exige au minimum 50 crédits réservés
Lancement d'une campagne Chatbot❌ Bloqué
Compliance Legal scan❌ Bloqué — exige ≥ 10 crédits

Politique de remboursement

  • Crédits inclus dans le plan : non remboursables s'ils expirent.
  • Top-ups : non remboursables (politique « tout-vente-est-finale »).
  • Erreur technique imputable à Scanyze : si une analyse a échoué pour une raison technique (worker crash, timeout interne), les crédits sont automatiquement re-crédités par le credit_reconcile.go cron qui tourne toutes les 6 heures.

Cache de classifications IA (v0.130.0)

Depuis v0.130.0, Scanyze met en cache les classifications IA des findings dans la table finding_ai_analyses_cache (RLS multi-tenant, UNIQUE par tenant + content_hash). Quand le même finding réapparaît dans un scan ultérieur (même tenant), l'analyse IA est réutilisée sans dépenser de crédit.

Le content_hash est un SHA-256 stable calculé à partir de :

  • scanner_name, category, severity, title, host, port, cve (pas de PII)

Suivi : à la fin d'un scan, le log final affiche cache_hits et cache_hit_ratio. Sur des scans récurrents nightly, le cache hit dépasse souvent 80% — vous économisez d'autant sur vos crédits.

Sources de cette page

  • Modèle : secuscan-api/internal/domain/models/ai_credits.go
  • Service : secuscan-api/internal/services/ai/credits_service.go, debit_service.go, credit_reconcile.go
  • Cache (v0.130.0) : secuscan-api/internal/repository/postgres/finding_ai_cache_repo.go + migration 000175
  • Frontend : secuscan-web/app/(dashboard)/ai-credits/page.tsx

À jour pour Scanyze v0.130.x.

On this page