![]() |
Sentinel - Guardian of Privacy⚔️Multimodal, On-Device AI Privacy Guard
|
Modern sharing workflows (screenshots of chats/dashboards, audios, captions, prompts sent to LLMs) routinely leak:
Manual blurring is slow, inconsistent, and error-prone; cloud redaction services introduce a second exposure surface (logging, retention, model retraining). Sentinel brings a multilayer privacy firewall directly onto your device.
pip install -r requirements.txt
Download the PII detection models from: https://drive.google.com/drive/folders/1fxljdNcruwfbLTIBIjWU-dLWR2z-Gn3U?usp=sharing
Available models:
pii_ettin_encoder_1b_v1 - Ettin 1B encoder model (recommended)pii_ettin_encoder_400m_v1 - Ettin 400M encoder modelpii_deberta_base_v1 - DeBERTa-based PII detection modelpii_modernbert_base_v1 - ModernBERT-based PII detection modelDownload the Qwen2.5vl-3B model from: https://huggingface.co/Qwen/Qwen2.5-VL-3B-Instruct
MacOS
curl -L -o yolov12l-face.pt "https://github.com/YapaLab/yolo-face/releases/download/v0.0.0/yolov12l-face.pt"
mkdir -p ~/.insightface/models
# Download InSwapper model
gdown "https://drive.google.com/uc?id=1krOLgjW2tAPaqV-Bw4YALz0xT5zlb5HF" \
-O ~/.insightface/models/inswapper_128.onnx
Windows:
Invoke-WebRequest "https://github.com/YapaLab/yolo-face/releases/download/v0.0.0/yolov12l-face.pt" -OutFile "yolov12l-face.pt"
mkdir .insightface\models
gdown "https://drive.google.com/uc?id=1krOLgjW2tAPaqV-Bw4YALz0xT5zlb5HF" `
-O ".insightface\models\inswapper_128.onnx"
Test media (multi-face images, signage, screen snippets) live with following commands:
python3 face_anonymizer_gui_modern.py
python face_anonymizer_gui_modern.py
Try inside the GUI:
Enabled directly in the GUI (no extra command). Use signage / chat / dashboard images to showcase semantic sweep now!
100% On‑Device Processing
All detection & anonymization run locally—no uploads, no server round‑trips.
Dual Modes (Fast / Deep)
Fast Mode: instant face + obvious region cleanup.
Deep Mode: adds OCR + contextual + semantic PII sweep for maximum coverage.
Multimodal Coverage (Now)
Faces, textual PII (58+ classes), screen / signage / chat and audio.
Visual Anonymization Styles
Blur (Gaussian/Box/Median), Pixelate, Emoji overlay, High‑fidelity Synthetic Face Swap (InSwapper).
Text Privacy Engine
Structured entity tagging.
Bystander & Creator Controls
Keep largest face (retain presenter) or anonymize everyone; interactive include/exclude selection.
ultralytics
insightface
onnxruntime
opencv-python
Pillow
albumentations
scikit-image
torch
torchvision
transformers
huggingface-hub
openai-whisper
scikit-learn
safetensors
tiktoken
PyAudio
Whisper
tkinter
customtkinter
tkinter-tooltip
numpy
numba
EasyOCR
By using this code you acknowledge these limitations and responsibilities.
@misc{weller2025seqvsseqopen,
title = {Seq vs Seq: An Open Suite of Paired Encoders and Decoders},
author = {Orion Weller and Kathryn Ricci and Marc Marone and Antoine Chaffin and Dawn Lawrie and Benjamin Van Durme},
year = {2025},
eprint = {2507.11412},
archiveprefix = {arXiv},
primaryclass = {cs.CL},
url = {https://arxiv.org/abs/2507.11412}
}
@misc{modernbert,
title = {Smarter, Better, Faster, Longer: A Modern Bidirectional Encoder for Fast, Memory Efficient, and Long Context Finetuning and Inference},
author = {Benjamin Warner and Antoine Chaffin and Benjamin Clavié and Orion Weller and Oskar Hallström and Said Taghadouini and Alexis Gallagher and Raja Biswas and Faisal Ladhak and Tom Aarsen and Nathan Cooper and Griffin Adams and Jeremy Howard and Iacopo Poli},
year = {2024},
eprint = {2412.13663},
archiveprefix = {arXiv},
primaryclass = {cs.CL},
url = {https://arxiv.org/abs/2412.13663}
}
@misc{he2021debertav3,
title = {DeBERTaV3: Improving DeBERTa using ELECTRA-Style Pre-Training with Gradient-Disentangled Embedding Sharing},
author = {Pengcheng He and Jianfeng Gao and Weizhu Chen},
year = {2021},
eprint = {2111.09543},
archiveprefix = {arXiv},
primaryclass = {cs.CL}
}
@inproceedings{he2021deberta,
title = {DEBERTA: DECODING-ENHANCED BERT WITH DISENTANGLED ATTENTION},
author = {Pengcheng He and Xiaodong Liu and Jianfeng Gao and Weizhu Chen},
booktitle = {International Conference on Learning Representations},
year = {2021},
url = {https://openreview.net/forum?id=XPZIaotutsD}
}
@misc{ai4privacy_2023,
author = {ai4Privacy},
title = {pii-masking-200k (Revision 1d4c0a1)},
year = {2023},
url = {https://huggingface.co/datasets/ai4privacy/pii-masking-200k},
doi = {10.57967/hf/1532},
publisher = {Hugging Face}
}
@article{Qwen2.5-VL,
title={Qwen2.5-VL Technical Report},
author={Bai, Shuai and Chen, Keqin and Liu, Xuejing and Wang, Jialin and Ge, Wenbin and Song, Sibo and Dang, Kai and Wang, Peng and Wang, Shijie and Tang, Jun and Zhong, Humen and Zhu, Yuanzhi and Yang, Mingkun and Li, Zhaohai and Wan, Jianqiang and Wang, Pengfei and Ding, Wei and Fu, Zheren and Xu, Yiheng and Ye, Jiabo and Zhang, Xi and Xie, Tianbao and Cheng, Zesen and Zhang, Hang and Yang, Zhibo and Xu, Haiyang and Lin, Junyang},
journal={arXiv preprint arXiv:2502.13923},
year={2025}
}
Sentinel — Share boldly. Reveal wisely.
Python
100.0%
![]() |
Sentinel - Guardian of Privacy⚔️Multimodal, On-Device AI Privacy Guard
|
Modern sharing workflows (screenshots of chats/dashboards, audios, captions, prompts sent to LLMs) routinely leak:
Manual blurring is slow, inconsistent, and error-prone; cloud redaction services introduce a second exposure surface (logging, retention, model retraining). Sentinel brings a multilayer privacy firewall directly onto your device.
pip install -r requirements.txt
Download the PII detection models from: https://drive.google.com/drive/folders/1fxljdNcruwfbLTIBIjWU-dLWR2z-Gn3U?usp=sharing
Available models:
pii_ettin_encoder_1b_v1 - Ettin 1B encoder model (recommended)pii_ettin_encoder_400m_v1 - Ettin 400M encoder modelpii_deberta_base_v1 - DeBERTa-based PII detection modelpii_modernbert_base_v1 - ModernBERT-based PII detection modelDownload the Qwen2.5vl-3B model from: https://huggingface.co/Qwen/Qwen2.5-VL-3B-Instruct
MacOS
curl -L -o yolov12l-face.pt "https://github.com/YapaLab/yolo-face/releases/download/v0.0.0/yolov12l-face.pt"
mkdir -p ~/.insightface/models
# Download InSwapper model
gdown "https://drive.google.com/uc?id=1krOLgjW2tAPaqV-Bw4YALz0xT5zlb5HF" \
-O ~/.insightface/models/inswapper_128.onnx
Windows:
Invoke-WebRequest "https://github.com/YapaLab/yolo-face/releases/download/v0.0.0/yolov12l-face.pt" -OutFile "yolov12l-face.pt"
mkdir .insightface\models
gdown "https://drive.google.com/uc?id=1krOLgjW2tAPaqV-Bw4YALz0xT5zlb5HF" `
-O ".insightface\models\inswapper_128.onnx"
Test media (multi-face images, signage, screen snippets) live with following commands:
python3 face_anonymizer_gui_modern.py
python face_anonymizer_gui_modern.py
Try inside the GUI:
Enabled directly in the GUI (no extra command). Use signage / chat / dashboard images to showcase semantic sweep now!
100% On‑Device Processing
All detection & anonymization run locally—no uploads, no server round‑trips.
Dual Modes (Fast / Deep)
Fast Mode: instant face + obvious region cleanup.
Deep Mode: adds OCR + contextual + semantic PII sweep for maximum coverage.
Multimodal Coverage (Now)
Faces, textual PII (58+ classes), screen / signage / chat and audio.
Visual Anonymization Styles
Blur (Gaussian/Box/Median), Pixelate, Emoji overlay, High‑fidelity Synthetic Face Swap (InSwapper).
Text Privacy Engine
Structured entity tagging.
Bystander & Creator Controls
Keep largest face (retain presenter) or anonymize everyone; interactive include/exclude selection.
ultralytics
insightface
onnxruntime
opencv-python
Pillow
albumentations
scikit-image
torch
torchvision
transformers
huggingface-hub
openai-whisper
scikit-learn
safetensors
tiktoken
PyAudio
Whisper
tkinter
customtkinter
tkinter-tooltip
numpy
numba
EasyOCR
By using this code you acknowledge these limitations and responsibilities.
@misc{weller2025seqvsseqopen,
title = {Seq vs Seq: An Open Suite of Paired Encoders and Decoders},
author = {Orion Weller and Kathryn Ricci and Marc Marone and Antoine Chaffin and Dawn Lawrie and Benjamin Van Durme},
year = {2025},
eprint = {2507.11412},
archiveprefix = {arXiv},
primaryclass = {cs.CL},
url = {https://arxiv.org/abs/2507.11412}
}
@misc{modernbert,
title = {Smarter, Better, Faster, Longer: A Modern Bidirectional Encoder for Fast, Memory Efficient, and Long Context Finetuning and Inference},
author = {Benjamin Warner and Antoine Chaffin and Benjamin Clavié and Orion Weller and Oskar Hallström and Said Taghadouini and Alexis Gallagher and Raja Biswas and Faisal Ladhak and Tom Aarsen and Nathan Cooper and Griffin Adams and Jeremy Howard and Iacopo Poli},
year = {2024},
eprint = {2412.13663},
archiveprefix = {arXiv},
primaryclass = {cs.CL},
url = {https://arxiv.org/abs/2412.13663}
}
@misc{he2021debertav3,
title = {DeBERTaV3: Improving DeBERTa using ELECTRA-Style Pre-Training with Gradient-Disentangled Embedding Sharing},
author = {Pengcheng He and Jianfeng Gao and Weizhu Chen},
year = {2021},
eprint = {2111.09543},
archiveprefix = {arXiv},
primaryclass = {cs.CL}
}
@inproceedings{he2021deberta,
title = {DEBERTA: DECODING-ENHANCED BERT WITH DISENTANGLED ATTENTION},
author = {Pengcheng He and Xiaodong Liu and Jianfeng Gao and Weizhu Chen},
booktitle = {International Conference on Learning Representations},
year = {2021},
url = {https://openreview.net/forum?id=XPZIaotutsD}
}
@misc{ai4privacy_2023,
author = {ai4Privacy},
title = {pii-masking-200k (Revision 1d4c0a1)},
year = {2023},
url = {https://huggingface.co/datasets/ai4privacy/pii-masking-200k},
doi = {10.57967/hf/1532},
publisher = {Hugging Face}
}
@article{Qwen2.5-VL,
title={Qwen2.5-VL Technical Report},
author={Bai, Shuai and Chen, Keqin and Liu, Xuejing and Wang, Jialin and Ge, Wenbin and Song, Sibo and Dang, Kai and Wang, Peng and Wang, Shijie and Tang, Jun and Zhong, Humen and Zhu, Yuanzhi and Yang, Mingkun and Li, Zhaohai and Wan, Jianqiang and Wang, Pengfei and Ding, Wei and Fu, Zheren and Xu, Yiheng and Ye, Jiabo and Zhang, Xi and Xie, Tianbao and Cheng, Zesen and Zhang, Hang and Yang, Zhibo and Xu, Haiyang and Lin, Junyang},
journal={arXiv preprint arXiv:2502.13923},
year={2025}
}
Sentinel — Share boldly. Reveal wisely.
Python
100.0%