# Une clé secrète dans le code de votre site

Pourquoi un mot de passe ou une clé qui se retrouve dans le code public de votre site peut être lu par n’importe qui, et que faire lorsque cela arrive.

Le code de votre site web s’exécute dans le navigateur du visiteur, qui doit donc le télécharger. N’importe qui peut l’ouvrir et le lire.

C’est sans problème pour la plupart du code. Cela devient un problème lorsqu’un **secret** s’y retrouve, comme une clé de votre compte de paiement, de votre base de données ou d’un service d’IA.

## Comment cela arrive

C’est rarement volontaire. Une clé est collée pendant un test et jamais retirée. Un paramètre destiné au serveur est marqué comme public par erreur. Un outil de compilation publie des **fichiers de correspondance (source maps)**, la version lisible de votre code, à côté du vrai site.

Les attaquants recherchent ces clés automatiquement, sur des millions de sites. Une clé divulguée peut générer des factures, lire des données de clients ou envoyer des e-mails en votre nom en quelques heures.

## Que faire lorsqu’une analyse en trouve une

1. **Considérez-la comme utilisée.** Même si vous la supprimez maintenant, quelqu’un peut déjà la posséder.
2. **Remplacez-la.** Créez une nouvelle clé auprès du service qui l’a émise, puis supprimez l’ancienne.
3. **Déplacez-la côté serveur.** Les clés doivent se trouver dans les paramètres du serveur, jamais dans du code qui s’exécute dans le navigateur.
4. **Vérifiez les factures et les journaux** de ce service pour tout ce que vous n’avez pas fait.

Certaines clés sont destinées à être publiques, comme une clé de formulaire de paiement qui ne peut que lancer un paiement. Une analyse indique de quel type est la clé trouvée et à quel point elle en est sûre.

> **Careful**
>
> Remplacer la clé compte plus que la supprimer de votre code. La supprimer ne fait qu’empêcher les nouvelles copies.

> **Try it**
>
> Ouvrez [vos points à corriger](/app/findings) et cherchez tout ce qui concerne les clés ou les secrets.