Sécurité
Un widget public, un budget protégé
Tout ce qu’envoie un navigateur peut être imité par un script. Plutôt que de se fier à un seul signal, AskMerra superpose six couches qui rendent l’abus coûteux, visible et financièrement limité.
Verrouillage par domaine
Votre clé de site ne fonctionne que sur les domaines que vous indiquez. Les requêtes d’autres sites sont refusées, et leurs navigateurs n’obtiennent même pas l’autorisation CORS d’appeler l’API.
Contrôle du navigateur
Les requêtes qui ne ressemblent pas à un vrai navigateur (outils en ligne de commande, bibliothèques de scripts, métadonnées fetch absentes) sont filtrées avant d’atteindre l’IA.
Sessions à preuve de travail
Avant de discuter, le widget résout une petite énigme cryptographique (une fraction de seconde pour un vrai visiteur) et reçoit une session signée de courte durée, liée à la boutique, au visiteur et à la page. Des milliers de fausses sessions coûtent des milliers d’énigmes.
Limites de requêtes
Par visiteur, par adresse IP (stockée uniquement sous forme de hachage) et par boutique. Changer d’identifiant visiteur ne les réinitialise pas.
Coupe-circuits de dépenses
Si les dépenses IA ou les nouvelles conversations s’envolent, la boutique passe en mode protection : les réponses gratuites (salutations, FAQ, cache) continuent, le reste reçoit un message poli « nous sommes très sollicités » avec le formulaire de contact. Vous recevez également un e-mail.
Plafonds de dépenses
Votre usage inclus et un plafond mensuel optionnel arrêtent les réponses IA à une limite ferme, quoi qu’il arrive.
Limites par défaut
| Messages par visiteur | 20 / minute |
| Messages par adresse IP | 60 / minute |
| Messages par boutique | 600 / minute |
| Nouvelles conversations par visiteur | 30 / jour |
| Nouvelles conversations par adresse IP | 60 / jour |
| Sessions de widget par adresse IP | 60 / heure |
Coupe-circuits de dépenses
| Coût IA par boutique | 5 $ / heure | Mode protection pendant 60 minutes |
| Coût IA par boutique | 25 $ / jour | Mode protection jusqu’à minuit UTC |
| Nouvelles conversations par boutique | 500 / heure | Mode protection pendant 60 minutes |
Un coupe-circuit global protège toutes les boutiques à la fois. Vous pouvez réactiver l’assistant depuis le tableau de bord à tout moment.
Protection des données
Infrastructure
Hébergé dans l’UE. Chiffrement en transit (TLS). L’isolation entre clients est appliquée à chaque requête et vérifiée par des tests automatisés.
Identifiants
Mots de passe hachés avec argon2id, double authentification optionnelle, clés API stockées uniquement sous forme de hachage SHA-256 et affichées une seule fois, cookies de session httpOnly avec protection CSRF.
Confidentialité des clients
Chaque client reçoit un identifiant aléatoire, jamais un nom ni un e-mail, sauf si vous activez l’identification. Aucune adresse IP n’est stockée ; le pays provient des en-têtes CDN. La conservation des conversations est configurable par boutique.
Divulgation responsable
Vous avez trouvé une vulnérabilité ? Écrivez à [email protected] avec les détails et les étapes de reproduction. Nous répondons sous deux jours ouvrés et n’engageons jamais de poursuites contre une recherche de bonne foi. Les détails techniques sont dans la documentation de sécurité.