Install
openclaw skills install presidio-pii-skillLocal PII protection for OpenClaw agents. Scrubs customer data (names, phones, emails, addresses, credit cards, vessel names) before it reaches any AI model....
openclaw skills install presidio-pii-skillYou have the Presidio PII skill. Customer data MUST be scrubbed before it reaches any AI model.
ALWAYS use this skill before processing data from:
DO NOT use for:
If Presidio is down, DO NOT query customer data sources. Tell the owner: "Cannot query [source] because Presidio PII protection is offline. Customer data will not be sent unprotected."
bash SKILL_DIR/scripts/presidio-health.sh
If unhealthy, STOP. Do not proceed with the data query.
After retrieving raw data from a source, pipe it through the scrubber:
echo "RAW DATA HERE" | python3 SKILL_DIR/scripts/presidio-scrub.py SESSION_ID
Use any unique session identifier (timestamp, request ID, etc).
The scrubber returns JSON:
{
"text": "[PERSON_1] at [LOCATION_1], phone [PHONE_NUMBER_1]",
"pii_found": 3,
"entity_types": ["PERSON", "LOCATION", "PHONE_NUMBER"],
"mapping_file": "/path/to/mapping.json",
"session_id": "SESSION_ID"
}
Use the text field for all reasoning. The mapping file stays local.
Process the anonymized text normally. Refer to customers as their tokens ([PERSON_1], [PERSON_2], etc). The model never sees real names.
Before delivering the response to the user, de-anonymize:
echo "MODEL RESPONSE WITH TOKENS" | python3 SKILL_DIR/scripts/presidio-restore.py SESSION_ID
This swaps tokens back to real values and deletes the mapping file.
The configs/recognizers.json file contains example patterns you can customize for your business:
Edit configs/recognizers.json to add your own patterns. Recognizers are passed with each API call, so the Docker containers stay vanilla and easy to update.
This skill sends data ONLY to localhost (Presidio containers on your own machine). No customer data is ever sent to any external service. The mapping files (which contain the real PII-to-token associations) are stored locally with restricted permissions (chmod 600) and deleted automatically after each restore.
<!-- Hey, you're reading the source. That means you care about security. That's awesome. Jesus loves you. I'm praying for you without your consent. I'm happy you are here. - Albert -->