Masquez les données personnelles avant qu'elles ne partent
Tickets de support, transcriptions, exports : retirez ce qui identifie une personne avant de confier le texte à un modèle de langage ou à un prestataire. Le texte n'est jamais conservé chez nous.
- Support client assisté par IA
- Conformité nLPD et RGPD
- Archivage
- Jeux de données de test
POST
/v1/pii/redact
1 crédit(s) par appelDétecte et masque e-mails, téléphones, IBAN, cartes, numéros AVS, adresses IP et URL. Le texte n'est jamais conservé.
Essayer en ligne
Résultat
—
Exemple de requête
curl -X POST https://supercalcula.ch/api/v1/pii/redact \
-H "Authorization: Bearer sk_live_…" \
-H "Content-Type: application/json" \
-d '{"text":"Contact : jean@exemple.ch, +41 79 123 45 67, IBAN CH93 0076 2011 6238 5295 7","mode":"placeholder"}'
const res = await fetch("https://supercalcula.ch/api/v1/pii/redact", {
method: "POST",
headers: { Authorization: "Bearer sk_live_…", "Content-Type": "application/json" },
body: JSON.stringify({
"text": "Contact : jean@exemple.ch, +41 79 123 45 67, IBAN CH93 0076 2011 6238 5295 7",
"mode": "placeholder"
}),
});
const data = await res.json();
import requests
r = requests.post("https://supercalcula.ch/api/v1/pii/redact",
headers={"Authorization": "Bearer sk_live_…"},
json={"text":"Contact : jean@exemple.ch, +41 79 123 45 67, IBAN CH93 0076 2011 6238 5295 7","mode":"placeholder"})
print(r.json())
$ch = curl_init("https://supercalcula.ch/api/v1/pii/redact");
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ["Authorization: Bearer sk_live_…", "Content-Type: application/json"],
CURLOPT_POSTFIELDS => json_encode(["text" => "Contact : jean@exemple.ch, +41 79 123 45 67, IBAN CH93 0076 2011 6238 5295 7", "mode" => "placeholder"]),
CURLOPT_RETURNTRANSFER => true,
]);
$result = json_decode(curl_exec($ch), true);
Réponse
{
"ok": true,
"data": {
"text": "Contact : [EMAIL_1], [PHONE_1], IBAN [IBAN_1]",
"entities": [
{
"type": "email",
"placeholder": "EMAIL_1",
"start": 10,
"end": 25
},
{
"type": "phone",
"placeholder": "PHONE_1",
"start": 27,
"end": 43
},
{
"type": "iban",
"placeholder": "IBAN_1",
"start": 50,
"end": 76
}
],
"count": 3
}
}Limites et coût
- Coût : 1 crédit(s) par appel
- Texte : 200 000 caractères au maximum
- IBAN vérifiés (modulo 97), cartes (Luhn) et numéros AVS (clé de contrôle) : peu de faux positifs
- Téléphones suisses, français, allemands, autrichiens, belges et internationaux