From 0ded2042e41bfb729ac08bc9b3394a2518646ab4 Mon Sep 17 00:00:00 2001 From: Steve Murphy Date: Fri, 8 Jul 2022 13:22:43 -0400 Subject: [PATCH] Taxonomy Simplification for DataCategory and DataUse (#62) * initial changes to default taxonomy * changelog, rename publish_package * add address layer, fix descriptions * further removal of account * documentation updates and category cleanup --- .github/workflows/publish_package.yaml | 4 +- CHANGELOG.md | 4 + mkdocs/docs/data_categories.md | 158 ++++----- mkdocs/docs/data_uses.md | 20 +- src/fideslang/default_taxonomy.py | 448 +++++++++---------------- 5 files changed, 226 insertions(+), 408 deletions(-) diff --git a/.github/workflows/publish_package.yaml b/.github/workflows/publish_package.yaml index 87321f2b..cdb87971 100644 --- a/.github/workflows/publish_package.yaml +++ b/.github/workflows/publish_package.yaml @@ -1,4 +1,4 @@ -name: Publish fidesctl +name: Publish fideslang on: push: @@ -16,7 +16,7 @@ jobs: - name: Twine Upload run: | - python setup.py sdist + python setup.py sdist twine upload dist/* env: TWINE_USERNAME: __token__ diff --git a/CHANGELOG.md b/CHANGELOG.md index c5131a9a..ec4c9814 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,10 @@ The types of changes are: ## [Unreleased](https://github.com/ethyca/fideslang/compare/1.0.0...main) +### Changed + +* Simplification of Data Categories and Data Uses [#62](https://github.com/ethyca/fideslang/pull/62) + ## 1.0.0 ### Added diff --git a/mkdocs/docs/data_categories.md b/mkdocs/docs/data_categories.md index a5c858c8..0e342195 100644 --- a/mkdocs/docs/data_categories.md +++ b/mkdocs/docs/data_categories.md @@ -3,49 +3,26 @@ Data Categories are labels to describe the type of data processed by your software. These are most heavily used by the System and Dataset resources, where you can assign one or more data categories to each field. !!! Note "Extensibility and Interopability" - Data Categories in the taxonomy are designed to support common privacy regulations and standards out of the box, these include GDPR, CCPA, LGPD and ISO 19944. - + Data Categories in the taxonomy are designed to support common privacy regulations and standards out of the box, these include GDPR, CCPA, LGPD and ISO 19944. + You can extend the taxonomy to support your system needs. If you do this, we recommend extending from the existing class structures to ensure interopability inside and outside your organization. - + If you have suggestions for core classes that should ship with the taxonomy, [please submit your requests here](https://github.com/ethyca/privacy-taxonomy/issues). ## Top Level Data Categories -There are three top-level categories: +There are two top-level categories: | Label | Parent Key | Description | | --- | --- | --- | -| `account` | `-` | Data related to an account on the system. | | `system` | `-` | Data unique to, and under control of the system. | | `user` | `-` | Data related to the user of the system. | -For each top level category there are multiple subcategories that provide richer context. - -Below is a reference for all subcategories of `account`, `system` and `user` to assist with describing all data across systems. - -## Account Data Categories - -### Account Contact Data - -| Label | Parent Key | Description | -| --- | --- | --- | -| `contact` | `account` | Contact data related to a system account. | -| `city` | `account.contact` | Account's city level address data. | -| `country` | `account.contact` | Account's country level address data. | -| `email` | `account.contact` | Account's email address. | -| `phone_number` | `account.contact` | Account's phone number. | -| `postal_code` | `account.contact` | Account's postal code. | -| `state` | `account.contact` | Account's state level address data. | -| `street` | `account.contact` | Account's street level address. | - -### Account Payment Data +For each top level category there can be multiple subcategories that provide richer context. -| Label | Parent Key | Description | -| --- | --- | --- | -| `payment` | `account` | Payment data related to system account. | -| `financial_account_number` | `account.payment` | Payment data related to system account. | +Below is a reference for all subcategories of `system` and `user` to assist with describing all data across systems. ## System Data Categories @@ -56,78 +33,55 @@ Below is a reference for all subcategories of `account`, `system` and `user` to ## User Data Categories -The "User" data category has two important subcategories for `derived` and `provided` data. - -In turn, `derived` and `provided` both have subcategories for `identifiable` and `nonidentifiable` data, to make it clear what data is considered identifiable in your systems. - -### User Derived Data -Data derived from user provided data or as a result of user actions in the system. - -| Label | Parent Key | Description | -| --- | --- | --- | -| `identifiable` | `user.derived` |Derived data that is linked to, or identifies a user. | -| `biometric_health` | `user.derived.identifiable` |Encoded characteristic collected about a user. | -| `browsing_history` | `user.derived.identifiable` |Content browsing history of a user. | -| `contact` | `user.derived.identifiable` |Contact data collected about a user. | -| `demographic` | `user.derived.identifiable` |Demographic data about a user. | -| `gender` | `user.derived.identifiable` |Gender of an individual. | -| `location` | `user.derived.identifiable` |Records of the location of a user. | -| `media_consumption` | `user.derived.identifiable` |Media type consumption data of a user. | -| `non_specific_age` | `user.derived.identifiable` |Age range data. | -| `observed` | `user.derived.identifiable` |Data collected through observation of use of the system. | -| `organization` | `user.derived.identifiable` |Derived data that is linked to, or identifies an organization. | -| `profiling` | `user.derived.identifiable` |Preference and interest data about a user. | -| `race` | `user.derived.identifiable` |Racial or ethnic origin data. | -| `religious_belief` | `user.derived.identifiable` |Religion or religious belief. | -| `search_history` | `user.derived.identifiable` |Records of search history and queries of a user. | -| `sexual_orientation` | `user.derived.identifiable` |Personal sex life or sexual data. | -| `social` | `user.derived.identifiable` |Social activity and interaction data. | -| `telemetry` | `user.derived.identifiable` |User identifiable measurement data from system sensors and monitoring. | -| `unique_id` | `user.derived.identifiable` |Unique identifier for a user assigned through system use. | -| `user_sensor` | `user.derived.identifiable` |Measurement data derived about a user's environment through system use. | -| `workplace` | `user.derived.identifiable` |Organization of employment. | -| `device` | `user.derived.identifiable` |Data related to a user's device, configuration and setting. | -| `cookie_id` | `user.derived.identifiable.device` |Cookie unique identification number. | -| `device_id` | `user.derived.identifiable.device` |Device unique identification number. | -| `ip_address` | `user.derived.identifiable.device` |Unique identifier related to device connection. | -| `nonidentifiable` | `user.derived` |Non-user identifiable data derived related to a user as a result of user actions in the system.| -| `nonsensor` | `user.derived.nonidentifiable` |Non-user identifiable measurement data derived from sensors and monitoring systems. | - -### User Provided Data -Data provided or created directly by a user of the system. - | Label | Parent Key | Description | | --- | --- | --- | -| `identifiable` | `user.provided` |Data provided or created directly by a user that is linked to or identifies a user. | -| `biometric` | `user.provided.identifiable` |Encoded characteristics provided by a user. | -| `childrens` | `user.provided.identifiable` |Data relating to children. | -| `health_and_medical` | `user.provided.identifiable` |Health records or individual's personal medical information. | -| `job_title` | `user.provided.identifiable` |Professional data. | -| `name` | `user.provided.identifiable` |User's real name. | -| `non_specific_age` | `user.provided.identifiable` |Age range data. | -| `political_opinion` | `user.provided.identifiable` |Data related to the individual's political opinions. | -| `race` | `user.provided.identifiable` |Racial or ethnic origin data. | -| `religious_belief` | `user.provided.identifiable` |Religion or religious belief. | -| `sexual_orientation` | `user.provided.identifiable` |Personal sex life or sexual data. | -| `workplace` | `user.provided.identifiable` |Organization of employment. | -| `date_of_birth` | `user.provided.identifiable` |User's date of birth. | -| `gender` | `user.provided.identifiable` |Gender of an individual. | -| `genetic` | `user.provided.identifiable` |Data about the genetic makeup provided by a user. | -| `contact` | `user.provided.identifiable` |User provided contact data for purposes other than account management. | -| `city` | `user.provided.identifiable.contact` |User's city level address data. | -| `country` | `user.provided.identifiable.contact` |User's country level address data. | -| `email` | `user.provided.identifiable.contact` |User's provided email address. | -| `phone_number` | `user.provided.identifiable.contact` |User's phone number. | -| `postal_code` | `user.provided.identifiable.contact` |User's postal code. | -| `state` | `user.provided.identifiable.contact` |User's state level address data. | -| `street` | `user.provided.identifiable.contact` |User's street level address data. | -| `credentials` | `user.provided.identifiable` |User provided authentication data. | -| `biometric_credentials` | `user.provided.identifiable.credentials` |Credentials for system authentication. | -| `password` | `user.provided.identifiable.credentials` |Password for system authentication. | -| `financial` | `user.provided.identifiable` |Payment data and financial history. | -| `account_number` | `user.provided.identifiable.financial` |User's account number for a payment card, bank account, or other financial system. | -| `government_id` | `user.provided.identifiable` |State provided identification data. | -| `drivers_license_number` | `user.provided.identifiable.government_id`|State issued driving identification number. | -| `national_identification_number` | `user.provided.identifiable.government_id`|State issued personal identification number. | -| `passport_number` | `user.provided.identifiable.government_id`|State issued passport data. | -| `nonidentifiable` | `user.provided` |Data provided or created directly by a user that is not identifiable. | \ No newline at end of file +| `biometric` | `user` |Encoded characteristics of a user. | +| `biometric_health` | `user` |Encoded characteristic about a user's health. | +| `browsing_history` | `user` |Content browsing history of a user. | +| `contact` | `user` |User contact data. | +| `address` | `user.contact` |User contact data related to an address. | +| `city` | `user.contact.address` |User's city level address data. | +| `country` | `user.contact.address` |User's country level address data. | +| `email` | `user.contact.address` |User's email address. | +| `phone_number` | `user.contact.address` |User's phone number. | +| `postal_code` | `user.contact.address` |User's postal code. | +| `state` | `user.contact.address` |User's state level address data. | +| `street` | `user.contact.address` |User's street level address data. | +| `demographic` | `user` |Demographic data about a user. | +| `gender` | `user` |Gender of an individual. | +| `location` | `user` |Records of the location of a user. | +| `media_consumption` | `user` |Media type consumption data of a user. | +| `non_specific_age` | `user` |Age range data. | +| `observed` | `user` |Data collected through observation of use of the system. | +| `organization` | `user` |Derived data that is linked to, or identifies an organization. | +| `profiling` | `user` |Preference and interest data about a user. | +| `race` | `user` |Racial or ethnic origin data. | +| `religious_belief` | `user` |Religion or religious belief. | +| `search_history` | `user` |Records of search history and queries of a user. | +| `sexual_orientation` | `user` |Personal sex life or sexual data. | +| `social` | `user` |Social activity and interaction data. | +| `telemetry` | `user` |User identifiable measurement data from system sensors and monitoring. | +| `unique_id` | `user` |Unique identifier for a user assigned through system use. | +| `user_sensor` | `user` |Measurement data derived about a user's environment through system use. | +| `workplace` | `user` |Organization of employment. | +| `device` | `user` |Data related to a user's device, configuration and setting. | +| `cookie_id` | `user.device` |Cookie unique identification number. | +| `device_id` | `user.device` |Device unique identification number. | +| `ip_address` | `user.device` |Unique identifier related to device connection. | +| `childrens` | `user` |Data relating to children. | +| `health_and_medical` | `user` |Health records or individual's personal medical information. | +| `job_title` | `user` |Professional data. | +| `name` | `user` |User's real name. | +| `political_opinion` | `user` |Data related to the individual's political opinions. | +| `date_of_birth` | `user` |User's date of birth. | +| `genetic` | `user` |Data about the genetic makeup of a user. | +| `credentials` | `user` |User authentication data. | +| `biometric_credentials` | `user.credentials` |Credentials for system authentication. | +| `password` | `user.credentials` |Password for system authentication. | +| `financial` | `user` |Payment data and financial history. | +| `account_number` | `user.financial` |User's account number for a payment card, bank account, or other financial system. | +| `government_id` | `user` |State provided identification data. | +| `drivers_license_number` | `user.government_id` |State issued driving identification number. | +| `national_identification_number` | `user.government_id` |State issued personal identification number. | +| `passport_number` | `user.government_id` |State issued passport data. | +| `nonidentifiable` | `user` |Non-user identifiable data related to a user as a result of user actions in the system. | diff --git a/mkdocs/docs/data_uses.md b/mkdocs/docs/data_uses.md index 577ff1d0..c0e106e2 100644 --- a/mkdocs/docs/data_uses.md +++ b/mkdocs/docs/data_uses.md @@ -3,8 +3,8 @@ Data Uses are labels that describe how, or for what purpose(s) a component of your system is using data. !!! Note "Extensibility and Interopability" - Data Uses in the taxonomy are designed to support common privacy regulations and standards out of the box, these include GDPR, CCPA, LGPD and ISO 19944. - + Data Uses in the taxonomy are designed to support common privacy regulations and standards out of the box, these include GDPR, CCPA, LGPD and ISO 19944. + You can extend the taxonomy to support your system needs. If you do this, we recommend extending from the existing class structures to ensure interopability inside and outside your organization. If you have suggestions for core classes that should ship with the taxonomy, [please submit your requests here](https://github.com/ethyca/privacy-taxonomy/issues) @@ -30,13 +30,13 @@ Below is a reference for all subclasses of `account`, `system` and `user` to ass ### Provide Data Uses -| Label | Parent Key | Description | -| --- | --- | --- | -|`system` |`provide` |The source system, product, service or application being provided to the user. | -|`provide.system.operations` |`provide.system` |Use of specified data categories to operate and protect the system in order to provide the service. | -|`provide.system.operations.support` |`provide.system.operations` |Use of specified data categories to provide support for operation and protection of the system in order to provide the service. | -|`provide.system.operations.support.optimization`|`provide.system.operations.support`|Use of specified data categories to optimize and improve support operations in order to provide the service. | -|`provide.system.upgrades` |`provide.system` |Offer upgrades or upsales such as increased capacity for the service based on monitoring of service usage. | +| Label | Parent Key | Description | +| --- | --- | --- | +|`system` |`provide` |The source system, product, service or application being provided to the user. | +|`provide.service.operations` |`provide.service` |Use of specified data categories to operate and protect the system in order to provide the service. | +|`provide.service.operations.support` |`provide.service.operations` |Use of specified data categories to provide support for operation and protection of the system in order to provide the service. | +|`provide.service.operations.support.optimization`|`provide.service.operations.support`|Use of specified data categories to optimize and improve support operations in order to provide the service. | +|`provide.service.upgrades` |`provide.service` |Offer upgrades or upsales such as increased capacity for the service based on monitoring of service usage. | ### Improve Data Uses @@ -74,7 +74,7 @@ Below is a reference for all subclasses of `account`, `system` and `user` to ass ### Collection & AI Training Data Uses -In the case of `collection` and `train_ai_system`, you will see these have no subclasses at present however define very specific data use cases that should be captured in data processes if they occur. +In the case of `collection` and `train_ai_system`, you will see these have no subclasses at present however define very specific data use cases that should be captured in data processes if they occur. | Label | Parent Key | Description | | --- | --- | --- | diff --git a/src/fideslang/default_taxonomy.py b/src/fideslang/default_taxonomy.py index efa80fed..b482f3b6 100644 --- a/src/fideslang/default_taxonomy.py +++ b/src/fideslang/default_taxonomy.py @@ -1,92 +1,29 @@ """This module contains the the default resources that Fideslang ships with.""" from fideslang import ( - Taxonomy, DataCategory, DataQualifier, - DataUse, DataSubject, + DataUse, Organization, + Taxonomy, ) DEFAULT_TAXONOMY = Taxonomy( data_category=[ DataCategory( - fides_key="account", - organization_fides_key="default_organization", - name="Account Data", - description="Data related to a system account.", - parent_key=None, - ), - DataCategory( - fides_key="account.contact", - organization_fides_key="default_organization", - name="Account Contact Data", - description="Contact data related to a system account.", - parent_key="account", - ), - DataCategory( - fides_key="account.contact.city", - organization_fides_key="default_organization", - name="Account City", - description="Account's city level address data.", - parent_key="account.contact", - ), - DataCategory( - fides_key="account.contact.country", - organization_fides_key="default_organization", - name="Account Country", - description="Account's country level address data.", - parent_key="account.contact", - ), - DataCategory( - fides_key="account.contact.email", - organization_fides_key="default_organization", - name="Account Email", - description="Account's email address.", - parent_key="account.contact", - ), - DataCategory( - fides_key="account.contact.phone_number", - organization_fides_key="default_organization", - name="Account Phone Number", - description="Account's phone number.", - parent_key="account.contact", - ), - DataCategory( - fides_key="account.contact.postal_code", - organization_fides_key="default_organization", - name="Account Postal Code", - description="Account's postal code.", - parent_key="account.contact", - ), - DataCategory( - fides_key="account.contact.state", - organization_fides_key="default_organization", - name="Account State", - description="Account's state level address data.", - parent_key="account.contact", - ), - DataCategory( - fides_key="account.contact.street", - organization_fides_key="default_organization", - name="Account Street", - description="Account's street level address.", - parent_key="account.contact", - ), - DataCategory( - fides_key="account.payment", + fides_key="user.payment", organization_fides_key="default_organization", name="Payment Data", - description="Payment data related to system account.", - parent_key="account", + description="Payment data related to user.", + parent_key="user", ), DataCategory( - fides_key="account.payment.financial_account_number", + fides_key="user.payment.financial_account_number", organization_fides_key="default_organization", name="Account Payment Financial Account Number", description="Financial account number for an account's payment card, bank account, or other financial system.", - parent_key="account.payment", + parent_key="user.payment", ), DataCategory( fides_key="system", @@ -117,438 +54,361 @@ parent_key=None, ), DataCategory( - fides_key="user.derived", + fides_key="user.biometric", organization_fides_key="default_organization", - name="Derived Data", - description="Data derived from user provided data or as a result of user actions in the system.", + name="Biometric Data", + description="Encoded characteristics provided by a user.", parent_key="user", ), DataCategory( - fides_key="user.derived.identifiable", - organization_fides_key="default_organization", - name="Derived User Identifiable Data", - description="Derived data that is linked to, or identifies a user.", - parent_key="user.derived", - ), - DataCategory( - fides_key="user.derived.identifiable.biometric_health", + fides_key="user.biometric_health", organization_fides_key="default_organization", name="Biometric Health Data", description="Encoded characteristic collected about a user.", - parent_key="user.derived.identifiable", + parent_key="user", ), DataCategory( - fides_key="user.derived.identifiable.browsing_history", + fides_key="user.browsing_history", organization_fides_key="default_organization", name="Browsing History", description="Content browsing history of a user.", - parent_key="user.derived.identifiable", + parent_key="user", ), DataCategory( - fides_key="user.derived.identifiable.demographic", + fides_key="user.demographic", organization_fides_key="default_organization", name="Demographic Data", description="Demographic data about a user.", - parent_key="user.derived.identifiable", + parent_key="user", ), DataCategory( - fides_key="user.derived.identifiable.contact", + fides_key="user.contact", organization_fides_key="default_organization", - name="Derived Contact Data", + name="Contact Data", description="Contact data collected about a user.", - parent_key="user.derived.identifiable", + parent_key="user", ), DataCategory( - fides_key="user.derived.identifiable.device", + fides_key="user.contact.address", + organization_fides_key="default_organization", + name="Contact Data", + description="Contact address data collected about a user.", + parent_key="user.contact", + ), + DataCategory( + fides_key="user.device", organization_fides_key="default_organization", name="Device Data", description="Data related to a user's device, configuration and setting.", - parent_key="user.derived.identifiable", + parent_key="user", ), DataCategory( - fides_key="user.derived.identifiable.device.cookie_id", + fides_key="user.device.cookie_id", organization_fides_key="default_organization", name="Cookie ID", description="Cookie unique identification number.", - parent_key="user.derived.identifiable.device", + parent_key="user.device", ), DataCategory( - fides_key="user.derived.identifiable.device.device_id", + fides_key="user.device.device_id", organization_fides_key="default_organization", name="Device ID", description="Device unique identification number.", - parent_key="user.derived.identifiable.device", + parent_key="user.device", ), DataCategory( - fides_key="user.derived.identifiable.device.ip_address", + fides_key="user.device.ip_address", organization_fides_key="default_organization", name="IP Address", description="Unique identifier related to device connection.", - parent_key="user.derived.identifiable.device", + parent_key="user.device", ), DataCategory( - fides_key="user.derived.identifiable.gender", + fides_key="user.nonidentifiable", organization_fides_key="default_organization", - name="Derived Gender", + name="User Non-Identifiable Data", + description="Non-user identifiable data related to a user as a result of user actions in the system.", + parent_key="user", + ), + DataCategory( + fides_key="user.gender", + organization_fides_key="default_organization", + name="Gender", description="Gender of an individual.", - parent_key="user.derived.identifiable", + parent_key="user", ), DataCategory( - fides_key="user.derived.identifiable.location", + fides_key="user.location", organization_fides_key="default_organization", name="Location Data", description="Records of the location of a user.", - parent_key="user.derived.identifiable", + parent_key="user", ), DataCategory( - fides_key="user.derived.identifiable.media_consumption", + fides_key="user.media_consumption", organization_fides_key="default_organization", name="Media Consumption Data", description="Media type consumption data of a user.", - parent_key="user.derived.identifiable", + parent_key="user", ), DataCategory( - fides_key="user.derived.identifiable.non_specific_age", + fides_key="user.non_specific_age", organization_fides_key="default_organization", - name="Derived Non-Specific Age", + name="Non-Specific Age", description="Age range data.", - parent_key="user.derived.identifiable", + parent_key="user", ), DataCategory( - fides_key="user.derived.identifiable.observed", + fides_key="user.observed", organization_fides_key="default_organization", name="Observed Data", description="Data collected through observation of use of the system.", - parent_key="user.derived.identifiable", + parent_key="user", ), DataCategory( - fides_key="user.derived.identifiable.profiling", + fides_key="user.profiling", organization_fides_key="default_organization", name="Profiling Data", description="Preference and interest data about a user.", - parent_key="user.derived.identifiable", + parent_key="user", ), DataCategory( - fides_key="user.derived.identifiable.race", + fides_key="user.race", organization_fides_key="default_organization", - name="Derived Race", + name="Race", description="Racial or ethnic origin data.", - parent_key="user.derived.identifiable", + parent_key="user", ), DataCategory( - fides_key="user.derived.identifiable.religious_belief", + fides_key="user.religious_belief", organization_fides_key="default_organization", - name="Derived Religious Belief", + name="Religious Belief", description="Religion or religious belief.", - parent_key="user.derived.identifiable", + parent_key="user", ), DataCategory( - fides_key="user.derived.identifiable.search_history", + fides_key="user.search_history", organization_fides_key="default_organization", name="Search History", description="Records of search history and queries of a user.", - parent_key="user.derived.identifiable", + parent_key="user", ), DataCategory( - fides_key="user.derived.identifiable.sexual_orientation", + fides_key="user.sexual_orientation", organization_fides_key="default_organization", - name="Derived Sexual Orientation", + name="Sexual Orientation", description="Personal sex life or sexual data.", - parent_key="user.derived.identifiable", + parent_key="user", ), DataCategory( - fides_key="user.derived.identifiable.social", + fides_key="user.social", organization_fides_key="default_organization", name="Social Data", description="Social activity and interaction data.", - parent_key="user.derived.identifiable", + parent_key="user", ), DataCategory( - fides_key="user.derived.identifiable.telemetry", + fides_key="user.telemetry", organization_fides_key="default_organization", name="Telemetry Data", description="User identifiable measurement data from system sensors and monitoring.", - parent_key="user.derived.identifiable", + parent_key="user", ), DataCategory( - fides_key="user.derived.identifiable.unique_id", + fides_key="user.unique_id", organization_fides_key="default_organization", name="Unique ID", description="Unique identifier for a user assigned through system use.", - parent_key="user.derived.identifiable", + parent_key="user", ), DataCategory( - fides_key="user.derived.identifiable.user_sensor", + fides_key="user.user_sensor", organization_fides_key="default_organization", name="User Sensor Data", - description="Measurement data derived about a user's environment through system use.", - parent_key="user.derived.identifiable", + description="Measurement data about a user's environment through system use.", + parent_key="user", ), DataCategory( - fides_key="user.derived.identifiable.organization", + fides_key="user.organization", organization_fides_key="default_organization", name="Organization Identifiable Data", - description="Derived data that is linked to, or identifies an organization.", - parent_key="user.derived.identifiable", + description="Data that is linked to, or identifies an organization.", + parent_key="user", ), DataCategory( - fides_key="user.derived.identifiable.workplace", + fides_key="user.workplace", organization_fides_key="default_organization", - name="Derived Workplace", + name="Workplace", description="Organization of employment.", - parent_key="user.derived.identifiable", - ), - DataCategory( - fides_key="user.derived.nonidentifiable", - organization_fides_key="default_organization", - name="Derived User Non-Identifiable Data", - description="Non-user identifiable data derived related to a user as a result of user actions in the system.", - parent_key="user.derived", + parent_key="user", ), DataCategory( - fides_key="user.derived.nonidentifiable.sensor", + fides_key="user.sensor", organization_fides_key="default_organization", name="Sensor Data", - description="Non-user identifiable measurement data derived from sensors and monitoring systems.", - parent_key="user.derived.nonidentifiable", - ), - DataCategory( - fides_key="user.provided", - organization_fides_key="default_organization", - name="User Provided Data", - description="Data provided or created directly by a user of the system.", + description="Measurement data from sensors and monitoring systems.", parent_key="user", ), DataCategory( - fides_key="user.provided.identifiable", - organization_fides_key="default_organization", - name="User Provided Identifiable Data", - description="Data provided or created directly by a user that is linked to or identifies a user.", - parent_key="user.provided", - ), - DataCategory( - fides_key="user.provided.identifiable.biometric", - organization_fides_key="default_organization", - name="Biometric Data", - description="Encoded characteristics provided by a user.", - parent_key="user.provided.identifiable", - ), - DataCategory( - fides_key="user.provided.identifiable.childrens", + fides_key="user.childrens", organization_fides_key="default_organization", name="Children's Data", description="Data relating to children.", - parent_key="user.provided.identifiable", - ), - DataCategory( - fides_key="user.provided.identifiable.contact", - organization_fides_key="default_organization", - name="Provided Contact Data", - description="User provided contact data for purposes other than account management.", - parent_key="user.provided.identifiable", + parent_key="user", ), DataCategory( - fides_key="user.provided.identifiable.contact.city", + fides_key="user.contact.address.city", organization_fides_key="default_organization", - name="User Provided City", + name="User Contact City", description="User's city level address data.", - parent_key="user.provided.identifiable.contact", + parent_key="user.contact.address", ), DataCategory( - fides_key="user.provided.identifiable.contact.country", + fides_key="user.contact.address.country", organization_fides_key="default_organization", - name="User Provided Country", + name="User Contact Country", description="User's country level address data.", - parent_key="user.provided.identifiable.contact", + parent_key="user.contact.address", ), DataCategory( - fides_key="user.provided.identifiable.contact.email", + fides_key="user.contact.email", organization_fides_key="default_organization", - name="User Provided Email", - description="User's provided email address.", - parent_key="user.provided.identifiable.contact", + name="User Contact Email", + description="User's contact email address.", + parent_key="user.contact", ), DataCategory( - fides_key="user.provided.identifiable.contact.phone_number", + fides_key="user.contact.phone_number", organization_fides_key="default_organization", - name="User Provided Phone Number", + name="User Contact Phone Number", description="User's phone number.", - parent_key="user.provided.identifiable.contact", + parent_key="user.contact", ), DataCategory( - fides_key="user.provided.identifiable.contact.postal_code", + fides_key="user.contact.address.postal_code", organization_fides_key="default_organization", - name="User Provided Postal Code", + name="User Contact Postal Code", description="User's postal code.", - parent_key="user.provided.identifiable.contact", + parent_key="user.contact.address", ), DataCategory( - fides_key="user.provided.identifiable.contact.state", + fides_key="user.contact.address.state", organization_fides_key="default_organization", - name="User Provided State", + name="User Contact State", description="User's state level address data.", - parent_key="user.provided.identifiable.contact", + parent_key="user.contact.address", ), DataCategory( - fides_key="user.provided.identifiable.contact.street", + fides_key="user.contact.address.street", organization_fides_key="default_organization", - name="User Provided Street", + name="User Contact Street", description="User's street level address data.", - parent_key="user.provided.identifiable.contact", + parent_key="user.contact.address", ), DataCategory( - fides_key="user.provided.identifiable.credentials", + fides_key="user.credentials", organization_fides_key="default_organization", name="Credentials", - description="User provided authentication data.", - parent_key="user.provided.identifiable", + description="User authentication data.", + parent_key="user", ), DataCategory( - fides_key="user.provided.identifiable.credentials.biometric_credentials", + fides_key="user.credentials.biometric_credentials", organization_fides_key="default_organization", name="Biometric Credentials", description="Credentials for system authentication.", - parent_key="user.provided.identifiable.credentials", + parent_key="user.credentials", ), DataCategory( - fides_key="user.provided.identifiable.credentials.password", + fides_key="user.credentials.password", organization_fides_key="default_organization", name="Password", description="Password for system authentication.", - parent_key="user.provided.identifiable.credentials", + parent_key="user.credentials", ), DataCategory( - fides_key="user.provided.identifiable.date_of_birth", + fides_key="user.date_of_birth", organization_fides_key="default_organization", name="Date of Birth", description="User's date of birth.", - parent_key="user.provided.identifiable", + parent_key="user", ), DataCategory( - fides_key="user.provided.identifiable.financial", + fides_key="user.financial", organization_fides_key="default_organization", name="Financial Data", description="Payment data and financial history.", - parent_key="user.provided.identifiable", + parent_key="user", ), DataCategory( - fides_key="user.provided.identifiable.financial.account_number", + fides_key="user.financial.account_number", organization_fides_key="default_organization", - name="User Provided Financial Account Number", + name="User Financial Account Number", description="User's account number for a payment card, bank account, or other financial system.", - parent_key="user.provided.identifiable.financial", - ), - DataCategory( - fides_key="user.provided.identifiable.gender", - organization_fides_key="default_organization", - name="User Provided Gender", - description="Gender of an individual.", - parent_key="user.provided.identifiable", + parent_key="user.financial", ), DataCategory( - fides_key="user.provided.identifiable.genetic", + fides_key="user.genetic", organization_fides_key="default_organization", name="Genetic Data", description="Data about the genetic makeup provided by a user.", - parent_key="user.provided.identifiable", + parent_key="user", ), DataCategory( - fides_key="user.provided.identifiable.government_id", + fides_key="user.government_id", organization_fides_key="default_organization", name="Government ID", description="State provided identification data.", - parent_key="user.provided.identifiable", + parent_key="user", ), DataCategory( - fides_key="user.provided.identifiable.government_id.drivers_license_number", + fides_key="user.government_id.drivers_license_number", organization_fides_key="default_organization", name="Driver's License Number", description="State issued driving identification number.", - parent_key="user.provided.identifiable.government_id", + parent_key="user.government_id", ), DataCategory( - fides_key="user.provided.identifiable.government_id.national_identification_number", + fides_key="user.government_id.national_identification_number", organization_fides_key="default_organization", name="National Identification Number", description="State issued personal identification number.", - parent_key="user.provided.identifiable.government_id", + parent_key="user.government_id", ), DataCategory( - fides_key="user.provided.identifiable.government_id.passport_number", + fides_key="user.government_id.passport_number", organization_fides_key="default_organization", name="Passport Number", description="State issued passport data.", - parent_key="user.provided.identifiable.government_id", + parent_key="user.government_id", ), DataCategory( - fides_key="user.provided.identifiable.health_and_medical", + fides_key="user.health_and_medical", organization_fides_key="default_organization", name="Health and Medical Data", description="Health records or individual's personal medical information.", - parent_key="user.provided.identifiable", + parent_key="user", ), DataCategory( - fides_key="user.provided.identifiable.job_title", + fides_key="user.job_title", organization_fides_key="default_organization", name="Job Title", description="Professional data.", - parent_key="user.provided.identifiable", + parent_key="user", ), DataCategory( - fides_key="user.provided.identifiable.name", + fides_key="user.name", organization_fides_key="default_organization", name="Name", description="User's real name.", - parent_key="user.provided.identifiable", - ), - DataCategory( - fides_key="user.provided.identifiable.non_specific_age", - organization_fides_key="default_organization", - name="User Provided Non-Specific Age", - description="Age range data.", - parent_key="user.provided.identifiable", + parent_key="user", ), DataCategory( - fides_key="user.provided.identifiable.political_opinion", + fides_key="user.political_opinion", organization_fides_key="default_organization", name="Political Opinion", description="Data related to the individual's political opinions.", - parent_key="user.provided.identifiable", - ), - DataCategory( - fides_key="user.provided.identifiable.race", - organization_fides_key="default_organization", - name="User Provided Race", - description="Racial or ethnic origin data.", - parent_key="user.provided.identifiable", - ), - DataCategory( - fides_key="user.provided.identifiable.religious_belief", - organization_fides_key="default_organization", - name="User Provided Religious Belief", - description="Religion or religious belief.", - parent_key="user.provided.identifiable", - ), - DataCategory( - fides_key="user.provided.identifiable.sexual_orientation", - organization_fides_key="default_organization", - name="User Provided Sexual Orientation", - description="Personal sex life or sexual data.", - parent_key="user.provided.identifiable", - ), - DataCategory( - fides_key="user.provided.identifiable.workplace", - organization_fides_key="default_organization", - name="User Provided Workplace", - description="Organization of employment.", - parent_key="user.provided.identifiable", - ), - DataCategory( - fides_key="user.provided.nonidentifiable", - organization_fides_key="default_organization", - name="User Provided Non-Identifiable Data", - description="Data provided or created directly by a user that is not identifiable.", - parent_key="user.provided", + parent_key="user", ), ], data_subject=[ @@ -652,39 +512,39 @@ parent_key=None, ), DataUse( - fides_key="provide.system", + fides_key="provide.service", organization_fides_key="default_organization", - name="System", - description="The source system, product, service or application being provided to the user.", + name="Service", + description="The source service, system, or product being provided to the user.", parent_key="provide", ), DataUse( - fides_key="provide.system.operations", + fides_key="provide.service.operations", organization_fides_key="default_organization", - name="System Operations", - description="Use of specified data categories to operate and protect the system in order to provide the service.", - parent_key="provide.system", + name="Service Operations", + description="Use of specified data categories to operate and protect in order to provide the service.", + parent_key="provide.service", ), DataUse( - fides_key="provide.system.operations.support", + fides_key="provide.service.operations.support", organization_fides_key="default_organization", name="Operations Support", - description="Use of specified data categories to provide support for operation and protection of the system in order to provide the service.", - parent_key="provide.system.operations", + description="Use of specified data categories to provide support for operation and protection in order to provide the service.", + parent_key="provide.service.operations", ), DataUse( - fides_key="provide.system.operations.support.optimization", + fides_key="provide.service.operations.support.optimization", organization_fides_key="default_organization", name="Support Optimization", description="Use of specified data categories to optimize and improve support operations in order to provide the service.", - parent_key="provide.system.operations.support", + parent_key="provide.service.operations.support", ), DataUse( - fides_key="provide.system.upgrades", + fides_key="provide.service.upgrades", organization_fides_key="default_organization", name="Offer Upgrades", description="Offer upgrades or upsales such as increased capacity for the service based on monitoring of service usage.", - parent_key="provide.system", + parent_key="provide.service", ), DataUse( fides_key="improve", @@ -739,7 +599,7 @@ fides_key="advertising.first_party.contextual", organization_fides_key="default_organization", name="First Party Contextual Advertising", - description="The promotion of products or services targeted to users based on the processing of derived data from the users prior use of the services.", + description="The promotion of products or services targeted to users based on the processing of data from the users prior use of the services.", parent_key="advertising.first_party", ), DataUse(