Logiciel libre de floutage de visages et de suppression de metadonnees
⚠️ Version Android (APK) : La version mobile Android est en cours de developpement et n'est pas encore disponible au telechargement. Seules les versions Linux, Windows et macOS sont pretes. Voir la section Telecharger ci-dessous.
Bal Masque est un outil de protection de la vie privee permettant de :
- Flouter automatiquement ou manuellement les visages sur vos photos
- Supprimer les metadonnees sensibles (GPS, EXIF, donnees d'identification)
- Analyser la securite de vos images avant partage
100% hors-ligne, 100% open-source, 0% de donnees envoyees.
- Detection automatique des visages (OpenCV -- 3 classificateurs Haar, detection frontale + profils)
- Marges de securite de 25% autour des visages detectes
- Mode manuel pour selectionner des zones personnalisees
- 3 effets : Pixelisation, Flou gaussien (double passe), Masque noir
- Intensite reglable (5-50)
- Donnees GPS : coordonnees, altitude, timestamp
- Donnees EXIF : appareil photo, parametres, logiciels
- Donnees d'identification : numeros de serie, identifiants uniques
- Donnees XMP : metadonnees etendues embarquees
- Profils ICC : profils couleur pouvant contenir des identifiants
- Segments JPEG : APP1, APP2, APP12, APP13, APP14, COM
- Analyse de securite : rapport detaille avec score de risque (0-100)
- Formats PNG/JPEG/WebP haute qualite
- Suppression automatique des metadonnees a la sauvegarde
- Previsualisation en temps reel
- Application autonome ou extension de partage (bouton "Partager avec")
- Interface tactile adaptee aux smartphones
- Compatible Android 5.0+ (API 21 a 34)
- Stockage scope : utilise l'API MediaStore sur Android 10+ pour un acces conforme
- Sauvegarde dans le dossier Pictures/BalMasque
- Partage direct de l'image traitee
- Aucune permission internet : 100% hors-ligne, aucune donnee transmise
- Nettoyage securise : les fichiers temporaires sont ecrases avec des zeros avant suppression
La version Android n'est pas encore disponible au telechargement. Suivez le projet pour etre informe de sa sortie.
Rendez-vous sur la page Releases du projet.
Les fichiers sont disponibles directement (sans zip) :
| Plateforme | Fichier a telecharger | Installation |
|---|---|---|
| 🐧 Linux | BalMasque-Linux |
Telecharger, puis dans un terminal : chmod +x BalMasque-Linux et ./BalMasque-Linux |
| 🪟 Windows | BalMasque.exe |
Telecharger, puis double-cliquer pour lancer |
| 🍎 macOS | BalMasque-macOS |
Telecharger, puis dans un terminal : chmod +x BalMasque-macOS et ./BalMasque-macOS |
macOS : Au premier lancement, faites clic droit → Ouvrir, ou autorisez l'application dans Preferences Systeme → Securite et confidentialite.
⚠️ Android : La version APK n'est pas encore disponible. Elle est en cours de developpement.
# Cloner le repo
git clone https://github.com/comenottaris/BAL-MASQUE.git
cd BAL-MASQUE
# Installer les dependances
pip install -r requirements.txt
# Sur Linux (Ubuntu/Mint), installer aussi tkinter :
# sudo apt-get install python3-tk
# Lancer l'application
python bal_masque.pypip install -r requirements.txt
pip install pyinstaller
# Generer l'executable
pyinstaller --onefile --windowed --name "BalMasque" --add-data "logo.png:." bal_masque.py
# L'executable sera dans dist/BalMasque# Installer les dependances systeme (Ubuntu/Debian)
sudo apt-get install -y build-essential git zip unzip autoconf libtool \
pkg-config zlib1g-dev libncurses-dev cmake libffi-dev libssl-dev \
automake libltdl-dev lld openjdk-17-jdk
# Installer Buildozer
pip install buildozer cython==0.29.36 virtualenv
# Preparer les cascades Haar pour la detection de visages
mkdir -p cascades
pip install opencv-python-headless
python -c "
import cv2, shutil, os
src = cv2.data.haarcascades
for f in ['haarcascade_frontalface_default.xml', 'haarcascade_frontalface_alt2.xml', 'haarcascade_profileface.xml']:
shutil.copy(os.path.join(src, f), 'cascades/')
"
# Builder l'APK (premiere execution longue : ~30-60 min)
buildozer android debug
# L'APK sera dans bin/
ls bin/*.apk- Ouvrir une image --
Ctrl+Oou bouton "Ouvrir" - Analyser les metadonnees -- Onglet "Metadonnees"
- Detecter les visages --
Ctrl+Dou bouton "Detecter" - Parametrer l'effet et l'intensite
- Masquer -- Bouton "Appliquer"
- Nettoyer les metadonnees -- Bouton "Supprimer metadonnees"
- Enregistrer --
Ctrl+Sou bouton "Sauvegarder"
| Raccourci | Action |
|---|---|
Ctrl+O |
Ouvrir une image |
Ctrl+S |
Sauvegarder |
Ctrl+D |
Detecter les visages |
Ctrl+Z |
Annuler |
Ctrl+R |
Reinitialiser |
- Dessiner : Clic gauche + glisser
- Annuler derniere zone :
Ctrl+Z - Tout effacer : Bouton "Effacer zones"
En France (et dans de nombreux pays) :
- Toute personne a un droit sur son image
- La publication d'une photo necessite le consentement des personnes reconnaissables
- Les personnes peuvent demander le retrait ou le floutage de leur image
Exceptions (selon contexte) :
- Evenements publics avec foule (manifestations, concerts...)
- Personnalites publiques dans l'exercice de leurs fonctions
- Images accessoires (personne non reconnaissable/non centrale)
Ce logiciel est concu pour :
- Proteger la vie privee des personnes photographiees
- Respecter le droit a l'image
- Permettre la diffusion de photos d'evenements collectifs
- Proteger les sources et les personnes vulnerables
Il ne doit PAS etre utilise pour :
- Cacher des informations relevant de l'interet public
- Entraver le travail journalistique legitime
- Dissimuler des actes reprehensibles
- Python 3.8+
- OpenCV - Detection de visages (classificateurs Haar)
- Pillow - Manipulation d'images et metadonnees EXIF
- Tkinter - Interface graphique (version desktop)
- Kivy - Interface graphique (version mobile Android)
- NumPy - Traitement matriciel
- Buildozer - Compilation APK Android
- PyInstaller - Generation des executables desktop
BAL-MASQUE/
|-- bal_masque.py # Code principal (desktop)
|-- bal_masque_mobile.py # Version mobile Android (Kivy)
|-- buildozer.spec # Configuration build Android
|-- intent_filter.xml # Filtre d'intent Android (partage)
|-- logo.png # Logo de l'application
|-- requirements.txt # Dependances Python (desktop)
|-- requirements-mobile.txt # Dependances Python (mobile)
|-- tests/
| +-- test_bal_masque.py # Tests unitaires
|-- docs/ # Documentation et wiki
|-- screenshots/ # Captures d'ecran
| |-- Accueil.png
| +-- retouches.png
|-- README.md # Ce fichier
+-- LICENSE # Licence GPL-3.0
Les contributions sont bienvenues !
- Fork le projet
- Creez une branche (
git checkout -b feature/amelioration) - Committez (
git commit -m 'Ajout fonctionnalite X') - Push (
git push origin feature/amelioration) - Ouvrez une Pull Request
- Support video (floutage frame par frame)
- Detection de plaques d'immatriculation
- Mode batch (traiter plusieurs images)
- Reconnaissance faciale pour exclure certaines personnes
- Interface en ligne de commande (CLI)
- Localisation (traductions)
GPL-3.0 - Logiciel libre et open source
Vous etes libre de :
- Utiliser ce logiciel a toute fin
- Etudier et modifier le code
- Redistribuer des copies
- Redistribuer des versions modifiees
Conditions :
- Le code source doit rester disponible
- Les modifications doivent etre documentees
- La meme licence doit etre appliquee aux derives
Voir LICENSE pour plus de details.
Ce projet n'aurait pas vu le jour sans le travail remarquable des projets suivants :
Outil de floutage automatique de visages utilisant OpenCV.
Bal Masque s'est largement inspire de l'approche de detection et de floutage de BlurryFaces pour implementer la detection multi-cascade des visages (frontale, alternative et profil) ainsi que l'application d'effets de flou.
- Repository : https://github.com/asmaamirkhan/BlurryFaces
- Auteur : Asmaa Mirkhan (@asmaamirkhan)
- Licence : MIT
Outil de suppression de metadonnees pour proteger la vie privee (MRT -- Metadata Removal Tool).
Le module de nettoyage des metadonnees de Bal Masque s'inspire directement du travail d'Anish sur la suppression des donnees EXIF, GPS, XMP et des segments APP JPEG. Son approche structuree nous a guide dans l'implementation du systeme de scoring de risque et de la suppression multi-couches des metadonnees.
- Repository : https://github.com/Anish-M-code/Metadata-Remover
- Auteur : Anish M (@Anish-M-code)
- Licence : GPL-3.0
| Projet | Role dans Bal Masque | Lien |
|---|---|---|
| OpenCV | Detection de visages via classificateurs Haar | opencv.org |
| Pillow | Lecture/ecriture d'images et extraction de metadonnees EXIF | python-pillow.org |
| Kivy | Interface graphique de la version Android | kivy.org |
| NumPy | Manipulation matricielle pour le traitement d'images | numpy.org |
| Buildozer | Compilation de l'application Android (APK) | github.com/kivy/buildozer |
| PyInstaller | Generation des executables desktop (Windows, Linux, macOS) | pyinstaller.org |
- Guide d'autodefense numerique - guide.boum.org - Ressources sur la securite numerique
- Fonte Ouvrieres - typotheque.genderfluid.space - Police utilisee pour le logo
Un immense merci aux organisations qui luttent quotidiennement pour nos droits :
| Organisation | Description | Lien |
|---|---|---|
| La Quadrature du Net | Defense des libertes fondamentales dans l'environnement numerique | laquadrature.net |
| Technopolice | Observatoire des technologies policieres | technopolice.fr |
| BOUM | Guide d'autodefense numerique | boum.org |
| Exodus Privacy | Analyse des trackers dans les applications | exodus-privacy.eu.org |
| Framasoft | Education populaire et logiciels libres | framasoft.org |
| Nothing2Hide | Protection des journalistes et activistes | nothing2hide.org |
| EFF | Electronic Frontier Foundation | eff.org |
- Issues : Signaler un bug
- Discussions : Forum
- Email : siratton@pm.me
Dans un contexte de surveillance generalisee, de reconnaissance faciale deployee sans consentement, et de collecte massive de donnees personnelles, il est essentiel de disposer d'outils simples pour proteger notre vie privee et celle des autres.
Bal Masque est ne de ce besoin : permettre a chacun et chacune de partager des photos sans compromettre la securite des personnes qui y apparaissent.
"La vie privee n'est pas une question de 'si on n'a rien a cacher'. C'est une question de pouvoir choisir ce qu'on montre et a qui."
Protegez la vie privee. Respectez le droit a l'image. Utilisez des logiciels libres.
Fait avec du code libre

