-
Notifications
You must be signed in to change notification settings - Fork 0
primitives
Douwe de Vries edited this page Jul 1, 2026
·
1 revision
Active contributors: Douwe de Vries
This section documents the domain primitives shared by detection, transformation, reports, frontend contracts, Tauri commands, and Local AI integration. These primitives are centered in csv-anonymizer-core.
| Primitive | Page | Primary paths |
|---|---|---|
| Column facts and evidence | Column metadata |
crates/csv-anonymizer-core/src/types.rs, metadata.rs, detection.rs
|
| Transformation choice | Transform strategy |
crates/csv-anonymizer-core/src/types.rs, strategies
|
| Release evidence | Privacy report |
crates/csv-anonymizer-core/src/types.rs, release_report.rs, report_notes.rs
|
| Local AI replacement memory | Smart replacement map |
crates/csv-anonymizer-core/src/smart.rs, src-tauri/src/local_ai/provider.rs
|
- Column metadata describes a detected field, including type, confidence, evidence, sample values, risk, selection state, and strategy.
- Transform strategy describes how a selected value is transformed.
- Privacy report summarizes release readiness and what happened during transformation.
- Smart replacement map validates Local AI replacements and reuses accepted replacements during preview or output.
graph LR
Input[CSV or pasted input] --> Metadata[Column metadata]
Metadata --> Strategy[Transform strategy]
Strategy --> Smart[Smart replacement map]
Strategy --> Report[Privacy report]
Smart --> Report
Metadata is created first by sampling input and running detectors. Strategy choices then determine how selected cells transform. Transform state and Smart replacement maps track reuse and fallback counts. Privacy reports consume selected metadata and transform counts to produce readiness, evidence, column reports, metrics, and notes.
- Frontend workflow state displays and edits these primitives through TypeScript DTOs.
- Tauri command shell serializes these primitives across Tauri invoke calls.
- csv-anonymizer-core owns the Rust definitions and behavior.
-
scripts/check-contracts.mjschecks important Rust and TypeScript contract alignment.
| Change | Start here |
|---|---|
| Add a detected data type, evidence field, or risk behavior | Column metadata |
| Add or change transformation behavior | Transform strategy |
| Add report counters, readiness evidence, or notes | Privacy report |
| Change Local AI replacement validation or reuse | Smart replacement map |
crates/csv-anonymizer-core/src/types.rscrates/csv-anonymizer-core/src/metadata.rscrates/csv-anonymizer-core/src/detection.rscrates/csv-anonymizer-core/src/strategies/mod.rscrates/csv-anonymizer-core/src/release_report.rscrates/csv-anonymizer-core/src/smart.rs