-
Notifications
You must be signed in to change notification settings - Fork 0
primitives privacy report
Active contributors: Douwe de Vries
Privacy report is the release-facing summary produced after a transform or during preflight. It explains what was selected, which strategies ran, how many values were reused or tokenized, Local AI replacement quality, readiness status, evidence, utility metrics, and review notes.
| Path | Role |
|---|---|
crates/csv-anonymizer-core/src/types.rs |
Defines PrivacyReport, ReleaseReadiness, ReleaseEvidenceItem, ColumnReleaseReport, UtilityMetric, and related status enums. |
crates/csv-anonymizer-core/src/release_report.rs |
Builds readiness, evidence, per-column reports, utility metrics, standard notes, and action labels. |
crates/csv-anonymizer-core/src/report_notes.rs |
Adds notes about unselected columns and high/medium risk columns written unchanged. |
-
PrivacyReportstores identifier counts, strategy counts, pseudonym and token counts, Smart replacement counts, readiness, evidence, column reports, utility metrics, and notes. -
ReleaseReadinessisverified,review, orblocked, with blockers, review items, and verified items. -
ReleaseEvidenceItemcaptures named evidence such as column coverage, detector-risk review, and Local AI validation. -
ColumnReleaseReportrecords per-column action, status, selected flag, detected type, PII risk, and strategy. -
UtilityMetricadds compact release metrics such as selected-column coverage, repeat reuse, and Local AI accepted values. -
TransformReportfrom Transform strategy supplies operational counters used byPrivacyReport.
graph LR
Metadata[Selected column metadata] --> Builder[build_privacy_report]
Transform[TransformReport counters] --> Builder
Builder --> Readiness[ReleaseReadiness]
Builder --> Evidence[ReleaseEvidenceItem]
Builder --> Columns[ColumnReleaseReport]
Builder --> Metrics[UtilityMetric]
Builder --> Notes[Notes]
service.rs creates a PrivacyReport after CSV output by combining selected metadata with TransformReport. release_report.rs then checks whether high or medium detector-risk columns were left unselected, labels each column action, summarizes Smart replacement rejections, and adds utility metrics. report_notes.rs adds user-facing notes when columns were written unchanged.
Preflight uses the same readiness and evidence primitives through PreflightData, but preflight can also add blockers for missing selected columns, invalid output paths, or Local AI readiness before a transform starts.
- Column metadata supplies detected type, risk, selected state, and strategy.
- Transform strategy supplies transform counters and strategy action semantics.
- Smart replacement map supplies Smart replacement request, acceptance, rejection, and fallback counts.
- Frontend workflow state displays preview warnings, preflight blockers, final result data, and report panels.
-
Tauri command shell serializes
PreflightData,AnonymizeData,PasteTransformData, andQuickTransformDatato the frontend.
- Add report fields or status enums in
crates/csv-anonymizer-core/src/types.rsand mirror DTO changes infrontend/src/types.ts. - Change readiness, evidence, column action, utility metrics, or Smart rejection summaries in
crates/csv-anonymizer-core/src/release_report.rs. - Change notes for unselected columns in
crates/csv-anonymizer-core/src/report_notes.rs. - Change CSV report assembly in
crates/csv-anonymizer-core/src/service.rs. - Update frontend report rendering when adding fields.
crates/csv-anonymizer-core/src/types.rscrates/csv-anonymizer-core/src/release_report.rscrates/csv-anonymizer-core/src/report_notes.rscrates/csv-anonymizer-core/src/service.rs