Skip to main content
Start detecting PII in under 5 minutes. Local mode is free forever — no signup, no API key, no network calls.

Try It Instantly (Free, No API Key)

All SDKs include local mode with 86 regex-based entity types and all 8 operations (detect, tokenize, redact, mask, hash, encrypt, synthesize, detokenize). Your data never leaves your infrastructure. You only need an API key if you want NLP-powered detection via the Cloud API.
pip install blindfold-sdk
from blindfold import Blindfold

# No API key needed — runs entirely in-process
client = Blindfold()

result = client.tokenize("Contact john@example.com or call +1-555-1234")
print(result.text)
# "Contact <Email Address_1> or call <Phone Number_1>"
Local mode is free forever. No data leaves your infrastructure — everything runs in-process with zero network calls. Supports 86 regex-based entity types (emails, phones, credit cards, SSNs, IBANs, and more) and all 8 privacy operations.
Need NLP-powered detection (names, addresses, organizations), compliance policies, or audit logs? Continue below to set up the optional Cloud API.

Step 1: Create an Account

Sign up for a Blindfold account to get started.

Create Account

Create your free account at app.blindfold.dev
After signing up, you will be automatically logged into the dashboard.

Step 2: Generate an API Key

Once logged in, navigate to the API Keys section to create your first API key.
1

Go to API Keys

In the dashboard, click on API Keys in the sidebar navigation.
2

Create New Key

Click the Create API Key button.
3

Name Your Key

Give your API key a descriptive name (e.g., “Development”, “Production App”).
4

Copy Your Key

Copy the generated API key and store it securely. You will not be able to see it again.
Keep your API key secure and never commit it to version control. Use environment variables to store your keys.

Step 3: Make Your First API Call

Choose your preferred integration method and make your first request.
Install the Python SDK and tokenize your first text.
pip install blindfold-sdk
from blindfold import Blindfold

# Initialize the client
client = Blindfold(api_key="your-api-key-here")

# Tokenize text with sensitive data
response = client.tokenize(
    "My email is john@example.com and phone is +1-555-1234"
)

print(response.text)
# Output: "My email is <EMAIL_ADDRESS_1> and phone is <PHONE_NUMBER_1>"

print(response.mapping)
# Output: {'<EMAIL_ADDRESS_1>': 'john@example.com', '<PHONE_NUMBER_1>': '+1-555-1234'}
The SDK automatically handles API authentication and request formatting.
Data Residency: Need your data processed in a specific region? Use region="eu" or region="us" when initializing the client. See Regions for details.

Step 4: Restore Original Data (Detokenize)

After sending tokenized data to AI or processing, you can restore the original values using the mapping.
from blindfold import Blindfold

client = Blindfold(api_key="your-api-key-here")

# Step 1: Tokenize sensitive data
protected = client.tokenize(
    "Contact John Doe at john@example.com or call +1-555-1234"
)

print(protected.text)
# "Contact <PERSON_1> at <EMAIL_ADDRESS_1> or call <PHONE_NUMBER_1>"

# Step 2: Send to AI (protected data only)
ai_response = f"We received your request: {protected.text}"
# AI never sees real PII!

# Step 3: Restore original data
original = client.detokenize(
    text=ai_response,
    mapping=protected.mapping
)

print(original)
# "We received your request: Contact John Doe at john@example.com or call +1-555-1234"
Store the mapping securely. Without it, you cannot restore original values.
Complete Privacy Flow: Tokenize → Process with AI → DetokenizeThis ensures AI providers never see real PII, meeting GDPR and EU AI Act requirements.

Response Format

All responses include:
  • text - Protected text
  • entities_count - Number of PII items found
  • detected_entities - Details about what was found
  • mapping - Token mapping (tokenize only)

Use Policies for Easy Compliance

Instead of specifying entities manually, use pre-configured compliance policies:
# GDPR compliance (European data)
response = client.tokenize(
    "Contact: John Doe, john@example.com, +49 30 12345",
    policy="gdpr_eu"
)

# HIPAA compliance (Healthcare data)
response = client.tokenize(
    "Patient: Jane Smith, SSN: 123-45-6789",
    policy="hipaa_us"
)
Available Policies:
  • basic - Names, emails, phones
  • gdpr_eu - GDPR compliance
  • hipaa_us - Healthcare compliance
  • pci_dss - Payment card compliance
  • strict - Maximum protection

Next Steps

Now that you have made your first API call, explore more features:

Need Help?