{
  "tool": "passe-muraille",
  "name": "Le Passe-muraille",
  "apiVersion": "1",
  "description": "Stéganographie : cache un message (chiffrement AES-256-GCM optionnel par mot de passe) dans les bits de poids faible d'une image, ou le révèle. Tout est local, export PNG sans perte.",
  "url": "https://sui-juris.fr/p2p-tools/passe-muraille/",
  "ops": {
    "hide": {
      "summary": "Cache un message dans une image et renvoie l'image piégée (PNG).",
      "args": {
        "imageBytes": { "type": "base64", "required": true, "description": "Image porteuse (n'importe quel format lisible par le navigateur)." },
        "message": { "type": "string", "required": true, "description": "Message secret à cacher." },
        "password": { "type": "string", "required": false, "description": "Mot de passe pour chiffrer le message (AES-256-GCM). Optionnel." }
      },
      "returns": { "bytes": "Image piégée en base64", "mime": "image/png", "filename": "passe-muraille.png" }
    },
    "reveal": {
      "summary": "Révèle le message caché dans une image piégée (PNG).",
      "args": {
        "imageBytes": { "type": "base64", "required": true, "description": "Image PNG générée par l'op hide." },
        "password": { "type": "string", "required": false, "description": "Mot de passe si le message a été chiffré." }
      },
      "returns": { "message": "Message révélé (texte)", "mime": "text/plain" }
    }
  }
}
