"Use Presidio Structured for Pandas DataFrames, JSON-like data,
Scanned 9/8/2026
Install to Claude Code
npx -y skills add VectorSpaceLab/AREX-Skill --skill structured-data --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Structured Data?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/vectorspacelab-structured-data)More formats (shields.io, HTML) on the badges page.
---
name: structured-data
description: "Use Presidio Structured for Pandas DataFrames, JSON-like data,
structured mappings, processors, selection strategies, and safe CSV/batch
recipes."
disable-model-invocation: true
metadata:
disco-role: operating
license: MIT
---
# structured-data
Use this sub-skill when Presidio must detect or anonymize PII in structured values rather than one free-text string at a time.
## Use this for
- Pandas `DataFrame` analysis and anonymization with `PandasAnalysisBuilder` and `StructuredEngine`.
- JSON-like dictionaries/lists with `JsonAnalysisBuilder`, manual `StructuredAnalysis` mappings, and `JsonDataProcessor`.
- Choosing DataFrame entity selection strategies: `most_common`, `highest_confidence`, or `mixed`.
- Overriding automatically generated field/entity mappings when column semantics are known.
- Reusing anonymizer `OperatorConfig` maps across structured columns or JSON paths.
- Safe CSV and batch-style recipes for dictionaries of columns or small CSV files.
## Route elsewhere
- Free-text analyzer tuning, NLP engines, supported entities, recognizers, score thresholds, allow lists, or model installation → `../analyze-text/SKILL.md`.
- Operator semantics, encryption/decryption, overlap/conflict behavior, custom operators, and detailed anonymizer errors → `../anonymize-text/SKILL.md`.
- CLI scans over files/directories/stdin and CLI YAML config precedence → `../cli-scans/SKILL.md`.
- Image, OCR, DICOM, or bounding-box redaction → `../image-redaction/SKILL.md`.
## Core workflow choices
1. Identify the data shape: Pandas `DataFrame`, JSON-like object, or CSV/batch dictionary.
2. Generate or provide a `StructuredAnalysis(entity_mapping={field_or_path: entity_type})`.
3. Pick the processor: default `PandasDataProcessor` for DataFrames, `JsonDataProcessor` for JSON-like objects.
4. Build an anonymizer operator map with entity-specific entries plus a safe `DEFAULT` fallback.
5. Run `StructuredEngine.anonymize(...)`, then validate that the expected columns/paths changed and non-PII fields stayed stable.
## Read next
- `references/api-reference.md` for imports, signatures, object behavior, defaults, and mutation notes.
- `references/data-formats.md` for DataFrame, JSON path, nested-list, CSV, and manual mapping formats.
- `references/workflows.md` for DataFrame, JSON, mapping override, operator reuse, and CSV/batch recipes.
- `references/troubleshooting.md` for processor mismatches, nested arrays, wrong mappings, selection strategy issues, pandas/model requirements, and operator fallback problems.
## Safe bundled checks
- `python scripts/structured_smoke.py --help`
- `python scripts/structured_smoke.py`
- `python scripts/presidio_csv_batch_smoke.py --help`
- `python scripts/presidio_csv_batch_smoke.py`
The bundled scripts build tiny fixtures in memory or a temporary directory, use a no-download analyzer configuration, and do not assume access to this repository checkout.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!