Welcome to the protegrity-developer-python repository, part of the Protegrity AI Developer Edition suite. This repository provides the Python module for integrating Protegrity's Data Discovery and Protection APIs into GenAI and traditional applications.
Customize, compile, and use the module as per your requirement.
💡Note: This module should be built and used only if you intend to modify the source code or default behavior.
Table of Contents
- Overview
- Repository Structure
- Features
- Getting Started
- Protegrity AI Developer Edition Python Module
- Application Protector Python module
- Documentation
- Sample Use Case
- License
Overview
This repository contains two powerful modules designed to handle different aspects of data protection:
- protegrity_developer_python - Focuses on data discovery, classification, and redaction of Personally Identifiable Information (PII) in unstructured text
- appython - Provides comprehensive data protection and unprotection capabilities for structured data
Why This Matters
Sensitive data shows up in more places than you'd expect — logs, payloads, prompts, training sets, and unstructured text. This Python module gives you tools to find and protect that data using tokenization, masking, and discovery — whether it's in an AI pipeline or a local script. No infrastructure, no UI, just code.
-
Developer-first experience: Open APIs, sample apps, and modular design make it easy to embed data discovery and protection into any Python project.
-
Accelerate innovation: Prototype and validate data discovery and protection strategies in a lightweight, containerized sandbox.
-
Enable responsible AI: Protect sensitive information in training data, prompts, and outputs for GenAI and machine learning workflows.
-
Simplify compliance: Meet regulatory requirements for data privacy with built-in detection and protection capabilities.
Repository Structure
├── LICENSE
├── README.md
├── pyproject.toml
├── pytest.ini
├── requirements.txt
├── setup.cfg
├── src
│ ├── appython
│ │ ├── __init__.py
│ │ ├── protector.py
│ │ ├── service
│ │ └── utils
│ └── protegrity_developer_python
│ ├── __init__.py
│ ├── securefind.py
│ ├── scan.py
│ └── utils
└── tests
├── e2e
│ ├── features
│ ├── steps
│ ├── data
│ └── utils
| └── conftest.py
│ └── README.md
└── unit
├── appython
│ ├── bulk
│ ├── mock
│ └── single
├── find_and_secure
└── semantic_guardrail
Features
Protegrity Developer Python
| Feature | Description |
|---|---|
| Find and Redact | Classifies and redacts Personally Identifiable Information (PII) in unstructured text. |
| Find and Protect | Classifies and protects Personally Identifiable Information (PII) in unstructured text using Protegrity protection policies. |
| Find and Unprotect | Restores original Personally Identifiable Information (PII) data from its protected form. |
| Cross-Platform Support | Compatible with Linux, Windows, and MacOS. |
| Semantic Guardrail Support | Scan conversations for PII and risk using Semantic Guardrail API. |
Application Protector Python
| Feature | Description |
|---|---|
| Data Protection | Protects sensitive structured data using Protegrity policies. |
| Data Unprotection | Restores original data from its protected form. |
| Session Management | Manages secure sessions for protection and unprotection operations. |
| Cross-Platform Support | Compatible with Linux, Windows, and MacOS. |
Getting Started
Prerequisites
Common Prerequisites
Protegrity Developer Python Prerequisites
No additional prerequisites required beyond the common ones.
Application Protector Python Prerequisites
-
In addition to the common prerequisites, appython requires API Key, Email, and Password
Obtaining Credentials
Protegrity AI Developer Edition Portal Registration
- Visit https://www.protegrity.com/developers/get-api-credentials
- Register for a developer account.
- You will receive an email with your API Key and Password.
Build the protegrity-developer-python module
- Clone the repository.
git clone https://github.com/Protegrity-Developer-Edition/protegrity-developer-python.git - Navigate to the
protegrity-developer-python - Activate the Python virtual environment.
- Install the dependencies.
pip install -r requirements.txt
- Build and install the module by running the following command from the root directory of the repository.
-
Fresh Installation
pip install .
The installation completes and the success message is displayed.
-
If you already have
protegrity-developer-pythonmodule installed and want to upgrade it, run the following command:pip install --upgrade .
The installation completes and the success message is displayed.
Protegrity AI Developer Edition Python Module
💡Note: Ensure that the Protegrity AI Developer Edition is running before installing this module. For setup instructions, please refer to the documentation here.
Usage Examples
Find and Redact
import protegrity_developer_python
protegrity_developer_python.configure(
endpoint_url="http://localhost:8580/pty/data-discovery/v1.1/classify",
named_entity_map={"PERSON": "NAME", "SOCIAL_SECURITY_ID": "SSN"},
masking_char="#",
classification_score_threshold=0.6,
method="redact",
enable_logging=True,
log_level="info"
)
input_text = "John Doe's SSN is 123-45-6789."
output_text = protegrity_developer_python.find_and_redact(input_text)
print(output_text)
Find and Protect
import protegrity_developer_python
protegrity_developer_python.configure(
endpoint_url="http://localhost:8580/pty/data-discovery/v1.1/classify",
named_entity_map={"PERSON": "NAME", "SOCIAL_SECURITY_ID": "SSN"},
masking_char="#",
classification_score_threshold=0.6,
method="redact",
enable_logging=True,
log_level="info"
)
input_text = "John Doe's SSN is 123-45-6789."
output_text = protegrity_developer_python.find_and_protect(input_text)
print(output_text)
Find and Unprotect
import protegrity_developer_python
protegrity_developer_python.configure(
endpoint_url="http://localhost:8580/pty/data-discovery/v1.1/classify",
named_entity_map={"PERSON": "NAME", "SOCIAL_SECURITY_ID": "SSN"},
masking_char="#",
classification_score_threshold=0.6,
method="redact",
enable_logging=True,
log_level="info"
)
#Pass the output received from find and protect
input_text = "[PERSON]7ro8 lfU'I[/PERSON] SSN is [SOCIAL_SECURITY_ID]616-16-2210[/SOCIAL_SECURITY_ID]."
output_text = protegrity_developer_python.find_and_unprotect(input_text)
print(output_text)
Application Protector Python Module
Usage Examples
Export your credentials which you have received during Application Protector Python Prerequisites
export DEV_EDITION_EMAIL='<email_used_for_registration>'
export DEV_EDITION_PASSWORD='<Password_provided_in_email>'
export DEV_EDITION_API_KEY='<API_key_provided_in_email>'
Protect & Unprotect [Single Data]
from appython import Protector
protector = Protector()
user_name = "superuser"
data_element = "ccn"
data = "4111111111111111"
session = protector.create_session(user_name)
protected_data = session.protect(data, data_element)
print("Protected Data: %s" %protected_data)
unprotected_data = session.unprotect(protected_data, data_element)
print("Unprotected Data:%s "%unprotected_data)
Protect & Unprotect [Bulk Data]
from appython import Protector
protector = Protector()
user_name = "superuser"
data_element = "ccn"
data = ["5555555555554444", "378282246310005","4111111111111111"]
session = protector.create_session(user_name)
protected_data,error_codes = session.protect(data, data_element)
print("Protected Data: %s" %protected_data)
unprotected_data,error_codes = session.unprotect(protected_data, data_element)
print("Unprotected Data:%s "%unprotected_data)
💡Note: You do not need Protegrity AI Developer Edition running before executing Application Protector Python Module.
Documentation
- Protegrity AI Developer Edition documentation
- For API reference and tutorials, visit Developer Portal
- For more information about Data Discovery, refer to the Data Discovery documentation.
- For more information about Semantic Guardrails, refer to the Semantic Guardrails documentation.
- For more information about Application Protector Python, refer to the Application Protector Python documentation.
Sample Use Case
Use this repo to build GenAI applications like chatbots that:
- Detect Personally Identifiable Information (PII) in prompts using the classifier
- Protect, Redact, or Mask sensitive data before processing
- Protect and Unprotect structured sensitive data
License
See LICENSE for terms and conditions.
Metadata
Release files for protegrity-developer-python 1.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| protegrity_developer_python-1.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Release files / protegrity_developer_python-1.1.1-py3-none-any.whl
| Download URL | protegrity_developer_python-1.1.1-py3-none-any.whl |
|---|---|
| Size | 38.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b047b5c1130346672bedd29ef583f4bce22c1457731a3ab682c676ec2470e657
|
|
BLAKE2b-256 checksum How to use checksums |
bd72e66b6684af402d92bfcc8f785ce7e49768bcaf6bec368d6612cf99de6728
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|