Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
privacy-parser — inverse du filtre de confidentialité d'openai. même modèle 1.5b, renvoie les pii sous forme de spans structurés au lieu de les masquer | Kitploit
Outils/GitHubGitHub/chiefautism/privacy-parser
OSINT (Renseignement de Sources Ouvertes)ReconnaissanceAnalyse des VulnérabilitésExfiltration de DonnéesCollecte d'InformationsTests d'IntrusionProtection de la Vie PrivéeApprentissage Automatique
GitHubchiefautism/privacy-parser

privacy-parser

inverse du filtre de confidentialité d'openai. même modèle 1.5b, renvoie les pii sous forme de spans structurés au lieu de les masquer

4033423il y a 4 joursVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
Voir le dépôt

Privacy Parser

Trouvez chaque élément de données personnelles (PII) dans un texte et récupérez-le sous forme de spans structurés.

Basé sur OpenAI Privacy Filter : même modèle 1.5B, mêmes labels, mêmes poids.
Privacy Filter masque. Privacy Parser extrait.

python license labels F1


Hi Quindle Testwick ([email protected] / +1-415-555-0102),
account 40702810500001234567, 14 Beautiful Ct, Anytown USA,
password Priv4cy-Filt3r-2026.
private_person      Quindle Testwick
private_email       [email protected]
private_phone       +1-415-555-0102
account_number      40702810500001234567
private_address     14 Beautiful Ct, Anytown USA
secret              Priv4cy-Filt3r-2026

Au lieu de <REDACTED>, vous obtenez ce qui a été trouvé, où cela se trouve (start, end) et de quel type il s'agit.

Pourquoi

Privacy Filter répond à « rendez ce texte sûr ». Parfois, vous avez besoin d'une réponse différente : « qu'y a-t-il exactement ici ? »

  • Auditer les journaux, les dumps et les exports avant qu'ils ne quittent votre périmètre
  • Inventorier les données personnelles pour les demandes RGPD / CCPA
  • Contrôles pre-commit et CI pour les secrets et données de contact divulgués
  • Construire des jeux de données : étiqueter les segments de DCP pour l'entraînement ou l'évaluation

Trois backends

BackendNécessite des poidsVitesseF1 *À utiliser quand
PIIParsernonµs1.000zéro dépendance, motifs structurés
ModelPIIParser1.5B~500 ms CPU0.733sortie brute du modèle
HybridPIIParser1.5B~600 ms CPU0.929choix par défaut

* correspondance exacte des segments sur les cinq fixtures d'exemple opf. Un petit ensemble : à considérer comme un test de fumée, pas comme un benchmark.

Installation

git clone https://github.com/openai/privacy-filter
git clone https://github.com/chiefautism/privacy-parser

uv venv
uv pip install -e ./privacy-filter    # only for the model backends
uv pip install -e ./privacy-parser

Le premier lancement du modèle télécharge le checkpoint opf (~3 Go) dans ~/.opf/privacy_filter/. Définissez OPF_CHECKPOINT ou passez model= pour utiliser un autre emplacement.

Démarrage rapide

Hybride (recommandé)

from pii_parser.hybrid import HybridPIIParser

parser = HybridPIIParser(device="cpu")   # or "cuda"
result = parser.parse("Hi Quindle Testwick, call me at +1-415-555-0102")

for s in result.spans:
    print(s.label, s.start, s.end, s.text)

print(result.to_json())

Regex uniquement, sans poids

from pii_parser import parse

result = parse("mail [email protected], token ghp_abcdefghijklmnopqrstuvwxyz0123456789")

result.detected_spans   # (DetectedSpan(label='private_email', ...), ...)
result.redacted_text    # 'mail <REDACTED>, token <REDACTED>'
result.summary          # {'span_counts': {...}, 'total_spans': 2}

CLI

Backend regex, sans modèle :

$ echo "Alice paid 40702810500001234567 on 2026-05-17." | pii-parser --mode spans
account_number  11  31  40702810500001234567
private_date    35  45  2026-05-17

$ pii-parser "mail [email protected]" --mode redacted
mail <REDACTED>
OptionValeursPar défaut
TEXTtexte, ou -f FILE, ou stdin
--modejson · spans · redactedjson
--placeholdern'importe quelle chaîne<REDACTED>
--indentint, 0 pour un JSON compact2

Backend du modèle :

python -m pii_parser.cli_model "Alice paid 40702810500001234567 on 2026-05-17."
python -m pii_parser.cli_model -f dump.txt --device cuda --mode spans

Labels

taxonomie opf v2, 8 catégories :

LabelExemple
private_personQuindle Testwick
private_email[email protected]
private_phone+1-415-555-0102
private_address14 Beautiful Ct, Anytown USA
private_urlhttps://example.com/u/quindle
private_date2026-05-17
account_number40702810500001234567
secretsk-…, ghp_…, AKIA…, Bearer …

Lorsque des spans se chevauchent, le plus long l'emporte, puis le label de priorité la plus élevée : email > url > secret > account > phone > date > address > person.

Comment fonctionne l'hybride

text
  │
  ▼
opf 1.5B ──► BIOES logits ──► Viterbi (tuned biases) ──► char spans
  │
  ▼
span merge        glues "Quindle" + "Testwick" into one person
  │
  ▼
regex backstop    adds url / secret / account where the model missed them
  │
  ▼
spans[]

Chaque étape peut être désactivée :

HybridPIIParser(
    enable_merge=True,
    enable_regex_backstop=True,
    enable_viterbi_tuning=True,
    decode_mode="viterbi",   # or "argmax"
)

Schéma de sortie

{
  "text": "Hi Quindle Testwick ...",
  "spans": [
    { "label": "private_person", "start": 3, "end": 19, "text": "Quindle Testwick" }
  ]
}

Le regex PIIParser reflète opf.RedactionResult (schema_version, summary, detected_spans, redacted_text), ce qui vous permet de changer de backend sans toucher aux consommateurs.

Tests

Les tests s'attendent à ce que privacy-filter soit cloné à côté de ce dépôt (ils lisent ses fixtures d'exemple).

python tests/test_hybrid.py
Fixture F1:  0.929
Scenarios:   8/8 passed
Latency:     ~600 ms CPU

Utilisation responsable

Il s'agit d'un outil à double usage. Exécutez-le sur des données que vous possédez ou que vous êtes autorisé à traiter. L'extraction de données personnelles à partir de sources divulguées ou volées est illégale dans la plupart des juridictions.

Licence

Apache-2.0

Télécharger l’outil