API-viite
Integroi anonymisointi sovelluksiisi
Täydellinen REST API ohjelmallista PII-havaintoa ja anonymisointia varten.
Perus-URL
https://anonymize.today/apiKaikki API-päätepisteet ovat suhteessa tähän perus-URL-osoitteeseen. Esimerkiksi analysointi-päätepiste on https://anonymize.today/api/presidio/analyze.
Tunnistautuminen
Tunnista API-pyynnöt käyttämällä Bearer-avaimia:
Authorization: Bearer YOUR_API_TOKENAPI-tunnuksen hankkiminen
- Kirjaudu anonymize.today-tilillesi
- Siirry Asetukset → Tili → API-tunnukset
- Napsauta Luo uusi tunnus
- Kopioi ja säilytä tunnuksesi turvallisesti (sitä ei näytetä uudelleen)
Turvallisuus huomautus
Älä koskaan paljasta API-tunnustasi asiakaspuolen koodissa tai julkisissa repositorioissa. Käytä ympäristömuuttujia ja palvelinpuolen pyyntöjä.
Tunnus pyynnöissä
TypeScript
const response = await fetch('https://anonymize.today/api/presidio/analyze', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.ANONYMIZE_API_TOKEN}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({ text, entities }),
});Python
import os
import requests
headers = {
"Authorization": f"Bearer {os.environ['ANONYMIZE_API_TOKEN']}",
"Content-Type": "application/json"
}
response = requests.post(
"https://anonymize.today/api/presidio/analyze",
headers=headers,
json={"text": text, "entities": entities}
)cURL
curl -X POST https://anonymize.today/api/presidio/analyze \
-H "Authorization: Bearer $ANONYMIZE_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"text": "John Doe works at Acme Corp", "entities": ["PERSON", "ORGANIZATION"]}'Käyttörajoitukset
| Päätepisteen tyyppi | Käyttörajoitus | Purske-etu: 10 pyyntöä |
|---|---|---|
| Authentication | 3 requests/second | 5 requests |
| Analysis & Anonymization | 30 requests/second | 50 requests |
| Presets & Settings | 10 requests/second | 20 requests |
Kun käyttörajoitus on voimassa, API palauttaa 429 Liikaa pyyntöjä -virheen Retry-After-otsikolla, joka ilmoittaa, milloin voit yrittää uudelleen.
Ydinpäätepisteet
Analysoi teksti
Havaitsee PII-entiteettejä tekstissä. Palauttaa havaittujen entiteettien sijainnit ja tyypit.
Anonymisoi teksti
Anonymisoi havaitut PII-entiteetit eri operaattoreita käyttäen.
Palauta anonymisoitu teksti
Palauta salatut entiteetit alkuperäisiin arvoihinsa käyttämällä samaa salausavainta.
Anonymisointioperaattorit
| Operaattori | Kuvaus | Käännettävissä | Esimerkki |
|---|---|---|---|
| replace | Korvaa paikkamerkillä | No | John → [PERSON] |
| mask | Osittain peitä merkit | No | john@email.com → j***@email.com |
| redact | Poista kokonaan | No | John → (empty) |
| hash | Yhteen suuntaan SHA-256 -hash | No | John → a3f2b1c4... |
| encrypt | AES-256-GCM-salaus | Yes | John → [ENC:...] |
Operaattorin asetukset
// Replace operator
{ "type": "replace", "new_value": "[PERSON]" }
// Mask operator
{
"type": "mask",
"masking_char": "*",
"chars_to_mask": 5,
"from_end": false
}
// Hash operator
{ "type": "hash", "hash_type": "sha256" }
// Encrypt operator (requires encryption key in user settings)
{ "type": "encrypt" }
// Redact operator
{ "type": "redact" }Esiasetukset API
Entiteettityypit
anonymize.today tukee 256 entiteettityyppiä 10 kategoriassa:
Personal
PERSON, EMAIL_ADDRESS, PHONE_NUMBER
Financial
CREDIT_CARD, IBAN_CODE, SWIFT_CODE, CRYPTO
Location
LOCATION, ADDRESS, COORDINATES
Government
SSN, PASSPORT, DRIVER_LICENSE, NATIONAL_ID
Contact
URL, DOMAIN_NAME
Technical
IP_ADDRESS, MAC_ADDRESS
Temporal
DATE_TIME, AGE
Organizational
ORGANIZATION, JOB_TITLE
Medical
MEDICAL_LICENSE, HEALTH_ID
Custom
User-defined patterns
Katso täydellinen luettelo entiteettityypeistä Esiasetukset-dokumentaatiossa. Presets documentation.
Tuetut kielet
API tukee 27 kieltä PII-tunnistuksessa:
| Koodi | Kieli | Moottori |
|---|---|---|
| en | English | spaCy |
| de | German | spaCy |
| es | Spanish | spaCy |
| fr | French | spaCy |
| it | Italian | spaCy |
| pt | Portuguese | spaCy |
| nl | Dutch | spaCy |
| pl | Polish | spaCy |
| ru | Russian | spaCy |
| ja | Japanese | spaCy |
| zh | Chinese | spaCy |
| ko | Korean | spaCy |
| ar | Arabic | Transformer |
| hi | Hindi | Transformer |
| tr | Turkish | Transformer |
Lisäkielet: romania, kreikka, kroatia, sloveeni, makedonia, ruotsi, tanska, norja, suomi, ukraina, liettua, katalaani
Virheiden Käsittely
Standardi HTTP-tilakoodit:
| Tila | Merkitys | Kuvaus |
|---|---|---|
| 200 | OK | Request succeeded |
| 201 | Created | Resource created successfully |
| 400 | Bad Request | 400 - Huono pyyntö (virheelliset parametrit) |
| 401 | Unauthorized | 401 - Valtuuttamaton (virheellinen tai puuttuva avain) |
| 402 | Payment Required | Insufficient tokens |
| 403 | Forbidden | Access denied to resource |
| 404 | Not Found | Resource not found |
| 429 | Too Many Requests | 429 - Käyttörajoitettu (liian monta pyyntöä) |
| 500 | Internal Error | 500 - Palvelinvirhe (ota yhteyttä tukeen) |
Virhevastausmuoto
{
"error": {
"code": "INSUFFICIENT_TOKENS",
"message": "You need 5 tokens but only have 2 remaining",
"details": {
"required": 5,
"available": 2
}
}
}Täydelliset esimerkit
TypeScript/Node.js
import fetch from 'node-fetch';
const API_BASE = 'https://anonymize.today/api';
const API_TOKEN = process.env.ANONYMIZE_API_TOKEN;
async function analyzeAndAnonymize(text: string) {
// Step 1: Analyze
const analyzeResponse = await fetch(`${API_BASE}/presidio/analyze`, {
method: 'POST',
headers: {
'Authorization': `Bearer ${API_TOKEN}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
text,
entities: ['PERSON', 'EMAIL_ADDRESS', 'PHONE_NUMBER'],
language: 'en',
}),
});
const { results } = await analyzeResponse.json();
if (results.length === 0) {
return { text, anonymized: false };
}
// Step 2: Anonymize
const anonymizeResponse = await fetch(`${API_BASE}/presidio/anonymize`, {
method: 'POST',
headers: {
'Authorization': `Bearer ${API_TOKEN}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
text,
analyzer_results: results,
anonymizers: {
DEFAULT: { type: 'replace', new_value: '[REDACTED]' },
},
}),
});
return anonymizeResponse.json();
}
// Usage
const result = await analyzeAndAnonymize('Contact John Doe at john@example.com');
console.log(result.text); // "Contact [REDACTED] at [REDACTED]"
Python
import os
import requests
API_BASE = "https://anonymize.today/api"
API_TOKEN = os.environ["ANONYMIZE_API_TOKEN"]
def analyze_and_anonymize(text: str) -> dict:
headers = {
"Authorization": f"Bearer {API_TOKEN}",
"Content-Type": "application/json"
}
# Step 1: Analyze
analyze_response = requests.post(
f"{API_BASE}/presidio/analyze",
headers=headers,
json={
"text": text,
"entities": ["PERSON", "EMAIL_ADDRESS", "PHONE_NUMBER"],
"language": "en"
}
)
results = analyze_response.json()["results"]
if not results:
return {"text": text, "anonymized": False}
# Step 2: Anonymize
anonymize_response = requests.post(
f"{API_BASE}/presidio/anonymize",
headers=headers,
json={
"text": text,
"analyzer_results": results,
"anonymizers": {
"DEFAULT": {"type": "replace", "new_value": "[REDACTED]"}
}
}
)
return anonymize_response.json()
# Usage
result = analyze_and_anonymize("Contact John Doe at john@example.com")
print(result["text"]) # "Contact [REDACTED] at [REDACTED]"
Related Documentation
Viimeksi päivitetty: Maaliskuu 2026