Quand on partage un mot de passe via un service en ligne, la même question revient toujours :
« Mais en fait, comment je sais que vous ne lisez pas mes secrets ? »
Bonne question. Et franchement, la seule réponse honnête à ça, c’est : regarde le code.
Alors on l’a fait. Tout est sur GitHub, lisible, auditable, et même installable chez toi.
Bienvenue dans l’ère open-source de Seecret.it. 🎉
Pourquoi on a publié le code ?
Honnêtement ? Parce que la confiance, ça se mérite.
On peut écrire « chiffrement zero-knowledge » dans toutes les pages marketing du monde, ça reste des mots tant que personne ne peut le vérifier. Maintenant tu peux :
- 📂 lire les ~1 500 lignes de code qui composent la version open-source
- 🔍 vérifier toi-même que la clé de déchiffrement ne quitte jamais ton navigateur
- 🏠 installer Seecret.it sur ton propre serveur, même chez Free, OVH ou ton Raspberry Pi à la cave
(Et bonus : c’est aussi un gros pas pour le référencement et la communauté dev. On assume.)
Où trouver le code ?
Sur GitHub, à cette adresse :
👉 github.com/Seecret-it/seecret.it
Le repo contient une version minimaliste de Seecret.it — pas les comptes utilisateurs, pas l’upload de fichiers, pas l’inbox publique. Juste le cœur : partager du texte chiffré via un lien à usage unique, avec expiration configurable et mot de passe optionnel.
C’est volontaire : on voulait quelque chose de simple à auditer. Un dev peut lire l’intégralité du projet en 20 minutes. Pas de framework lourd, pas de NPM, pas de Composer.
Comment ça marche techniquement ?
Frontend : vanilla JavaScript
Zéro framework. Juste de l’HTML, du CSS et du JavaScript pur. Le chiffrement utilise l’API Web Crypto native du navigateur (présente sur tous les navigateurs modernes depuis 2017), donc pas besoin d’embarquer une lib crypto en JS. Plus léger, plus rapide, plus auditable.
Algo : AES-GCM 256 bits (chiffrement authentifié). Pour la dérivation de clé quand un mot de passe est fourni : PBKDF2 SHA-256 avec 600 000 itérations (la recommandation OWASP 2023, pas une valeur sortie du chapeau).
Backend : PHP + SQLite (un seul fichier)
L’API tient dans 200 lignes de PHP. Un fichier api.php qui gère deux endpoints : POST pour créer un secret, GET pour le lire et le détruire dans la foulée. La base SQLite vit dans un seul fichier seecrets.sqlite. Pas de MySQL à configurer, pas de Redis, pas de serveur de cache.
Et surtout : le serveur ne voit jamais la clé de déchiffrement. Elle reste dans le fragment # de l’URL, partie qui — par spec HTTP — n’est JAMAIS envoyée au serveur. C’est ça, le vrai zero-knowledge : même si quelqu’un volait la BDD complète, il n’aurait que des blobs chiffrés incassables.
Installation en 30 secondes (pour les pressés)
Trois commandes, n’importe quel hébergement PHP qui traîne :
git clone https://github.com/Seecret-it/seecret.it.git cd seecret.it php -S localhost:8000
Et c’est tout. Va sur http://localhost:8000, crée ton premier seecret, partage-le, regarde-le se détruire. Pré-requis : PHP ≥ 8.0 avec pdo_sqlite (déjà installé dans 99% des hébergements mutualisés).
Si tu veux faire tourner ça sur un vrai domaine, point le DocumentRoot de ton Apache ou ton Nginx vers le dossier, et c’est plié. (Pense quand même à activer HTTPS — il y a un bloc commenté dans le .htaccess pour forcer la redirection.)
Qu’est-ce qui change concrètement ?
Pour les utilisateurs grand public : rien. Le service hébergé sur seecret.it ne bouge pas. Tu continues à créer tes liens comme avant.
Pour les équipes IT, DSI, RSSI qui doivent justifier l’utilisation d’un outil tiers : maintenant tu peux auditer, ou même héberger chez toi. RGPD natif, données qui ne quittent jamais ton infrastructure, conformité totale.
Pour les devs curieux : tu peux contribuer, signaler des bugs, proposer des features. Le repo est ouvert aux PR.
Pour les paranoïaques (légitimes) : tu peux désormais vérifier de tes propres yeux qu’on ne ment pas sur le « zero-knowledge ». Et installer ta propre instance pour ne dépendre de personne.
Open-source vs version SaaS : quelles différences ?
La version open-source couvre le besoin de base. La version hébergée sur seecret.it ajoute tout ce qui demande une infra et de la maintenance (et donc un modèle économique pour tenir dans le temps).
| Fonctionnalité | Open-source | seecret.it |
|---|---|---|
| Texte chiffré, lien à usage unique | ✅ | ✅ |
| Expiration 5 min à 30 jours | ✅ | ✅ |
| Mot de passe optionnel | ✅ | ✅ |
| Upload de fichiers chiffrés | ❌ | ✅ |
| Comptes utilisateurs & historique | ❌ | ✅ |
Inbox publique @votreslug | ❌ | ✅ |
| Extensions Chrome/Firefox/Thunderbird | ❌ | ✅ |
| API REST + webhooks | Basique | Complète |
| Partage à plusieurs (Shamir) | ❌ | ✅ |
L’idée n’est pas de remplacer le SaaS par l’open-source — c’est de proposer les deux selon ton besoin.
Et la sécurité, justement ?
On a fait un audit complet avant de publier. Le détail est dans le README, mais en résumé :
- 🔐 AES-GCM 256 + PBKDF2 600k itérations (rec. OWASP 2023)
- 🛡️ Prepared statements PDO partout — zéro injection SQL possible
- 🚫 CSP stricte,
X-Frame-Options: DENY,Referrer-Policy: no-referrer - ⏱️ Rate-limit par IP hashée (sel quotidien — on ne stocke jamais d’IP en clair)
- 💥 Destruction atomique via transaction SQLite
BEGIN IMMEDIATE - 🤖 Gate anti-robot pour éviter que les previews de Discord/Slack consomment les liens
- 🔄
history.replaceStateaprès lecture : la clé disparaît de l’historique navigateur
Si tu trouves une faille, ouvre une issue sur GitHub. On répond.
Ce que ça veut dire pour le futur
L’open-source, c’est un engagement long terme. On va continuer à faire évoluer le repo en parallèle du SaaS, ajouter des features quand ça a du sens, et accepter des PRs des contributeurs.
Si tu veux soutenir le projet sans forcément contribuer du code, le moyen le plus simple reste de :
- ⭐ mettre une étoile sur GitHub (ça aide énormément pour la visibilité)
- 📢 partager autour de toi si tu connais des sysadmins ou des DSI qui cherchent ce type d’outil
- 💬 utiliser le SaaS sur seecret.it si tu n’as pas envie de gérer ton propre hébergement
En résumé
Seecret.it est open-source. Le code est sur GitHub. Tu peux l’auditer, l’installer chez toi, ou simplement continuer à utiliser le service hébergé.
L’idée de fond, c’est simple : partager des secrets, ça demande de la confiance. Et la confiance, ça se prouve. Voilà notre preuve, écrite en clair, ligne par ligne.
👉 Voir la page dédiée à la version auto-hébergée
👉 Voir le repo GitHub
Si tu testes la version auto-hébergée et que tu trouves un truc bizarre, dis-le moi. C’est en testant qu’on rend les outils meilleurs. 🙏
