{
  "tool": "anonymiseur",
  "name": "L'Anonymiseur RGPD",
  "apiVersion": "1",
  "kind": "op",
  "description": "Caviarde (anonymise RGPD) un PDF ou une image en noircissant les mots donnés + les données personnelles détectées (e-mails, téléphones FR, IBAN, SIREN/SIRET) + des regex. OCR automatique si le document n'a pas de couche texte. Par défaut la sortie est un PDF aplati (image) : le texte masqué est réellement détruit, pas seulement caché. Option `searchable:true` : un ré-OCR final rend la sortie CHERCHABLE (texte sélectionnable) tout en restant anonymisée. 100 % local, rien n'est envoyé.",
  "url": "https://sui-juris.fr/p2p-tools/anonymiseur/",
  "heavy": true,
  "ops": {
    "caviarder": {
      "summary": "Noircit automatiquement les mots, PII et regex dans un PDF/image et renvoie un PDF aplati (destructeur) ; option searchable pour une sortie cherchable.",
      "args": {
        "fileBytes": { "type": "base64", "required": true, "description": "Le PDF ou l'image source en base64." },
        "filename":  { "type": "string", "required": false, "description": "Nom du fichier source (sert au nom de sortie)." },
        "motifs":    { "type": "string", "required": false, "description": "Mots à caviarder, séparés par des virgules (ou tableau). Insensible à la casse et aux accents." },
        "pii":       { "type": "object", "required": false, "description": "Booléens {email, phone, iban, siret} — types de données personnelles à détecter. Défaut : tous true." },
        "regex":     { "type": "string", "required": false, "description": "Motif(s) regex supplémentaire(s) à noircir (chaîne ou tableau)." },
        "searchable":{ "type": "boolean", "required": false, "description": "Si true : ré-OCR final → sortie anonymisée MAIS cherchable (texte sélectionnable, sans les données masquées). Défaut false (image non cherchable, plus rapide)." }
      },
      "returns": { "bytes": "base64 du PDF caviardé aplati", "filename": "nom suggéré", "mime": "application/pdf", "redactions": "nombre de zones noircies" }
    }
  }
}
