Sécurité
Mesures de sécurité, protection des données, signalement de vulnérabilités et réponse aux incidents sur Duck Dev AI.
Notre approche de la sécurité
Duck Dev AI met en œuvre des mesures techniques et organisationnelles destinées à protéger les données des utilisateurs et l'intégrité de la plateforme. Cette page présente les mesures de sécurité en place, les contrôles d'accès aux données, la procédure de signalement des vulnérabilités, le processus de réponse aux incidents et les bonnes pratiques recommandées aux utilisateurs.
La sécurité repose sur une responsabilité partagée entre Duck Dev AI et ses utilisateurs. Duck Dev AI protège l'infrastructure et les services qu'elle contrôle. Vous restez responsable de la confidentialité de vos identifiants, de vos codes de déploiement, des permissions accordées au bot Discord et des données que vous transmettez à la plateforme.
Authentification
Duck Dev AI utilise le SDK Base44 pour gérer l'authentification et les sessions utilisateur. Les requêtes adressées aux API sont authentifiées au moyen de jetons Bearer au format JWT lorsque le service l'exige.
Les mécanismes d'authentification disponibles comprennent :
- Authentification par adresse électronique et mot de passe avec vérification de l'adresse par code à usage unique.
- Réinitialisation du mot de passe au moyen d'un processus géré par Base44.
- Connexion Google proposée par l'intermédiaire du fournisseur d'authentification Base44.
- Authentification OAuth 2.0 Discord avec les scopes
identify,emailetguilds. - Gestion des sessions par le SDK Base44, notamment lors de la connexion et de la déconnexion.
Lors de la déconnexion, l'application supprime notamment les valeurs base44_access_token et token du stockage local du navigateur. Le comportement complet de la session, notamment les éventuels cookies, dépend également de la configuration du service Base44.
Sécurité du bot Discord
Les identifiants permettant au bot Discord de s'authentifier ne sont pas intégrés au code client. Le bot utilise des variables d'environnement côté serveur, notamment DISCORD_BOT_TOKEN et DISCORD_TOKEN selon le composant concerné.
Les fonctions serveur utilisent également un en-tête x-bot-token pour authentifier les appels provenant du bot. Ce contrôle s'applique notamment aux fonctions liées à la récupération de configurations par code de déploiement et à la gestion des sauvegardes.
Le bot Discord est hébergé sur Render. Les secrets et paramètres d'exécution sont configurés dans l'environnement serveur plutôt que dans les fichiers distribués au navigateur. Ne publiez jamais une valeur de token Discord dans un dépôt, une capture d'écran, un message public ou un fichier de configuration partagé.
Chiffrement et transport
Les communications Web de Duck Dev AI utilisent HTTPS et TLS afin de protéger les données pendant leur transport entre le navigateur, les fonctions serveur, Base44, Discord et les autres services concernés.
Les API qui nécessitent une authentification utilisent un en-tête Authorization de type Bearer. Les codes OAuth Discord sont échangés par la fonction serveur dédiée avant l'utilisation des informations d'autorisation. L'application n'a pas vocation à transmettre des données sensibles dans les paramètres d'URL.
La protection du transport ne remplace pas la protection des données à leur source. Évitez donc d'inclure des secrets, des mots de passe, des tokens ou des informations personnelles non nécessaires dans les prompts, les descriptions de projets, les fichiers joints ou les configurations Discord.
Gestion des fichiers
Les fichiers joints au générateur sont transmis à l'infrastructure de stockage Base44 au moyen de l'intégration Base44 Core UploadFile. Les formats acceptés sont les suivants :
- PNG
- JPG et JPEG
- WEBP
- DOCX
- TXT
- CSV
- XLSX
La taille maximale est de 20 Mo par fichier. Le fichier peut ensuite être transmis au traitement IA avec son URL de stockage afin d'analyser son contenu ou de contribuer à la génération d'une configuration.
Base44 contrôle le stockage sous-jacent et les URL de fichiers. La durée de validité des URL, la localisation exacte du stockage, les sauvegardes et les délais de suppression dépendent de la configuration de Base44 et ne sont pas définis par le code client de Duck Dev AI. N'envoyez pas de fichier contenant des secrets ou des données dont vous ne disposez pas du droit de transmettre.
Sécurité de l'IA
Les fonctions de génération et de conversation utilisent l'intégration Base44 Core InvokeLLM. Duck Dev AI ne place pas de clé API directe d'un fournisseur d'IA dans le code exécuté par le navigateur.
Le fournisseur d'IA sous-jacent est abstrait par l'intégration Base44. Les traitements sont déclenchés côté serveur et peuvent inclure le contenu des conversations, les réponses au questionnaire, la configuration courante du projet, les noms et types des pièces jointes ainsi que les URL de fichiers nécessaires au traitement.
Le code de l'application ne définit pas la conservation, l'utilisation à des fins d'entraînement ou les journaux du fournisseur d'IA sous-jacent. Pour limiter l'exposition, transmettez uniquement les informations nécessaires à votre demande et retirez les données confidentielles avant l'envoi.
Accès au niveau des lignes
Les projets enregistrés sont associés à leur créateur au moyen du champ created_by_id. Les règles d'accès au niveau des lignes limitent normalement la lecture, la modification et la suppression d'un projet à l'utilisateur qui l'a créé.
Ce contrôle s'applique aux configurations de projet, aux paramètres de déploiement et aux données générées associées. Les historiques de génération sont également liés au créateur afin de limiter leur accès.
La séparation au niveau des lignes réduit le risque d'accès entre comptes, mais elle ne rend pas publiques les données que vous choisissez de transmettre à des services tiers. Les appels à Discord, Base44, Render ou au service d'IA suivent les contrôles et politiques propres à ces services.
Rôles et permissions
Duck Dev AI distingue deux rôles applicatifs :
user: accès aux fonctions utilisateur, notamment la création et la gestion des projets, les conversations avec l'IA, l'envoi de fichiers et les déploiements autorisés.admin: accès aux fonctions d'administration nécessaires à la gestion de la plateforme.
Le rôle administrateur est requis pour les fonctions telles que :
- L'accès à la console d'administration à l'adresse
/admin. - L'initialisation et la gestion des modèles.
- La gestion des utilisateurs.
- La publication d'annonces.
- La consultation de l'état du bot.
Les autorisations d'administration sont distinctes des permissions Discord accordées au bot. Un rôle administrateur Duck Dev AI ne donne pas automatiquement à un utilisateur des permissions supplémentaires dans un serveur Discord.
Codes de déploiement et autorisation
Les codes de déploiement permettent de contrôler l'accès à une configuration enregistrée. Plusieurs paramètres limitent leur utilisation :
authorized_user_ids: liste blanche des identifiants Discord autorisés à utiliser le code.code_active: état actif ou désactivé du code.max_uses: nombre maximal d'utilisations autorisées.expires_at: date et heure d'expiration du code.uses_count: compteur d'utilisations déjà enregistrées.
Lorsqu'un utilisateur tente d'utiliser un code, l'API vérifie notamment son existence, son état actif, sa date d'expiration, son éventuelle liste d'utilisateurs autorisés et sa limite d'utilisation. Le bot transmet l'identifiant Discord de l'utilisateur appelant afin que ces contrôles puissent être appliqués.
Un code de déploiement doit être traité comme une information d'accès. La connaissance du code peut être insuffisante pour autoriser un déploiement lorsque la liste authorized_user_ids est configurée, mais vous devez tout de même éviter de le publier ou de le transmettre dans un espace non contrôlé.
Séparation des clés et des secrets
Duck Dev AI sépare les mécanismes d'authentification selon le système concerné :
- Compte utilisateur : jeton Bearer JWT géré par Base44.
- Bot Discord : en-tête
x-bot-tokenet secrets du bot conservés côté serveur. - OAuth Discord :
client_idetclient_secretutilisés par la fonction serveur d'authentification. - Services internes : variables d'environnement propres aux fonctions Base44 et à l'hébergement du bot.
Les variables accessibles au frontend sont limitées aux paramètres nécessaires au fonctionnement du client, notamment VITE_BASE44_APP_ID, VITE_BASE44_FUNCTIONS_VERSION et VITE_BASE44_APP_BASE_URL. Ces valeurs identifient l'application ou son point d'accès, mais ne doivent pas être considérées comme des secrets.
Les secrets tels que DISCORD_CLIENT_SECRET, DISCORD_BOT_TOKEN et DISCORD_TOKEN sont destinés aux environnements serveur. Si vous pensez qu'un secret a été exposé, cessez de l'utiliser et contactez Duck Dev AI sans inclure la valeur compromise dans votre message.
Duck Dev AI encourage les chercheurs en sécurité à signaler de manière responsable toute vulnérabilité susceptible d'affecter la confidentialité, l'intégrité ou la disponibilité de la plateforme. Envoyez votre rapport à contact@duckia.fr.
Contacter l'équipe
Envoyez un email à contact@duckia.fr avec le sujet [SECURITY] Description courte. Décrivez la vulnérabilité de manière précise et technique.
Votre signalement doit, lorsque cela est possible, préciser :
- Le composant ou le service concerné.
- Les étapes nécessaires pour reproduire le problème.
- Les conditions préalables à l'exploitation.
- L'impact potentiel sur les données, les comptes ou la disponibilité du service.
- Les informations de chronologie ou de contexte utiles à l'analyse.
N'incluez pas de données personnelles réelles, de tokens actifs, de mots de passe ou de secrets dans votre rapport.
Ne pas divulguer publiquement
Ne publiez pas la vulnérabilité sur les réseaux sociaux, un blog, un dépôt public ou un forum avant qu'un correctif ait été déployé et que Duck Dev AI ait confirmé la résolution.
Si votre rapport implique des données auxquelles vous n'auriez pas dû accéder, arrêtez immédiatement les tests après avoir recueilli les éléments strictement nécessaires à la démonstration. Ne copiez pas, ne modifiez pas et ne diffusez pas ces données.
Délai de correction
Laissez à Duck Dev AI un délai raisonnable de 90 jours pour analyser et corriger la vulnérabilité. Duck Dev AI peut vous informer de l'avancement pendant cette période lorsque les circonstances le permettent.
La durée nécessaire peut varier selon la complexité du problème, son impact, la disponibilité d'un correctif et la dépendance éventuelle à un fournisseur tiers. Les délais de divulgation coordonnée doivent être discutés directement avec l'équipe.
Fournir une preuve de concept
Si possible, incluez une preuve de concept minimale démontrant l'impact de la vulnérabilité, sans accéder aux données d'autres utilisateurs et sans causer de dommage.
Une preuve de concept utile reproduit le comportement dans un environnement contrôlé et s'arrête dès que l'impact est établi. N'exécutez pas de tests de déni de service, de destruction de données, d'extraction massive, d'hameçonnage, d'ingénierie sociale ou d'accès persistant.
Accusé de réception
Duck Dev AI accuse réception de votre signalement dans un délai de 48 heures et vous informe du suivi lorsque les informations fournies permettent d'établir un moyen de contact.
L'équipe peut demander des précisions, confirmer la portée du problème, classer le risque et communiquer les mesures prises. Ne transmettez pas de nouveau secret ou de donnée sensible dans une réponse si un identifiant de test ou une description technique suffit.
La divulgation responsable protège les utilisateurs. Toute exploitation d'une vulnérabilité pour accéder aux données d'autrui, perturber le service ou causer un dommage est interdite et peut entraîner des poursuites.
Duck Dev AI traite les incidents de sécurité selon leur nature, leur gravité, leur portée et les obligations applicables. Un incident peut être détecté par les contrôles opérationnels, le signalement d'un utilisateur, un rapport externe ou une alerte provenant d'un fournisseur.
Processus de traitement
-
Détection : identification d'un incident potentiel au moyen de la surveillance disponible, d'un signalement utilisateur, d'un rapport de sécurité externe ou d'une alerte d'un prestataire.
-
Évaluation : analyse de la nature de l'incident, des systèmes concernés, de la période potentielle d'exposition, des données susceptibles d'être affectées et de l'impact sur les utilisateurs.
-
Confinement : mise en place de mesures immédiates pour limiter l'impact. Selon la situation, Duck Dev AI peut désactiver des codes de déploiement, suspendre des comptes, isoler un système, révoquer un accès ou limiter temporairement une fonctionnalité.
-
Notification : information des personnes et autorités concernées lorsque la réglementation ou les circonstances l'exigent. Les mesures peuvent inclure :
- Une notification à la CNIL dans un délai de 72 heures après avoir pris connaissance d'une violation de données personnelles présentant un risque, conformément à l'article 33 du RGPD.
- Une notification aux personnes concernées lorsque la violation est susceptible d'engendrer un risque élevé pour leurs droits et libertés, conformément à l'article 34 du RGPD.
- Une notification à Discord lorsque l'incident affecte l'intégration Discord, le bot ou des ressources Discord concernées.
-
Remédiation : déploiement d'un correctif technique, restauration d'un service, renouvellement de secrets, renforcement des contrôles d'accès ou modification d'une configuration vulnérable.
-
Revue post-incident : analyse des causes, documentation des faits et des décisions, vérification de l'efficacité des mesures prises et amélioration des contrôles afin de réduire le risque de récurrence.
Les articles 33 et 34 du RGPD imposent des obligations de notification qui dépendent notamment de la qualification de la violation, du risque pour les personnes concernées et des informations disponibles au moment de la détection. Duck Dev AI évalue chaque incident au regard des faits connus et des obligations applicables. Une notification n'est pas automatique pour tout incident technique.
Communication pendant un incident
Lorsqu'une communication est nécessaire, Duck Dev AI s'efforce de fournir des informations utiles et proportionnées, notamment la nature générale de l'incident, les services concernés, les mesures prises et les recommandations destinées aux utilisateurs.
La communication peut être limitée lorsque la divulgation d'un détail augmenterait le risque, compromettrait une enquête, faciliterait une exploitation en cours ou révélerait des informations de sécurité sensibles. Les informations seront mises à jour lorsque de nouveaux faits vérifiés deviennent disponibles.
Rôle des utilisateurs pendant un incident
Si vous constatez un comportement inhabituel, un accès non autorisé, une fuite apparente de code ou une activité suspecte, contactez rapidement contact@duckia.fr. Indiquez les dates, les identifiants de projet ou de serveur concernés et les symptômes observés, mais ne transmettez pas de secrets actifs dans le message.
Si un code de déploiement semble compromis, désactivez-le depuis l'interface lorsque cette action est possible, puis vérifiez ses paramètres uses_count, expires_at et authorized_user_ids. Si un token Discord est compromis, révoquez-le ou renouvelez-le par l'intermédiaire du service concerné.
Protéger votre compte
La sécurité de votre compte dépend d'abord de la protection de vos moyens d'authentification :
- Utilisez un mot de passe fort et unique que vous ne réutilisez pas sur un autre service.
- Activez l'authentification à deux facteurs sur votre compte Discord afin de réduire le risque lié à la compromission de votre mot de passe Discord.
- Ne partagez pas vos identifiants Duck Dev AI, vos codes de réinitialisation ou vos sessions actives.
- Déconnectez-vous des ordinateurs partagés et ne sauvegardez pas vos identifiants dans un navigateur auquel d'autres personnes ont accès.
- Vérifiez l'adresse du site avant de saisir vos identifiants et méfiez-vous des messages qui vous demandent un code ou un token.
- Signalez rapidement toute activité inhabituelle, notamment une modification de projet, un déploiement ou une connexion que vous ne reconnaissez pas.
Protéger vos codes de déploiement
Un code de déploiement peut permettre d'accéder à une configuration et de déclencher une action sur un serveur Discord. Appliquez les mesures suivantes :
- Ne publiez pas vos codes
DUCK-XXXX-XXXXdans des espaces publics, des captures d'écran, des dépôts ou des salons accessibles à des personnes non autorisées. - Configurez
authorized_user_idspour limiter l'utilisation à des identifiants Discord déterminés. - Définissez
expires_atetmax_usesen fonction de la durée et du nombre d'utilisations réellement nécessaires. - Désactivez les codes qui ne sont plus nécessaires au lieu de les conserver actifs sans limite.
- Vérifiez régulièrement
uses_countafin d'identifier une utilisation inattendue ou un dépassement de l'usage prévu. - Créez des codes distincts pour des utilisateurs ou des opérations distinctes lorsque cette séparation facilite l'audit et la révocation.
Protéger vos projets
Les projets peuvent contenir des configurations détaillées de serveurs Discord, des permissions, des noms de salons, des consignes et des résultats générés. Pour réduire les risques :
- Supprimez les projets que vous n'utilisez plus lorsque leur conservation n'est plus nécessaire.
- Vérifiez les permissions avant de déployer, en particulier les permissions attribuées aux rôles et au bot.
- N'incluez pas de données sensibles dans les prompts ou les fichiers, notamment des mots de passe, tokens, clés API, données financières ou informations personnelles non nécessaires.
- Sauvegardez votre serveur avant les modifications importantes, puis vérifiez que la sauvegarde est accessible et correctement identifiée.
- Relisez la configuration générée avant de l'appliquer à un serveur réel, notamment les rôles, les permissions, les salons privés et les paramètres en lecture seule.
Protéger votre serveur Discord
Le bot agit avec les permissions que vous lui accordez dans Discord. Une configuration trop permissive augmente l'impact potentiel d'une erreur, d'une mauvaise configuration ou d'un compte compromis :
- Vérifiez les permissions du bot après l'installation et après chaque modification importante.
- Ne donnez pas au bot plus de permissions que nécessaire pour les fonctions que vous utilisez.
- Surveillez les nouveaux rôles et salons après un déploiement et comparez-les à la configuration attendue.
- Contrôlez les paramètres de confidentialité des salons, notamment les salons privés, les permissions de lecture et les permissions d'envoi.
- Retirez le bot si vous n'utilisez plus Duck Dev AI sur ce serveur et révoquez les autorisations devenues inutiles.
- Conservez une sauvegarde avant une restauration, car une restauration peut supprimer des salons ou des rôles avant de les recréer.
La sécurité est une responsabilité partagée. Duck Dev AI met en œuvre les mesures techniques décrites ci-dessus, mais la protection de votre compte, de vos codes de déploiement et de vos serveurs Discord dépend également de vos pratiques.
Limites et évolution des mesures
Les mesures décrites sur cette page correspondent aux contrôles actuellement identifiés dans l'application et son infrastructure. Duck Dev AI peut faire évoluer son architecture, ses fournisseurs, ses mécanismes d'authentification et ses procédures afin de maintenir ou d'améliorer le niveau de protection.
Certains services utilisés par Duck Dev AI, notamment Base44, Discord, Google, Render et le fournisseur d'IA accessible par Base44, appliquent leurs propres mesures de sécurité. Leurs politiques peuvent définir des règles supplémentaires concernant le stockage, les journaux, les sauvegardes, les cookies, les tokens et la conservation des données.
Aucune transmission sur Internet ni aucun service informatique ne peut garantir une sécurité absolue. Duck Dev AI ne peut pas garantir l'absence totale de vulnérabilité, d'interruption, d'accès non autorisé ou d'incident affectant un fournisseur tiers. Vous devez conserver des sauvegardes indépendantes lorsque vos données ou configurations sont importantes pour votre activité.
Nous contacter
Pour signaler une vulnérabilité ou une suspicion d'incident de sécurité, écrivez à contact@duckia.fr. Utilisez le sujet [SECURITY] pour permettre un traitement prioritaire de votre message.
Pour les demandes générales, les demandes relatives aux données personnelles et les demandes d'assistance, consultez les ressources juridiques et de support ci-dessous.