← Back to Skills Marketplace
383
Downloads
0
Stars
0
Active Installs
8
Versions
Install in OpenClaw
/install sensitive-data-masker
Description
Intelligent sensitive data detection and masking. Uses Microsoft Presidio + SQLite for automatic PII redaction with local restoration support.
Usage Guidance
This skill mostly does what it says (local PII detection + local mapping/restore), but two issues need your attention before installing: 1) The Python code requires the cryptography library (it will exit if missing) yet the SKILL.md and metadata do not include installing cryptography — make sure to pip install cryptography so the skill's encryption works as intended. 2) The hook implementation passes full message text as a command-line argument to the masker process; command-line arguments are visible to other users on the same machine (ps aux), which can leak secrets. Prefer changing the handler to pass sensitive content via stdin or another IPC mechanism, or ensure the host is multi-user-safe and that only trusted accounts exist. Also review file permissions and backup policies for ~/.openclaw/data/sensitive-masker (the mapping DB and the encryption key are stored locally and must be protected). If you cannot guarantee host-level protections or cannot enforce the code change to avoid argv exposure, treat this skill as risky and do not enable it on multi-tenant systems.
Capability Analysis
Type: OpenClaw Skill
Name: sensitive-data-masker
Version: 1.0.7
The skill is designed to enhance security by masking sensitive data before it reaches an LLM and restoring it locally for task execution. It employs robust security measures, including mandatory AES-256 encryption for sensitive data at rest (enforced by `sensitive-masker.py` which exits if `cryptography` is not available), secure key generation with `chmod 0o600`, and parameterized SQLite queries to prevent SQL injection. The OpenClaw hook (`handler.js`) uses `child_process.spawn` with an argument array, mitigating shell injection risks. All data is stored locally within the skill's dedicated directory, and there is no evidence of data exfiltration or malicious prompt injection attempts in any files.
Capability Assessment
Purpose & Capability
The name/description match the included code: it uses Presidio for detection and SQLite + encryption for local mapping and restoration. However, the runtime requirements declared in metadata/SKILL.md do not include the cryptography package even though the Python code requires it and fails if it's not present. That omission is incoherent with the code's stated 'REQUIRED - no fallback' encryption behavior.
Instruction Scope
The handler launches the Python masker by putting the entire message content on the child process command line (spawn('python3', [MASKER_SCRIPT, 'mask', content])). Passing raw messages (potentially secrets) as argv exposes them to other local users via process listings (ps), which contradicts the skill's goal of protecting secrets. Aside from that, the instructions and code operate only on local storage and do not call external endpoints.
Install Mechanism
There is no automatic install spec; SKILL.md lists pip/spacy install commands for the user to run. That is low-risk. However, the code requires the cryptography module (and enforces encryption) but the declared install recommendations and metadata do not include it — an inconsistency that will cause the skill to fail or force manual installation.
Credentials
The skill requests no environment variables or external credentials (appropriate). It writes files under ~/.openclaw/data/sensitive-masker and generates an encryption key file; these are proportionate to local mapping/restoration. Note: storing both an encrypted DB and the encryption key locally means a compromise of the user account or backups will expose cleartext; the README warns about backups, but this is an expected tradeoff and should be considered by operators.
Persistence & Privilege
always:false and the skill registers a message:received hook (expected for this purpose). It writes its own files under the user's OpenClaw data directory and does not modify other skills or system-wide settings. No excessive platform privileges are requested.
How to Use
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install sensitive-data-masker - After installation, invoke the skill by name or use
/sensitive-data-masker - Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.7
- Metadata updated in _meta.json.
- No changes to functionality, features, or documentation content.
v1.0.6
v1.0.6 contains metadata-only changes.
- Updated the _meta.json file.
- No changes to functionality or documentation.
v1.0.5
v1.0.5: All files secure English - Mandatory encryption + No shell injection
v1.0.4
v1.0.4: Security Enhancement - Encryption now REQUIRED (no fallback to plaintext)
v1.0.3
v1.0.3: CRITICAL SECURITY FIX - Encryption enabled by default + handler.js uses spawn (no shell injection)
v1.0.2
Security fix: No shell injection + AES-256 encrypted storage
v1.0.1
Complete English translation
v1.0.0
v1.0.0: Microsoft Presidio integration + SQLite storage with LRU cache + OpenClaw Hook support
Metadata
Frequently Asked Questions
What is Sensitive Data Masker?
Intelligent sensitive data detection and masking. Uses Microsoft Presidio + SQLite for automatic PII redaction with local restoration support. It is an AI Agent Skill for Claude Code / OpenClaw, with 383 downloads so far.
How do I install Sensitive Data Masker?
Run "/install sensitive-data-masker" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.
Is Sensitive Data Masker free?
Yes, Sensitive Data Masker is completely free (open-source). You can download, install and use it at no cost.
Which platforms does Sensitive Data Masker support?
Sensitive Data Masker is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).
Who created Sensitive Data Masker?
It is built and maintained by TK (@stj001); the current version is v1.0.7.
More Skills