+

+
+# Data Privacy Core
+
+[](https://crates.io/crates/data_privacy_core)
+[](https://docs.rs/data_privacy_core)
+[](https://crates.io/crates/data_privacy_core)
+[](https://github.com/microsoft/oxidizer/actions/workflows/main.yml)
+[](https://codecov.io/gh/microsoft/oxidizer)
+[](../../LICENSE)
+

+
+
+
+Core data classification types and traits.
+
+The `data_privacy_core` crate contains the trait definitions and the [`DataClass`][__link0] type
+with no support for `#[derive()]` or attribute macros.
+
+In crates that use `#[taxonomy]`, `#[classified]`, `#[derive(RedactedDebug)]`, or
+`#[derive(RedactedDisplay)]`, you must depend on the **[`data_privacy`][__link1]**
+crate, not `data_privacy_core`.
+
+In crates that hand-write implementations of data privacy traits, or only use them as trait
+bounds, depending on `data_privacy_core` is permitted. But `data_privacy` re-exports all of
+these traits and can be used for this use case too. **If in doubt, disregard `data_privacy_core`
+and always use `data_privacy`.**
+
+## Contents
+
+* [`DataClass`][__link2] - identifies a data class within a taxonomy
+* [`Classified`][__link3] - trait for types that hold classified data
+* [`Redactor`][__link4] - trait for types that can apply redaction
+* [`RedactedDebug`][__link5] / [`RedactedDisplay`][__link6] / [`RedactedToString`][__link7] - redaction-aware formatting traits
+
+
+