From f93572ffc6c634da2894ca392ce2c7e8a64a3c7a Mon Sep 17 00:00:00 2001 From: Rachel Silver Date: Fri, 29 Sep 2023 16:11:42 -0400 Subject: [PATCH 01/10] updated --- src/fideslang/gvl/gvl_data_use_mapping.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/fideslang/gvl/gvl_data_use_mapping.json b/src/fideslang/gvl/gvl_data_use_mapping.json index 8614e7be..530f51b1 100644 --- a/src/fideslang/gvl/gvl_data_use_mapping.json +++ b/src/fideslang/gvl/gvl_data_use_mapping.json @@ -102,7 +102,7 @@ "11": { "id": 11, "name": "Use limited data to select content", - "data_uses": [], + "data_uses": ["personalize.system"], "description": "Content presented to you on this service can be based on limited data, such as the website or app you are using, your non-precise location, your device type, or which content you are (or have been) interacting with (for example, to limit the number of times a video or an article is presented to you).", "illustrations": [ "A travel magazine has published an article on its website about the new online courses proposed by a language school, to improve travelling experiences abroad. The school’s blog posts are inserted directly at the bottom of the page, and selected on the basis of your non-precise location (for instance, blog posts explaining the course curriculum for different languages than the language of the country you are situated in).", From 811ca294f1767ef040b3b6a55ba00a81f8ff9f4b Mon Sep 17 00:00:00 2001 From: Rachel Silver Date: Mon, 2 Oct 2023 12:00:05 -0400 Subject: [PATCH 02/10] Data uses update --- data_files/data_uses.csv | 106 ++++++++++++++++++++------------------- 1 file changed, 54 insertions(+), 52 deletions(-) diff --git a/data_files/data_uses.csv b/data_files/data_uses.csv index b5b94b76..dcddc793 100644 --- a/data_files/data_uses.csv +++ b/data_files/data_uses.csv @@ -1,54 +1,56 @@ fides_key,is_default,legal_basis,legitimate_interest,legitimate_interest_impact_assessment,name,organization_fides_key,parent_key,recipients,replaced_by,special_category,tags,version_added,version_deprecated,description data_use,,,,,Data Use,,,,,,,,, -analytics,True,,,,Analytics,default_organization,data_use,,,,,2.0.0,,"Provides analytics for activities such as system and advertising performance reporting, insights and fraud detection." -analytics.reporting,True,,,,Analytics for Reporting,default_organization,analytics,,,,,2.0.0,,Provides analytics for general reporting such as system and advertising performance. -analytics.reporting.ad_performance,True,,,,Analytics for Advertising Performance,default_organization,analytics.reporting,,,,,2.0.0,,Provides analytics for reporting of advertising performance. -analytics.reporting.content_performance,True,,,,Analytics for Content Performance,default_organization,analytics.reporting,,,,,2.0.0,,Analytics for reporting on content performance. -analytics.reporting.campaign_insights,True,,,,Analytics for Insights,default_organization,analytics.reporting,,,,,2.0.0,,Provides analytics for reporting of campaign insights related to advertising and promotion activities. -analytics.reporting.system,True,,,,Analytics for System Activity,default_organization,analytics.reporting,,,,,2.0.0,,Provides analytics for reporting on system activity. -analytics.reporting.system.performance,True,,,,Analytics for System Performance,default_organization,analytics.reporting.system,,,,,2.0.0,,Provides analytics for reporting on system performance. -collect,True,,,,Collect,default_organization,data_use,,,,,2.0.0,,Collects or stores data in order to use it for another purpose which has not yet been expressly defined. -employment,True,,,,Employment,default_organization,data_use,,,,,2.0.0,,Processes data for the purpose of recruitment or employment and human resources (HR) related activities. -employment.recruitment,True,,,,Employment Recruitment,default_organization,employment,,,,,2.0.0,,Processes data of prospective employees for the purpose of recruitment. -essential,True,,,,Essential,default_organization,data_use,,,,,2.0.0,,"Operates the service or product, including legal obligations, support and basic system operations." -essential.fraud_detection,True,,,,Essential Fraud Detection,default_organization,essential,,,,,2.0.0,,"Detects possible fraud or misuse of the product, service, application or system." -essential.legal_obligation,True,,,,Essential Legal Obligation,default_organization,essential,,,,,2.0.0,,Provides service to meet a legal or compliance obligation such as consent management. -essential.service,True,,,,Essential for Service,default_organization,essential,,,,,2.0.0,,"Provides the essential product, service, application or system, without which the product/service would not be possible." -essential.service.authentication,True,,,,Essential Service Authentication,default_organization,essential.service,,,,,2.0.0,,"Authenticate users to the product, service, application or system." -essential.service.notifications,True,,,,Essential Service Notifications,default_organization,essential.service,,,,,2.0.0,,"Sends notifications about the product, service, application or system." -essential.service.operations,True,,,,Essential for Operations,default_organization,essential.service,,,,,2.0.0,,"Essential to ensure the operation of the product, service, application or system." -essential.service.payment_processing,True,,,,Essential for Payment Processing,default_organization,essential.service,,,,,2.0.0,,"Essential to processes payments for the product, service, application or system." -essential.service.security,True,,,,Essential for Security,default_organization,essential.service,,,,,2.0.0,,"Essential to provide security for the product, service, application or system" -essential.service.upgrades,True,,,,Essential for Service Upgrades,default_organization,essential.service,,,,,2.0.0,,Provides timely system upgrade information options. -essential.service.notifications.email,True,,,,Essential Email Service Notifications,default_organization,essential.service.notifications,,,,,2.0.0,,"Sends email notifications about the product, service, application or system." -essential.service.notifications.sms,True,,,,Essential SMS Service Notifications,default_organization,essential.service.notifications,,,,,2.0.0,,"Sends SMS notifications about the product, service, application or system." -essential.service.operations.support,True,,,,Essential for Operations Support,default_organization,essential.service.operations,,,,,2.0.0,,"Provides support for the product, service, application or system." -essential.service.operations.improve,True,,,,Essential for Support Improvement,default_organization,essential.service.operations,,,,,2.0.0,,"Essential to optimize and improve support for the product, service, application or system." -finance,True,,,,Finance,default_organization,data_use,,,,,2.0.0,,Enables finance and accounting activities such as audits and tax reporting. -functional,True,,,,Functional,default_organization,data_use,,,,,2.0.0,,"Used for specific, necessary, and legitimate purposes" -functional.storage,True,,,,Local Data Storage,default_organization,functional,,,,,2.0.0,,"Stores or accesses information from the device as needed when using a product, service, application, or system" -functional.service,True,,,,Service,default_organization,functional,,,,,2.0.0,,"Functions relating to provided services, products, applications or systems." -functional.service.improve,True,,,,Improve Service,default_organization,functional.service,,,,,2.0.0,,"Improves the specific product, service, application or system." -marketing,True,,,,Marketing,default_organization,data_use,,,,,2.0.0,,"Enables marketing, promotion, advertising and sales activities for the product, service, application or system." -marketing.advertising,True,,,,"Advertising, Marketing or Promotion",default_organization,marketing,,,,,2.0.0,,"Advertises or promotes the product, service, application or system and associated services." -marketing.communications,True,,,,Marketing Communications,default_organization,marketing,,,,,2.0.0,,"Uses combined channels to message and market to a customer, user or prospect." -marketing.advertising.first_party,True,,,,First Party Advertising,default_organization,marketing.advertising,,,,,2.0.0,,Serves advertisements based on first party data collected or derived about the user. -marketing.advertising.frequency_capping,True,,,,Frequency Capping,default_organization,marketing.advertising,,,,,2.0.0,,Restricts the number of times a specific advertisement is shown to an individual. -marketing.advertising.negative_targeting,True,,,,Negative Targeting,default_organization,marketing.advertising,,,,,2.0.0,,Enforces rules used to ensure a certain audience or group is not targeted by advertising. -marketing.advertising.profiling,True,,,,Profiling for Advertising,default_organization,marketing.advertising,,,,,2.0.0,,Creates audience profiles for the purpose of targeted advertising -marketing.advertising.serving,True,,,,Essential for Serving Ads,default_organization,marketing.advertising,,,,,2.0.0,,Essential to the delivery of advertising and content. -marketing.advertising.third_party,True,,,,Third Party Advertising,default_organization,marketing.advertising,,,,,2.0.0,,Serves advertisements based on data within the system or joined with data provided by 3rd parties. -marketing.advertising.first_party.contextual,True,,,,First Party Contextual Advertising,default_organization,marketing.advertising.first_party,,,,,2.0.0,,Serves advertisements based on current content being viewed by the user of the system or service. -marketing.advertising.first_party.targeted,True,,,,First Party Personalized Advertising,default_organization,marketing.advertising.first_party,,,,,2.0.0,,Targets advertisements based on data collected or derived about the user from use of the system. -marketing.advertising.third_party.targeted,True,,,,Third Party Targeted Advertising,default_organization,marketing.advertising.third_party,,,,,2.0.0,,Targets advertisements based on data within the system or joined with data provided by 3rd parties. -marketing.communications.email,True,,,,Marketing Email Communications,default_organization,marketing.communications,,,,,2.0.0,,Sends email marketing communications. -marketing.communications.sms,True,,,,Marketing SMS Communications,default_organization,marketing.communications,,,,,2.0.0,,Sends SMS marketing communications. -operations,True,,,,Operations,default_organization,data_use,,,,,2.0.0,,Supports business processes necessary to the organization's operation. -personalize,True,,,,Personalize,default_organization,data_use,,,,,2.0.0,,"Personalizes the product, service, application or system." -personalize.content,True,,,,Content Personalization,default_organization,personalize,,,,,2.0.0,,"Personalizes the content of the product, service, application or system." -personalize.profiling,True,,,,Personalized Profiling,default_organization,personalize,,,,,2.0.0,,Creates profiles for the purpose of serving content. -personalize.system,True,,,,System Personalization,default_organization,personalize,,,,,2.0.0,,Personalizes the system. -sales,True,,,,Sales,default_organization,data_use,,,,,2.0.0,,Supports sales activities such as communications and outreach. -third_party_sharing,True,,,,Third Party Sharing,default_organization,data_use,,,,,2.0.0,,Transfers data to third parties outside of the system or service's scope. -third_party_sharing.legal_obligation,True,,,,Sharing for Legal Obligation,default_organization,third_party_sharing,,,,,2.0.0,,"Shares data for legal obligations, including contracts, applicable laws or regulations." -train_ai_system,True,,,,Train AI System,default_organization,data_use,,,,,2.0.0,,Trains an AI system or data model for machine learning. +analytics,TRUE,,,,Analytics,default_organization,data_use,,,,,2.0.0,,"Provides analytics for activities such as system and advertising performance reporting, insights and fraud detection." +analytics.reporting,TRUE,,,,Analytics for Reporting,default_organization,analytics,,,,,2.0.0,,Provides analytics for general reporting such as system and advertising performance. +analytics.reporting.ad_performance,TRUE,,,,Analytics for Advertising Performance,default_organization,analytics.reporting,,,,,2.0.0,,Provides analytics for reporting of advertising performance. +analytics.reporting.content_performance,TRUE,,,,Analytics for Content Performance,default_organization,analytics.reporting,,,,,2.0.0,,Analytics for reporting on content performance. +analytics.reporting.campaign_insights,TRUE,,,,Analytics for Insights,default_organization,analytics.reporting,,,,,2.0.0,,Provides analytics for reporting of campaign insights related to advertising and promotion activities. +analytics.reporting.system,TRUE,,,,Analytics for System Activity,default_organization,analytics.reporting,,,,,2.0.0,,Provides analytics for reporting on system activity. +analytics.reporting.system.performance,TRUE,,,,Analytics for System Performance,default_organization,analytics.reporting.system,,,,,2.0.0,,Provides analytics for reporting on system performance. +collect,TRUE,,,,Collect,default_organization,data_use,,,,,2.0.0,,Collects or stores data in order to use it for another purpose which has not yet been expressly defined. +employment,TRUE,,,,Employment,default_organization,data_use,,,,,2.0.0,,Processes data for the purpose of recruitment or employment and human resources (HR) related activities. +employment.recruitment,TRUE,,,,Employment Recruitment,default_organization,employment,,,,,2.0.0,,Processes data of prospective employees for the purpose of recruitment. +essential,TRUE,,,,Essential,default_organization,data_use,,,,,2.0.0,,"Operates the service or product, including legal obligations, support and basic system operations." +essential.fraud_detection,TRUE,,,,Essential Fraud Detection,default_organization,essential,,,,,2.0.0,,"Detects possible fraud or misuse of the product, service, application or system." +essential.legal_obligation,TRUE,,,,Essential Legal Obligation,default_organization,essential,,,,,2.0.0,,Provides service to meet a legal or compliance obligation such as consent management. +essential.service,TRUE,,,,Essential for Service,default_organization,essential,,,,,2.0.0,,"Provides the essential product, service, application or system, without which the product/service would not be possible." +essential.service.authentication,TRUE,,,,Essential Service Authentication,default_organization,essential.service,,,,,2.0.0,,"Authenticate users to the product, service, application or system." +essential.service.notifications,TRUE,,,,Essential Service Notifications,default_organization,essential.service,,,,,2.0.0,,"Sends notifications about the product, service, application or system." +essential.service.operations,TRUE,,,,Essential for Operations,default_organization,essential.service,,,,,2.0.0,,"Essential to ensure the operation of the product, service, application or system." +essential.service.payment_processing,TRUE,,,,Essential for Payment Processing,default_organization,essential.service,,,,,2.0.0,,"Essential to processes payments for the product, service, application or system." +essential.service.security,TRUE,,,,Essential for Security,default_organization,essential.service,,,,,2.0.0,,"Essential to provide security for the product, service, application or system" +essential.service.upgrades,TRUE,,,,Essential for Service Upgrades,default_organization,essential.service,,,,,2.0.0,,Provides timely system upgrade information options. +essential.service.notifications.email,TRUE,,,,Essential Email Service Notifications,default_organization,essential.service.notifications,,,,,2.0.0,,"Sends email notifications about the product, service, application or system." +essential.service.notifications.sms,TRUE,,,,Essential SMS Service Notifications,default_organization,essential.service.notifications,,,,,2.0.0,,"Sends SMS notifications about the product, service, application or system." +essential.service.operations.support,TRUE,,,,Essential for Operations Support,default_organization,essential.service.operations,,,,,2.0.0,,"Provides support for the product, service, application or system." +essential.service.operations.improve,TRUE,,,,Essential for Support Improvement,default_organization,essential.service.operations,,,,,2.0.0,,"Essential to optimize and improve support for the product, service, application or system." +finance,TRUE,,,,Finance,default_organization,data_use,,,,,2.0.0,,Enables finance and accounting activities such as audits and tax reporting. +functional,TRUE,,,,Functional,default_organization,data_use,,,,,2.0.0,,"Used for specific, necessary, and legitimate purposes" +functional.storage,TRUE,,,,Local Data Storage,default_organization,functional,,,,,2.0.0,,"Stores or accesses information from the device as needed when using a product, service, application, or system" +functional.service,TRUE,,,,Service,default_organization,functional,,,,,2.0.0,,"Functions relating to provided services, products, applications or systems." +functional.service.improve,TRUE,,,,Improve Service,default_organization,functional.service,,,,,2.0.0,,"Improves the specific product, service, application or system." +marketing,TRUE,,,,Marketing,default_organization,data_use,,,,,2.0.0,,"Enables marketing, promotion, advertising and sales activities for the product, service, application or system." +marketing.advertising,TRUE,,,,"Advertising, Marketing or Promotion",default_organization,marketing,,,,,2.0.0,,"Advertises or promotes the product, service, application or system and associated services." +marketing.communications,TRUE,,,,Marketing Communications,default_organization,marketing,,,,,2.0.0,,"Uses combined channels to message and market to a customer, user or prospect." +marketing.advertising.first_party,TRUE,,,,First Party Advertising,default_organization,marketing.advertising,,,,,2.0.0,,Serves advertisements based on first party data collected or derived about the user. +marketing.advertising.frequency_capping,TRUE,,,,Frequency Capping,default_organization,marketing.advertising,,,,,2.0.0,,Restricts the number of times a specific advertisement is shown to an individual. +marketing.advertising.negative_targeting,TRUE,,,,Negative Targeting,default_organization,marketing.advertising,,,,,2.0.0,,Enforces rules used to ensure a certain audience or group is not targeted by advertising. +marketing.advertising.profiling,TRUE,,,,Profiling for Advertising,default_organization,marketing.advertising,,,,,2.0.0,,Creates audience profiles for the purpose of targeted advertising +marketing.advertising.serving,TRUE,,,,Essential for Serving Ads,default_organization,marketing.advertising,,,,,2.0.0,,Essential to the delivery of advertising and content. +marketing.advertising.third_party,TRUE,,,,Third Party Advertising,default_organization,marketing.advertising,,,,,2.0.0,,Serves advertisements based on data within the system or joined with data provided by 3rd parties. +marketing.advertising.first_party.contextual,TRUE,,,,First Party Contextual Advertising,default_organization,marketing.advertising.first_party,,,,,2.0.0,,Serves advertisements based on current content being viewed by the user of the system or service. +marketing.advertising.first_party.targeted,TRUE,,,,First Party Personalized Advertising,default_organization,marketing.advertising.first_party,,,,,2.0.0,,Targets advertisements based on data collected or derived about the user from use of the system. +marketing.advertising.third_party.targeted,TRUE,,,,Third Party Targeted Advertising,default_organization,marketing.advertising.third_party,,,,,2.0.0,,Targets advertisements based on data within the system or joined with data provided by 3rd parties. +marketing.communications.email,TRUE,,,,Marketing Email Communications,default_organization,marketing.communications,,,,,2.0.0,,Sends email marketing communications. +marketing.communications.sms,TRUE,,,,Marketing SMS Communications,default_organization,marketing.communications,,,,,2.0.0,,Sends SMS marketing communications. +operations,TRUE,,,,Operations,default_organization,data_use,,,,,2.0.0,,Supports business processes necessary to the organization's operation. +personalize,TRUE,,,,Personalize,default_organization,data_use,,,,,2.0.0,,"Personalizes the product, service, application or system." +personalize.content,TRUE,,,,Content Personalization,default_organization,personalize,,,,,2.0.0,,"Personalizes the content of the product, service, application or system." +personalize.content.limited,TRUE,,,,Limited Content Personalization,default_organization,personalize.content,,,,,2.0.1,,Uses limited data for the purpose of serving content. +personalize.content.profiled,TRUE,,,,Targeted Content Personalization,default_organization,personalize.content,,,,,2.0.1,,Uses profiles for the purpose of serving content. +personalize.content.profiling,TRUE,,,,Profiling for Personalization,default_organization,personalize.content,,,,,2.0.1,,Creates profiles for the purpose of serving content. +personalize.system,TRUE,,,,System Personalization,default_organization,personalize,,,,,2.0.0,,Personalizes the system. +sales,TRUE,,,,Sales,default_organization,data_use,,,,,2.0.0,,Supports sales activities such as communications and outreach. +third_party_sharing,TRUE,,,,Third Party Sharing,default_organization,data_use,,,,,2.0.0,,Transfers data to third parties outside of the system or service's scope. +third_party_sharing.legal_obligation,TRUE,,,,Sharing for Legal Obligation,default_organization,third_party_sharing,,,,,2.0.0,,"Shares data for legal obligations, including contracts, applicable laws or regulations." +train_ai_system,TRUE,,,,Train AI System,default_organization,data_use,,,,,2.0.0,,Trains an AI system or data model for machine learning. \ No newline at end of file From f2b01d6b20395159182e23a64d14560e937b65cd Mon Sep 17 00:00:00 2001 From: Rachel Silver Date: Mon, 2 Oct 2023 12:02:48 -0400 Subject: [PATCH 03/10] Updated mappings --- src/fideslang/gvl/gvl_data_use_mapping.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/fideslang/gvl/gvl_data_use_mapping.json b/src/fideslang/gvl/gvl_data_use_mapping.json index 530f51b1..c7de1778 100644 --- a/src/fideslang/gvl/gvl_data_use_mapping.json +++ b/src/fideslang/gvl/gvl_data_use_mapping.json @@ -42,7 +42,7 @@ "5": { "id": 5, "name": "Create profiles to personalise content", - "data_uses": ["personalize.profiling"], + "data_uses": ["personalize.content.profiling"], "description": "Information about your activity on this service (for instance, forms you submit, non-advertising content you look at) can be stored and combined with other information about you (such as your previous activity on this service or other websites or apps) or similar users. This is then used to build or improve a profile about you (which might for example include possible interests and personal aspects). Your profile can be used (also later) to present content that appears more relevant based on your possible interests, such as by adapting the order in which content is shown to you, so that it is even easier for you to find content that matches your interests.", "illustrations": [ "You read several articles on how to build a treehouse on a social media platform. This information might be added to a profile to mark your interest in content related to outdoors as well as do-it-yourself guides (with the objective of allowing the personalisation of content, so that for example you are presented with more blog posts and articles on treehouses and wood cabins in the future).", @@ -52,7 +52,7 @@ "6": { "id": 6, "name": "Use profiles to select personalised content", - "data_uses": ["personalize.content"], + "data_uses": ["personalize.content.profiled"], "description": "Content presented to you on this service can be based on your content personalisation profiles, which can reflect your activity on this or other services (for instance, the forms you submit, content you look at), possible interests and personal aspects, such as by adapting the order in which content is shown to you, so that it is even easier for you to find (non-advertising) content that matches your interests.", "illustrations": [ "You read articles on vegetarian food on a social media platform and then use the cooking app of an unrelated company. The profile built about you on the social media platform will be used to present you vegetarian recipes on the welcome screen of the cooking app.", @@ -102,7 +102,7 @@ "11": { "id": 11, "name": "Use limited data to select content", - "data_uses": ["personalize.system"], + "data_uses": ["personalize.content.limited"], "description": "Content presented to you on this service can be based on limited data, such as the website or app you are using, your non-precise location, your device type, or which content you are (or have been) interacting with (for example, to limit the number of times a video or an article is presented to you).", "illustrations": [ "A travel magazine has published an article on its website about the new online courses proposed by a language school, to improve travelling experiences abroad. The school’s blog posts are inserted directly at the bottom of the page, and selected on the basis of your non-precise location (for instance, blog posts explaining the course curriculum for different languages than the language of the country you are situated in).", From 7ba085bffc6098083c92df7c5dee3bfec74ea2d5 Mon Sep 17 00:00:00 2001 From: Adam Sachs Date: Mon, 2 Oct 2023 14:19:22 -0400 Subject: [PATCH 04/10] update data uses in default taxonomy --- src/fideslang/default_taxonomy/data_uses.py | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/src/fideslang/default_taxonomy/data_uses.py b/src/fideslang/default_taxonomy/data_uses.py index d6f0e715..605ad6dd 100644 --- a/src/fideslang/default_taxonomy/data_uses.py +++ b/src/fideslang/default_taxonomy/data_uses.py @@ -306,10 +306,22 @@ parent_key="personalize", ), default_use_factory( - fides_key="personalize.profiling", - name="Personalized Profiling", + fides_key="personalize.content.limited", + name="Content Personalization", + description="Uses limited data for the purpose of serving content.", + parent_key="personalize.content", + ), + default_use_factory( + fides_key="personalize.content.profiling", + name="Content Personalization", description="Creates profiles for the purpose of serving content.", - parent_key="personalize", + parent_key="personalize.content", + ), + default_use_factory( + fides_key="personalize.content.profiled", + name="Content Personalization", + description="Uses profiles for the purpose of serving content.", + parent_key="personalize.content", ), default_use_factory( fides_key="personalize.system", From 5c3336dcdc51f7001cb32bcb8c570c1ad6430070 Mon Sep 17 00:00:00 2001 From: Dawn Pattison Date: Mon, 2 Oct 2023 19:39:40 -0500 Subject: [PATCH 05/10] Add unique names to new data uses. --- src/fideslang/default_taxonomy/data_uses.py | 6 +++--- tests/fideslang/gvl/test_gvl.py | 4 +--- tests/fideslang/test_default_taxonomy.py | 2 +- 3 files changed, 5 insertions(+), 7 deletions(-) diff --git a/src/fideslang/default_taxonomy/data_uses.py b/src/fideslang/default_taxonomy/data_uses.py index 605ad6dd..f06b3ddc 100644 --- a/src/fideslang/default_taxonomy/data_uses.py +++ b/src/fideslang/default_taxonomy/data_uses.py @@ -307,19 +307,19 @@ ), default_use_factory( fides_key="personalize.content.limited", - name="Content Personalization", + name="Limited Content Personalization", description="Uses limited data for the purpose of serving content.", parent_key="personalize.content", ), default_use_factory( fides_key="personalize.content.profiling", - name="Content Personalization", + name="Profiling for Personalization", description="Creates profiles for the purpose of serving content.", parent_key="personalize.content", ), default_use_factory( fides_key="personalize.content.profiled", - name="Content Personalization", + name="Targeted Content Personalization", description="Uses profiles for the purpose of serving content.", parent_key="personalize.content", ), diff --git a/tests/fideslang/gvl/test_gvl.py b/tests/fideslang/gvl/test_gvl.py index a70b191a..348cd2ad 100644 --- a/tests/fideslang/gvl/test_gvl.py +++ b/tests/fideslang/gvl/test_gvl.py @@ -28,9 +28,7 @@ def test_purpose_to_data_use(): "marketing.advertising.third_party.targeted", ] - assert ( - purpose_to_data_use(11) == [] - ) # purpose 11 is valid, but has no associated data uses + assert purpose_to_data_use(11) == ["personalize.content.limited"] # assert invalid uses raise KeyErrors with pytest.raises(KeyError): diff --git a/tests/fideslang/test_default_taxonomy.py b/tests/fideslang/test_default_taxonomy.py index 6dab42bd..51294558 100644 --- a/tests/fideslang/test_default_taxonomy.py +++ b/tests/fideslang/test_default_taxonomy.py @@ -5,7 +5,7 @@ taxonomy_counts = { "data_category": 85, - "data_use": 52, + "data_use": 54, "data_subject": 15, "data_qualifier": 5, } From 3dcdb1ecfa99d01e8f209712efe3a72f20640429 Mon Sep 17 00:00:00 2001 From: Dawn Pattison Date: Mon, 2 Oct 2023 19:52:00 -0500 Subject: [PATCH 06/10] First stab at adding version_added - restore original deleted data use "personalize.profiling" and instead add what it was replaced by. --- src/fideslang/default_taxonomy/data_uses.py | 11 ++++++ src/fideslang/models.py | 37 +++++++-------------- tests/fideslang/test_default_taxonomy.py | 10 +++--- 3 files changed, 29 insertions(+), 29 deletions(-) diff --git a/src/fideslang/default_taxonomy/data_uses.py b/src/fideslang/default_taxonomy/data_uses.py index f06b3ddc..f721faca 100644 --- a/src/fideslang/default_taxonomy/data_uses.py +++ b/src/fideslang/default_taxonomy/data_uses.py @@ -299,23 +299,34 @@ name="Personalize", description="Personalizes the product, service, application or system.", ), + default_use_factory( + fides_key="personalize.profiling", + name="Personalized Profiling", + description="Creates profiles for the purpose of serving content", + parent_key="personalize", + version_deprecated="2.1.1", + replaced_by="personalize.content.profiling" + ), default_use_factory( fides_key="personalize.content", name="Content Personalization", description="Personalizes the content of the product, service, application or system.", parent_key="personalize", + version_added="2.1.1" ), default_use_factory( fides_key="personalize.content.limited", name="Limited Content Personalization", description="Uses limited data for the purpose of serving content.", parent_key="personalize.content", + version_added="2.1.1" ), default_use_factory( fides_key="personalize.content.profiling", name="Profiling for Personalization", description="Creates profiles for the purpose of serving content.", parent_key="personalize.content", + version_added="2.1.1" ), default_use_factory( fides_key="personalize.content.profiled", diff --git a/src/fideslang/models.py b/src/fideslang/models.py index c1a22647..8b69be30 100644 --- a/src/fideslang/models.py +++ b/src/fideslang/models.py @@ -9,31 +9,18 @@ from typing import Any, Dict, List, Optional, Union from warnings import warn -from pydantic import ( - AnyUrl, - BaseModel, - ConstrainedStr, - Field, - HttpUrl, - PositiveInt, - root_validator, - validator, -) - -from fideslang.validation import ( - FidesKey, - FidesVersion, - check_valid_country_code, - deprecated_version_later_than_added, - has_versioning_if_default, - is_deprecated_if_replaced, - matching_parent_key, - no_self_reference, - parse_data_type_string, - sort_list_objects_by_name, - unique_items_in_list, - valid_data_type, -) +from pydantic import (AnyUrl, BaseModel, ConstrainedStr, Field, HttpUrl, + PositiveInt, root_validator, validator) + +from fideslang.validation import (FidesKey, FidesVersion, + check_valid_country_code, + deprecated_version_later_than_added, + has_versioning_if_default, + is_deprecated_if_replaced, + matching_parent_key, no_self_reference, + parse_data_type_string, + sort_list_objects_by_name, + unique_items_in_list, valid_data_type) # Reusable Validators country_code_validator = validator("third_country_transfers", allow_reuse=True)( diff --git a/tests/fideslang/test_default_taxonomy.py b/tests/fideslang/test_default_taxonomy.py index 51294558..a7462351 100644 --- a/tests/fideslang/test_default_taxonomy.py +++ b/tests/fideslang/test_default_taxonomy.py @@ -1,11 +1,13 @@ -from fideslang.default_taxonomy import DEFAULT_TAXONOMY -import pytest -from typing import Tuple from collections import Counter +from typing import Tuple + +import pytest + +from fideslang.default_taxonomy import DEFAULT_TAXONOMY taxonomy_counts = { "data_category": 85, - "data_use": 54, + "data_use": 55, "data_subject": 15, "data_qualifier": 5, } From 78e44ed6795f7b23797102c57108545747cd7927 Mon Sep 17 00:00:00 2001 From: Dawn Pattison Date: Mon, 2 Oct 2023 19:54:08 -0500 Subject: [PATCH 07/10] Missed black formatting. --- src/fideslang/default_taxonomy/data_uses.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/fideslang/default_taxonomy/data_uses.py b/src/fideslang/default_taxonomy/data_uses.py index f721faca..c4724db0 100644 --- a/src/fideslang/default_taxonomy/data_uses.py +++ b/src/fideslang/default_taxonomy/data_uses.py @@ -305,28 +305,28 @@ description="Creates profiles for the purpose of serving content", parent_key="personalize", version_deprecated="2.1.1", - replaced_by="personalize.content.profiling" + replaced_by="personalize.content.profiling", ), default_use_factory( fides_key="personalize.content", name="Content Personalization", description="Personalizes the content of the product, service, application or system.", parent_key="personalize", - version_added="2.1.1" + version_added="2.1.1", ), default_use_factory( fides_key="personalize.content.limited", name="Limited Content Personalization", description="Uses limited data for the purpose of serving content.", parent_key="personalize.content", - version_added="2.1.1" + version_added="2.1.1", ), default_use_factory( fides_key="personalize.content.profiling", name="Profiling for Personalization", description="Creates profiles for the purpose of serving content.", parent_key="personalize.content", - version_added="2.1.1" + version_added="2.1.1", ), default_use_factory( fides_key="personalize.content.profiled", From 53f7995ae900a2090642ac15b1297c6a6d4fa222 Mon Sep 17 00:00:00 2001 From: Dawn Pattison Date: Thu, 5 Oct 2023 13:44:44 -0500 Subject: [PATCH 08/10] Add missing version_added key and regenerate the yaml, csv, and json files. --- data_files/data_categories.yml | 2 +- data_files/data_uses.csv | 109 ++++++++++---------- data_files/data_uses.json | 67 ++++++++++-- data_files/data_uses.yml | 61 +++++++++-- mkdocs/docs/csv/data_uses.csv | 7 +- src/fideslang/default_taxonomy/data_uses.py | 1 + src/fideslang/models.py | 37 ++++--- 7 files changed, 199 insertions(+), 85 deletions(-) diff --git a/data_files/data_categories.yml b/data_files/data_categories.yml index cc4c8663..be00f65f 100644 --- a/data_files/data_categories.yml +++ b/data_files/data_categories.yml @@ -57,7 +57,7 @@ data_category: fides_key: user.authorization organization_fides_key: default_organization tags: null - name: Authorization Information. + name: Authorization Information description: Scope of permissions and access to a system. parent_key: user - version_added: 2.0.0 diff --git a/data_files/data_uses.csv b/data_files/data_uses.csv index dcddc793..76557e92 100644 --- a/data_files/data_uses.csv +++ b/data_files/data_uses.csv @@ -1,56 +1,57 @@ fides_key,is_default,legal_basis,legitimate_interest,legitimate_interest_impact_assessment,name,organization_fides_key,parent_key,recipients,replaced_by,special_category,tags,version_added,version_deprecated,description data_use,,,,,Data Use,,,,,,,,, -analytics,TRUE,,,,Analytics,default_organization,data_use,,,,,2.0.0,,"Provides analytics for activities such as system and advertising performance reporting, insights and fraud detection." -analytics.reporting,TRUE,,,,Analytics for Reporting,default_organization,analytics,,,,,2.0.0,,Provides analytics for general reporting such as system and advertising performance. -analytics.reporting.ad_performance,TRUE,,,,Analytics for Advertising Performance,default_organization,analytics.reporting,,,,,2.0.0,,Provides analytics for reporting of advertising performance. -analytics.reporting.content_performance,TRUE,,,,Analytics for Content Performance,default_organization,analytics.reporting,,,,,2.0.0,,Analytics for reporting on content performance. -analytics.reporting.campaign_insights,TRUE,,,,Analytics for Insights,default_organization,analytics.reporting,,,,,2.0.0,,Provides analytics for reporting of campaign insights related to advertising and promotion activities. -analytics.reporting.system,TRUE,,,,Analytics for System Activity,default_organization,analytics.reporting,,,,,2.0.0,,Provides analytics for reporting on system activity. -analytics.reporting.system.performance,TRUE,,,,Analytics for System Performance,default_organization,analytics.reporting.system,,,,,2.0.0,,Provides analytics for reporting on system performance. -collect,TRUE,,,,Collect,default_organization,data_use,,,,,2.0.0,,Collects or stores data in order to use it for another purpose which has not yet been expressly defined. -employment,TRUE,,,,Employment,default_organization,data_use,,,,,2.0.0,,Processes data for the purpose of recruitment or employment and human resources (HR) related activities. -employment.recruitment,TRUE,,,,Employment Recruitment,default_organization,employment,,,,,2.0.0,,Processes data of prospective employees for the purpose of recruitment. -essential,TRUE,,,,Essential,default_organization,data_use,,,,,2.0.0,,"Operates the service or product, including legal obligations, support and basic system operations." -essential.fraud_detection,TRUE,,,,Essential Fraud Detection,default_organization,essential,,,,,2.0.0,,"Detects possible fraud or misuse of the product, service, application or system." -essential.legal_obligation,TRUE,,,,Essential Legal Obligation,default_organization,essential,,,,,2.0.0,,Provides service to meet a legal or compliance obligation such as consent management. -essential.service,TRUE,,,,Essential for Service,default_organization,essential,,,,,2.0.0,,"Provides the essential product, service, application or system, without which the product/service would not be possible." -essential.service.authentication,TRUE,,,,Essential Service Authentication,default_organization,essential.service,,,,,2.0.0,,"Authenticate users to the product, service, application or system." -essential.service.notifications,TRUE,,,,Essential Service Notifications,default_organization,essential.service,,,,,2.0.0,,"Sends notifications about the product, service, application or system." -essential.service.operations,TRUE,,,,Essential for Operations,default_organization,essential.service,,,,,2.0.0,,"Essential to ensure the operation of the product, service, application or system." -essential.service.payment_processing,TRUE,,,,Essential for Payment Processing,default_organization,essential.service,,,,,2.0.0,,"Essential to processes payments for the product, service, application or system." -essential.service.security,TRUE,,,,Essential for Security,default_organization,essential.service,,,,,2.0.0,,"Essential to provide security for the product, service, application or system" -essential.service.upgrades,TRUE,,,,Essential for Service Upgrades,default_organization,essential.service,,,,,2.0.0,,Provides timely system upgrade information options. -essential.service.notifications.email,TRUE,,,,Essential Email Service Notifications,default_organization,essential.service.notifications,,,,,2.0.0,,"Sends email notifications about the product, service, application or system." -essential.service.notifications.sms,TRUE,,,,Essential SMS Service Notifications,default_organization,essential.service.notifications,,,,,2.0.0,,"Sends SMS notifications about the product, service, application or system." -essential.service.operations.support,TRUE,,,,Essential for Operations Support,default_organization,essential.service.operations,,,,,2.0.0,,"Provides support for the product, service, application or system." -essential.service.operations.improve,TRUE,,,,Essential for Support Improvement,default_organization,essential.service.operations,,,,,2.0.0,,"Essential to optimize and improve support for the product, service, application or system." -finance,TRUE,,,,Finance,default_organization,data_use,,,,,2.0.0,,Enables finance and accounting activities such as audits and tax reporting. -functional,TRUE,,,,Functional,default_organization,data_use,,,,,2.0.0,,"Used for specific, necessary, and legitimate purposes" -functional.storage,TRUE,,,,Local Data Storage,default_organization,functional,,,,,2.0.0,,"Stores or accesses information from the device as needed when using a product, service, application, or system" -functional.service,TRUE,,,,Service,default_organization,functional,,,,,2.0.0,,"Functions relating to provided services, products, applications or systems." -functional.service.improve,TRUE,,,,Improve Service,default_organization,functional.service,,,,,2.0.0,,"Improves the specific product, service, application or system." -marketing,TRUE,,,,Marketing,default_organization,data_use,,,,,2.0.0,,"Enables marketing, promotion, advertising and sales activities for the product, service, application or system." -marketing.advertising,TRUE,,,,"Advertising, Marketing or Promotion",default_organization,marketing,,,,,2.0.0,,"Advertises or promotes the product, service, application or system and associated services." -marketing.communications,TRUE,,,,Marketing Communications,default_organization,marketing,,,,,2.0.0,,"Uses combined channels to message and market to a customer, user or prospect." -marketing.advertising.first_party,TRUE,,,,First Party Advertising,default_organization,marketing.advertising,,,,,2.0.0,,Serves advertisements based on first party data collected or derived about the user. -marketing.advertising.frequency_capping,TRUE,,,,Frequency Capping,default_organization,marketing.advertising,,,,,2.0.0,,Restricts the number of times a specific advertisement is shown to an individual. -marketing.advertising.negative_targeting,TRUE,,,,Negative Targeting,default_organization,marketing.advertising,,,,,2.0.0,,Enforces rules used to ensure a certain audience or group is not targeted by advertising. -marketing.advertising.profiling,TRUE,,,,Profiling for Advertising,default_organization,marketing.advertising,,,,,2.0.0,,Creates audience profiles for the purpose of targeted advertising -marketing.advertising.serving,TRUE,,,,Essential for Serving Ads,default_organization,marketing.advertising,,,,,2.0.0,,Essential to the delivery of advertising and content. -marketing.advertising.third_party,TRUE,,,,Third Party Advertising,default_organization,marketing.advertising,,,,,2.0.0,,Serves advertisements based on data within the system or joined with data provided by 3rd parties. -marketing.advertising.first_party.contextual,TRUE,,,,First Party Contextual Advertising,default_organization,marketing.advertising.first_party,,,,,2.0.0,,Serves advertisements based on current content being viewed by the user of the system or service. -marketing.advertising.first_party.targeted,TRUE,,,,First Party Personalized Advertising,default_organization,marketing.advertising.first_party,,,,,2.0.0,,Targets advertisements based on data collected or derived about the user from use of the system. -marketing.advertising.third_party.targeted,TRUE,,,,Third Party Targeted Advertising,default_organization,marketing.advertising.third_party,,,,,2.0.0,,Targets advertisements based on data within the system or joined with data provided by 3rd parties. -marketing.communications.email,TRUE,,,,Marketing Email Communications,default_organization,marketing.communications,,,,,2.0.0,,Sends email marketing communications. -marketing.communications.sms,TRUE,,,,Marketing SMS Communications,default_organization,marketing.communications,,,,,2.0.0,,Sends SMS marketing communications. -operations,TRUE,,,,Operations,default_organization,data_use,,,,,2.0.0,,Supports business processes necessary to the organization's operation. -personalize,TRUE,,,,Personalize,default_organization,data_use,,,,,2.0.0,,"Personalizes the product, service, application or system." -personalize.content,TRUE,,,,Content Personalization,default_organization,personalize,,,,,2.0.0,,"Personalizes the content of the product, service, application or system." -personalize.content.limited,TRUE,,,,Limited Content Personalization,default_organization,personalize.content,,,,,2.0.1,,Uses limited data for the purpose of serving content. -personalize.content.profiled,TRUE,,,,Targeted Content Personalization,default_organization,personalize.content,,,,,2.0.1,,Uses profiles for the purpose of serving content. -personalize.content.profiling,TRUE,,,,Profiling for Personalization,default_organization,personalize.content,,,,,2.0.1,,Creates profiles for the purpose of serving content. -personalize.system,TRUE,,,,System Personalization,default_organization,personalize,,,,,2.0.0,,Personalizes the system. -sales,TRUE,,,,Sales,default_organization,data_use,,,,,2.0.0,,Supports sales activities such as communications and outreach. -third_party_sharing,TRUE,,,,Third Party Sharing,default_organization,data_use,,,,,2.0.0,,Transfers data to third parties outside of the system or service's scope. -third_party_sharing.legal_obligation,TRUE,,,,Sharing for Legal Obligation,default_organization,third_party_sharing,,,,,2.0.0,,"Shares data for legal obligations, including contracts, applicable laws or regulations." -train_ai_system,TRUE,,,,Train AI System,default_organization,data_use,,,,,2.0.0,,Trains an AI system or data model for machine learning. \ No newline at end of file +analytics,True,,,,Analytics,default_organization,data_use,,,,,2.0.0,,"Provides analytics for activities such as system and advertising performance reporting, insights and fraud detection." +analytics.reporting,True,,,,Analytics for Reporting,default_organization,analytics,,,,,2.0.0,,Provides analytics for general reporting such as system and advertising performance. +analytics.reporting.ad_performance,True,,,,Analytics for Advertising Performance,default_organization,analytics.reporting,,,,,2.0.0,,Provides analytics for reporting of advertising performance. +analytics.reporting.content_performance,True,,,,Analytics for Content Performance,default_organization,analytics.reporting,,,,,2.0.0,,Analytics for reporting on content performance. +analytics.reporting.campaign_insights,True,,,,Analytics for Insights,default_organization,analytics.reporting,,,,,2.0.0,,Provides analytics for reporting of campaign insights related to advertising and promotion activities. +analytics.reporting.system,True,,,,Analytics for System Activity,default_organization,analytics.reporting,,,,,2.0.0,,Provides analytics for reporting on system activity. +analytics.reporting.system.performance,True,,,,Analytics for System Performance,default_organization,analytics.reporting.system,,,,,2.0.0,,Provides analytics for reporting on system performance. +collect,True,,,,Collect,default_organization,data_use,,,,,2.0.0,,Collects or stores data in order to use it for another purpose which has not yet been expressly defined. +employment,True,,,,Employment,default_organization,data_use,,,,,2.0.0,,Processes data for the purpose of recruitment or employment and human resources (HR) related activities. +employment.recruitment,True,,,,Employment Recruitment,default_organization,employment,,,,,2.0.0,,Processes data of prospective employees for the purpose of recruitment. +essential,True,,,,Essential,default_organization,data_use,,,,,2.0.0,,"Operates the service or product, including legal obligations, support and basic system operations." +essential.fraud_detection,True,,,,Essential Fraud Detection,default_organization,essential,,,,,2.0.0,,"Detects possible fraud or misuse of the product, service, application or system." +essential.legal_obligation,True,,,,Essential Legal Obligation,default_organization,essential,,,,,2.0.0,,Provides service to meet a legal or compliance obligation such as consent management. +essential.service,True,,,,Essential for Service,default_organization,essential,,,,,2.0.0,,"Provides the essential product, service, application or system, without which the product/service would not be possible." +essential.service.authentication,True,,,,Essential Service Authentication,default_organization,essential.service,,,,,2.0.0,,"Authenticate users to the product, service, application or system." +essential.service.notifications,True,,,,Essential Service Notifications,default_organization,essential.service,,,,,2.0.0,,"Sends notifications about the product, service, application or system." +essential.service.operations,True,,,,Essential for Operations,default_organization,essential.service,,,,,2.0.0,,"Essential to ensure the operation of the product, service, application or system." +essential.service.payment_processing,True,,,,Essential for Payment Processing,default_organization,essential.service,,,,,2.0.0,,"Essential to processes payments for the product, service, application or system." +essential.service.security,True,,,,Essential for Security,default_organization,essential.service,,,,,2.0.0,,"Essential to provide security for the product, service, application or system" +essential.service.upgrades,True,,,,Essential for Service Upgrades,default_organization,essential.service,,,,,2.0.0,,Provides timely system upgrade information options. +essential.service.notifications.email,True,,,,Essential Email Service Notifications,default_organization,essential.service.notifications,,,,,2.0.0,,"Sends email notifications about the product, service, application or system." +essential.service.notifications.sms,True,,,,Essential SMS Service Notifications,default_organization,essential.service.notifications,,,,,2.0.0,,"Sends SMS notifications about the product, service, application or system." +essential.service.operations.support,True,,,,Essential for Operations Support,default_organization,essential.service.operations,,,,,2.0.0,,"Provides support for the product, service, application or system." +essential.service.operations.improve,True,,,,Essential for Support Improvement,default_organization,essential.service.operations,,,,,2.0.0,,"Essential to optimize and improve support for the product, service, application or system." +finance,True,,,,Finance,default_organization,data_use,,,,,2.0.0,,Enables finance and accounting activities such as audits and tax reporting. +functional,True,,,,Functional,default_organization,data_use,,,,,2.0.0,,"Used for specific, necessary, and legitimate purposes" +functional.storage,True,,,,Local Data Storage,default_organization,functional,,,,,2.0.0,,"Stores or accesses information from the device as needed when using a product, service, application, or system" +functional.service,True,,,,Service,default_organization,functional,,,,,2.0.0,,"Functions relating to provided services, products, applications or systems." +functional.service.improve,True,,,,Improve Service,default_organization,functional.service,,,,,2.0.0,,"Improves the specific product, service, application or system." +marketing,True,,,,Marketing,default_organization,data_use,,,,,2.0.0,,"Enables marketing, promotion, advertising and sales activities for the product, service, application or system." +marketing.advertising,True,,,,"Advertising, Marketing or Promotion",default_organization,marketing,,,,,2.0.0,,"Advertises or promotes the product, service, application or system and associated services." +marketing.communications,True,,,,Marketing Communications,default_organization,marketing,,,,,2.0.0,,"Uses combined channels to message and market to a customer, user or prospect." +marketing.advertising.first_party,True,,,,First Party Advertising,default_organization,marketing.advertising,,,,,2.0.0,,Serves advertisements based on first party data collected or derived about the user. +marketing.advertising.frequency_capping,True,,,,Frequency Capping,default_organization,marketing.advertising,,,,,2.0.0,,Restricts the number of times a specific advertisement is shown to an individual. +marketing.advertising.negative_targeting,True,,,,Negative Targeting,default_organization,marketing.advertising,,,,,2.0.0,,Enforces rules used to ensure a certain audience or group is not targeted by advertising. +marketing.advertising.profiling,True,,,,Profiling for Advertising,default_organization,marketing.advertising,,,,,2.0.0,,Creates audience profiles for the purpose of targeted advertising +marketing.advertising.serving,True,,,,Essential for Serving Ads,default_organization,marketing.advertising,,,,,2.0.0,,Essential to the delivery of advertising and content. +marketing.advertising.third_party,True,,,,Third Party Advertising,default_organization,marketing.advertising,,,,,2.0.0,,Serves advertisements based on data within the system or joined with data provided by 3rd parties. +marketing.advertising.first_party.contextual,True,,,,First Party Contextual Advertising,default_organization,marketing.advertising.first_party,,,,,2.0.0,,Serves advertisements based on current content being viewed by the user of the system or service. +marketing.advertising.first_party.targeted,True,,,,First Party Personalized Advertising,default_organization,marketing.advertising.first_party,,,,,2.0.0,,Targets advertisements based on data collected or derived about the user from use of the system. +marketing.advertising.third_party.targeted,True,,,,Third Party Targeted Advertising,default_organization,marketing.advertising.third_party,,,,,2.0.0,,Targets advertisements based on data within the system or joined with data provided by 3rd parties. +marketing.communications.email,True,,,,Marketing Email Communications,default_organization,marketing.communications,,,,,2.0.0,,Sends email marketing communications. +marketing.communications.sms,True,,,,Marketing SMS Communications,default_organization,marketing.communications,,,,,2.0.0,,Sends SMS marketing communications. +operations,True,,,,Operations,default_organization,data_use,,,,,2.0.0,,Supports business processes necessary to the organization's operation. +personalize,True,,,,Personalize,default_organization,data_use,,,,,2.0.0,,"Personalizes the product, service, application or system." +personalize.profiling,True,,,,Personalized Profiling,default_organization,personalize,,personalize.content.profiling,,,2.0.0,2.1.1,Creates profiles for the purpose of serving content +personalize.content,True,,,,Content Personalization,default_organization,personalize,,,,,2.1.1,,"Personalizes the content of the product, service, application or system." +personalize.system,True,,,,System Personalization,default_organization,personalize,,,,,2.0.0,,Personalizes the system. +personalize.content.limited,True,,,,Limited Content Personalization,default_organization,personalize.content,,,,,2.1.1,,Uses limited data for the purpose of serving content. +personalize.content.profiling,True,,,,Profiling for Personalization,default_organization,personalize.content,,,,,2.1.1,,Creates profiles for the purpose of serving content. +personalize.content.profiled,True,,,,Targeted Content Personalization,default_organization,personalize.content,,,,,2.1.1,,Uses profiles for the purpose of serving content. +sales,True,,,,Sales,default_organization,data_use,,,,,2.0.0,,Supports sales activities such as communications and outreach. +third_party_sharing,True,,,,Third Party Sharing,default_organization,data_use,,,,,2.0.0,,Transfers data to third parties outside of the system or service's scope. +third_party_sharing.legal_obligation,True,,,,Sharing for Legal Obligation,default_organization,third_party_sharing,,,,,2.0.0,,"Shares data for legal obligations, including contracts, applicable laws or regulations." +train_ai_system,True,,,,Train AI System,default_organization,data_use,,,,,2.0.0,,Trains an AI system or data model for machine learning. diff --git a/data_files/data_uses.json b/data_files/data_uses.json index dfe053ab..d109a6dc 100644 --- a/data_files/data_uses.json +++ b/data_files/data_uses.json @@ -767,6 +767,23 @@ }, { "version_added": "2.0.0", + "version_deprecated": "2.1.1", + "replaced_by": "personalize.content.profiling", + "is_default": true, + "fides_key": "personalize.profiling", + "organization_fides_key": "default_organization", + "tags": null, + "name": "Personalized Profiling", + "description": "Creates profiles for the purpose of serving content", + "parent_key": "personalize", + "legal_basis": null, + "special_category": null, + "recipients": null, + "legitimate_interest": null, + "legitimate_interest_impact_assessment": null + }, + { + "version_added": "2.1.1", "version_deprecated": null, "replaced_by": null, "is_default": true, @@ -787,11 +804,11 @@ "version_deprecated": null, "replaced_by": null, "is_default": true, - "fides_key": "personalize.profiling", + "fides_key": "personalize.system", "organization_fides_key": "default_organization", "tags": null, - "name": "Personalized Profiling", - "description": "Creates profiles for the purpose of serving content.", + "name": "System Personalization", + "description": "Personalizes the system.", "parent_key": "personalize", "legal_basis": null, "special_category": null, @@ -800,16 +817,50 @@ "legitimate_interest_impact_assessment": null }, { - "version_added": "2.0.0", + "version_added": "2.1.1", "version_deprecated": null, "replaced_by": null, "is_default": true, - "fides_key": "personalize.system", + "fides_key": "personalize.content.limited", "organization_fides_key": "default_organization", "tags": null, - "name": "System Personalization", - "description": "Personalizes the system.", - "parent_key": "personalize", + "name": "Limited Content Personalization", + "description": "Uses limited data for the purpose of serving content.", + "parent_key": "personalize.content", + "legal_basis": null, + "special_category": null, + "recipients": null, + "legitimate_interest": null, + "legitimate_interest_impact_assessment": null + }, + { + "version_added": "2.1.1", + "version_deprecated": null, + "replaced_by": null, + "is_default": true, + "fides_key": "personalize.content.profiling", + "organization_fides_key": "default_organization", + "tags": null, + "name": "Profiling for Personalization", + "description": "Creates profiles for the purpose of serving content.", + "parent_key": "personalize.content", + "legal_basis": null, + "special_category": null, + "recipients": null, + "legitimate_interest": null, + "legitimate_interest_impact_assessment": null + }, + { + "version_added": "2.1.1", + "version_deprecated": null, + "replaced_by": null, + "is_default": true, + "fides_key": "personalize.content.profiled", + "organization_fides_key": "default_organization", + "tags": null, + "name": "Targeted Content Personalization", + "description": "Uses profiles for the purpose of serving content.", + "parent_key": "personalize.content", "legal_basis": null, "special_category": null, "recipients": null, diff --git a/data_files/data_uses.yml b/data_files/data_uses.yml index f2e2d4ef..2ac293b1 100644 --- a/data_files/data_uses.yml +++ b/data_files/data_uses.yml @@ -702,6 +702,21 @@ data_use: legitimate_interest: null legitimate_interest_impact_assessment: null - version_added: 2.0.0 + version_deprecated: 2.1.1 + replaced_by: personalize.content.profiling + is_default: true + fides_key: personalize.profiling + organization_fides_key: default_organization + tags: null + name: Personalized Profiling + description: Creates profiles for the purpose of serving content + parent_key: personalize + legal_basis: null + special_category: null + recipients: null + legitimate_interest: null + legitimate_interest_impact_assessment: null +- version_added: 2.1.1 version_deprecated: null replaced_by: null is_default: true @@ -720,27 +735,57 @@ data_use: version_deprecated: null replaced_by: null is_default: true - fides_key: personalize.profiling + fides_key: personalize.system organization_fides_key: default_organization tags: null - name: Personalized Profiling - description: Creates profiles for the purpose of serving content. + name: System Personalization + description: Personalizes the system. parent_key: personalize legal_basis: null special_category: null recipients: null legitimate_interest: null legitimate_interest_impact_assessment: null -- version_added: 2.0.0 +- version_added: 2.1.1 version_deprecated: null replaced_by: null is_default: true - fides_key: personalize.system + fides_key: personalize.content.limited organization_fides_key: default_organization tags: null - name: System Personalization - description: Personalizes the system. - parent_key: personalize + name: Limited Content Personalization + description: Uses limited data for the purpose of serving content. + parent_key: personalize.content + legal_basis: null + special_category: null + recipients: null + legitimate_interest: null + legitimate_interest_impact_assessment: null +- version_added: 2.1.1 + version_deprecated: null + replaced_by: null + is_default: true + fides_key: personalize.content.profiling + organization_fides_key: default_organization + tags: null + name: Profiling for Personalization + description: Creates profiles for the purpose of serving content. + parent_key: personalize.content + legal_basis: null + special_category: null + recipients: null + legitimate_interest: null + legitimate_interest_impact_assessment: null +- version_added: 2.1.1 + version_deprecated: null + replaced_by: null + is_default: true + fides_key: personalize.content.profiled + organization_fides_key: default_organization + tags: null + name: Targeted Content Personalization + description: Uses profiles for the purpose of serving content. + parent_key: personalize.content legal_basis: null special_category: null recipients: null diff --git a/mkdocs/docs/csv/data_uses.csv b/mkdocs/docs/csv/data_uses.csv index b5b94b76..76557e92 100644 --- a/mkdocs/docs/csv/data_uses.csv +++ b/mkdocs/docs/csv/data_uses.csv @@ -45,9 +45,12 @@ marketing.communications.email,True,,,,Marketing Email Communications,default_or marketing.communications.sms,True,,,,Marketing SMS Communications,default_organization,marketing.communications,,,,,2.0.0,,Sends SMS marketing communications. operations,True,,,,Operations,default_organization,data_use,,,,,2.0.0,,Supports business processes necessary to the organization's operation. personalize,True,,,,Personalize,default_organization,data_use,,,,,2.0.0,,"Personalizes the product, service, application or system." -personalize.content,True,,,,Content Personalization,default_organization,personalize,,,,,2.0.0,,"Personalizes the content of the product, service, application or system." -personalize.profiling,True,,,,Personalized Profiling,default_organization,personalize,,,,,2.0.0,,Creates profiles for the purpose of serving content. +personalize.profiling,True,,,,Personalized Profiling,default_organization,personalize,,personalize.content.profiling,,,2.0.0,2.1.1,Creates profiles for the purpose of serving content +personalize.content,True,,,,Content Personalization,default_organization,personalize,,,,,2.1.1,,"Personalizes the content of the product, service, application or system." personalize.system,True,,,,System Personalization,default_organization,personalize,,,,,2.0.0,,Personalizes the system. +personalize.content.limited,True,,,,Limited Content Personalization,default_organization,personalize.content,,,,,2.1.1,,Uses limited data for the purpose of serving content. +personalize.content.profiling,True,,,,Profiling for Personalization,default_organization,personalize.content,,,,,2.1.1,,Creates profiles for the purpose of serving content. +personalize.content.profiled,True,,,,Targeted Content Personalization,default_organization,personalize.content,,,,,2.1.1,,Uses profiles for the purpose of serving content. sales,True,,,,Sales,default_organization,data_use,,,,,2.0.0,,Supports sales activities such as communications and outreach. third_party_sharing,True,,,,Third Party Sharing,default_organization,data_use,,,,,2.0.0,,Transfers data to third parties outside of the system or service's scope. third_party_sharing.legal_obligation,True,,,,Sharing for Legal Obligation,default_organization,third_party_sharing,,,,,2.0.0,,"Shares data for legal obligations, including contracts, applicable laws or regulations." diff --git a/src/fideslang/default_taxonomy/data_uses.py b/src/fideslang/default_taxonomy/data_uses.py index c4724db0..1896c420 100644 --- a/src/fideslang/default_taxonomy/data_uses.py +++ b/src/fideslang/default_taxonomy/data_uses.py @@ -333,6 +333,7 @@ name="Targeted Content Personalization", description="Uses profiles for the purpose of serving content.", parent_key="personalize.content", + version_added="2.1.1", ), default_use_factory( fides_key="personalize.system", diff --git a/src/fideslang/models.py b/src/fideslang/models.py index 8b69be30..c1a22647 100644 --- a/src/fideslang/models.py +++ b/src/fideslang/models.py @@ -9,18 +9,31 @@ from typing import Any, Dict, List, Optional, Union from warnings import warn -from pydantic import (AnyUrl, BaseModel, ConstrainedStr, Field, HttpUrl, - PositiveInt, root_validator, validator) - -from fideslang.validation import (FidesKey, FidesVersion, - check_valid_country_code, - deprecated_version_later_than_added, - has_versioning_if_default, - is_deprecated_if_replaced, - matching_parent_key, no_self_reference, - parse_data_type_string, - sort_list_objects_by_name, - unique_items_in_list, valid_data_type) +from pydantic import ( + AnyUrl, + BaseModel, + ConstrainedStr, + Field, + HttpUrl, + PositiveInt, + root_validator, + validator, +) + +from fideslang.validation import ( + FidesKey, + FidesVersion, + check_valid_country_code, + deprecated_version_later_than_added, + has_versioning_if_default, + is_deprecated_if_replaced, + matching_parent_key, + no_self_reference, + parse_data_type_string, + sort_list_objects_by_name, + unique_items_in_list, + valid_data_type, +) # Reusable Validators country_code_validator = validator("third_country_transfers", allow_reuse=True)( From 55b37547795cea7c5bb32d2197f41fbecbf1171d Mon Sep 17 00:00:00 2001 From: Dawn Pattison Date: Thu, 5 Oct 2023 14:54:39 -0500 Subject: [PATCH 09/10] Remove personalize.profiling instead of deprecating. --- data_files/data_uses.csv | 1 - data_files/data_uses.json | 17 ----------------- data_files/data_uses.yml | 15 --------------- mkdocs/docs/csv/data_uses.csv | 1 - src/fideslang/default_taxonomy/data_uses.py | 8 -------- tests/fideslang/test_default_taxonomy.py | 2 +- 6 files changed, 1 insertion(+), 43 deletions(-) diff --git a/data_files/data_uses.csv b/data_files/data_uses.csv index 76557e92..a606ea59 100644 --- a/data_files/data_uses.csv +++ b/data_files/data_uses.csv @@ -45,7 +45,6 @@ marketing.communications.email,True,,,,Marketing Email Communications,default_or marketing.communications.sms,True,,,,Marketing SMS Communications,default_organization,marketing.communications,,,,,2.0.0,,Sends SMS marketing communications. operations,True,,,,Operations,default_organization,data_use,,,,,2.0.0,,Supports business processes necessary to the organization's operation. personalize,True,,,,Personalize,default_organization,data_use,,,,,2.0.0,,"Personalizes the product, service, application or system." -personalize.profiling,True,,,,Personalized Profiling,default_organization,personalize,,personalize.content.profiling,,,2.0.0,2.1.1,Creates profiles for the purpose of serving content personalize.content,True,,,,Content Personalization,default_organization,personalize,,,,,2.1.1,,"Personalizes the content of the product, service, application or system." personalize.system,True,,,,System Personalization,default_organization,personalize,,,,,2.0.0,,Personalizes the system. personalize.content.limited,True,,,,Limited Content Personalization,default_organization,personalize.content,,,,,2.1.1,,Uses limited data for the purpose of serving content. diff --git a/data_files/data_uses.json b/data_files/data_uses.json index d109a6dc..9049033f 100644 --- a/data_files/data_uses.json +++ b/data_files/data_uses.json @@ -765,23 +765,6 @@ "legitimate_interest": null, "legitimate_interest_impact_assessment": null }, - { - "version_added": "2.0.0", - "version_deprecated": "2.1.1", - "replaced_by": "personalize.content.profiling", - "is_default": true, - "fides_key": "personalize.profiling", - "organization_fides_key": "default_organization", - "tags": null, - "name": "Personalized Profiling", - "description": "Creates profiles for the purpose of serving content", - "parent_key": "personalize", - "legal_basis": null, - "special_category": null, - "recipients": null, - "legitimate_interest": null, - "legitimate_interest_impact_assessment": null - }, { "version_added": "2.1.1", "version_deprecated": null, diff --git a/data_files/data_uses.yml b/data_files/data_uses.yml index 2ac293b1..0133b51a 100644 --- a/data_files/data_uses.yml +++ b/data_files/data_uses.yml @@ -701,21 +701,6 @@ data_use: recipients: null legitimate_interest: null legitimate_interest_impact_assessment: null -- version_added: 2.0.0 - version_deprecated: 2.1.1 - replaced_by: personalize.content.profiling - is_default: true - fides_key: personalize.profiling - organization_fides_key: default_organization - tags: null - name: Personalized Profiling - description: Creates profiles for the purpose of serving content - parent_key: personalize - legal_basis: null - special_category: null - recipients: null - legitimate_interest: null - legitimate_interest_impact_assessment: null - version_added: 2.1.1 version_deprecated: null replaced_by: null diff --git a/mkdocs/docs/csv/data_uses.csv b/mkdocs/docs/csv/data_uses.csv index 76557e92..a606ea59 100644 --- a/mkdocs/docs/csv/data_uses.csv +++ b/mkdocs/docs/csv/data_uses.csv @@ -45,7 +45,6 @@ marketing.communications.email,True,,,,Marketing Email Communications,default_or marketing.communications.sms,True,,,,Marketing SMS Communications,default_organization,marketing.communications,,,,,2.0.0,,Sends SMS marketing communications. operations,True,,,,Operations,default_organization,data_use,,,,,2.0.0,,Supports business processes necessary to the organization's operation. personalize,True,,,,Personalize,default_organization,data_use,,,,,2.0.0,,"Personalizes the product, service, application or system." -personalize.profiling,True,,,,Personalized Profiling,default_organization,personalize,,personalize.content.profiling,,,2.0.0,2.1.1,Creates profiles for the purpose of serving content personalize.content,True,,,,Content Personalization,default_organization,personalize,,,,,2.1.1,,"Personalizes the content of the product, service, application or system." personalize.system,True,,,,System Personalization,default_organization,personalize,,,,,2.0.0,,Personalizes the system. personalize.content.limited,True,,,,Limited Content Personalization,default_organization,personalize.content,,,,,2.1.1,,Uses limited data for the purpose of serving content. diff --git a/src/fideslang/default_taxonomy/data_uses.py b/src/fideslang/default_taxonomy/data_uses.py index 1896c420..0cc2d847 100644 --- a/src/fideslang/default_taxonomy/data_uses.py +++ b/src/fideslang/default_taxonomy/data_uses.py @@ -299,14 +299,6 @@ name="Personalize", description="Personalizes the product, service, application or system.", ), - default_use_factory( - fides_key="personalize.profiling", - name="Personalized Profiling", - description="Creates profiles for the purpose of serving content", - parent_key="personalize", - version_deprecated="2.1.1", - replaced_by="personalize.content.profiling", - ), default_use_factory( fides_key="personalize.content", name="Content Personalization", diff --git a/tests/fideslang/test_default_taxonomy.py b/tests/fideslang/test_default_taxonomy.py index a7462351..1390ee5d 100644 --- a/tests/fideslang/test_default_taxonomy.py +++ b/tests/fideslang/test_default_taxonomy.py @@ -7,7 +7,7 @@ taxonomy_counts = { "data_category": 85, - "data_use": 55, + "data_use": 54, "data_subject": 15, "data_qualifier": 5, } From a66caf8ab86db1a00eabf0d3855c181c6ccf81d3 Mon Sep 17 00:00:00 2001 From: Dawn Pattison Date: Thu, 5 Oct 2023 14:58:47 -0500 Subject: [PATCH 10/10] Personalize.content already existed. --- data_files/data_uses.csv | 2 +- data_files/data_uses.json | 2 +- data_files/data_uses.yml | 2 +- mkdocs/docs/csv/data_uses.csv | 2 +- src/fideslang/default_taxonomy/data_uses.py | 1 - 5 files changed, 4 insertions(+), 5 deletions(-) diff --git a/data_files/data_uses.csv b/data_files/data_uses.csv index a606ea59..875f5e52 100644 --- a/data_files/data_uses.csv +++ b/data_files/data_uses.csv @@ -45,7 +45,7 @@ marketing.communications.email,True,,,,Marketing Email Communications,default_or marketing.communications.sms,True,,,,Marketing SMS Communications,default_organization,marketing.communications,,,,,2.0.0,,Sends SMS marketing communications. operations,True,,,,Operations,default_organization,data_use,,,,,2.0.0,,Supports business processes necessary to the organization's operation. personalize,True,,,,Personalize,default_organization,data_use,,,,,2.0.0,,"Personalizes the product, service, application or system." -personalize.content,True,,,,Content Personalization,default_organization,personalize,,,,,2.1.1,,"Personalizes the content of the product, service, application or system." +personalize.content,True,,,,Content Personalization,default_organization,personalize,,,,,2.0.0,,"Personalizes the content of the product, service, application or system." personalize.system,True,,,,System Personalization,default_organization,personalize,,,,,2.0.0,,Personalizes the system. personalize.content.limited,True,,,,Limited Content Personalization,default_organization,personalize.content,,,,,2.1.1,,Uses limited data for the purpose of serving content. personalize.content.profiling,True,,,,Profiling for Personalization,default_organization,personalize.content,,,,,2.1.1,,Creates profiles for the purpose of serving content. diff --git a/data_files/data_uses.json b/data_files/data_uses.json index 9049033f..cd2c46c3 100644 --- a/data_files/data_uses.json +++ b/data_files/data_uses.json @@ -766,7 +766,7 @@ "legitimate_interest_impact_assessment": null }, { - "version_added": "2.1.1", + "version_added": "2.0.0", "version_deprecated": null, "replaced_by": null, "is_default": true, diff --git a/data_files/data_uses.yml b/data_files/data_uses.yml index 0133b51a..8fd69bcc 100644 --- a/data_files/data_uses.yml +++ b/data_files/data_uses.yml @@ -701,7 +701,7 @@ data_use: recipients: null legitimate_interest: null legitimate_interest_impact_assessment: null -- version_added: 2.1.1 +- version_added: 2.0.0 version_deprecated: null replaced_by: null is_default: true diff --git a/mkdocs/docs/csv/data_uses.csv b/mkdocs/docs/csv/data_uses.csv index a606ea59..875f5e52 100644 --- a/mkdocs/docs/csv/data_uses.csv +++ b/mkdocs/docs/csv/data_uses.csv @@ -45,7 +45,7 @@ marketing.communications.email,True,,,,Marketing Email Communications,default_or marketing.communications.sms,True,,,,Marketing SMS Communications,default_organization,marketing.communications,,,,,2.0.0,,Sends SMS marketing communications. operations,True,,,,Operations,default_organization,data_use,,,,,2.0.0,,Supports business processes necessary to the organization's operation. personalize,True,,,,Personalize,default_organization,data_use,,,,,2.0.0,,"Personalizes the product, service, application or system." -personalize.content,True,,,,Content Personalization,default_organization,personalize,,,,,2.1.1,,"Personalizes the content of the product, service, application or system." +personalize.content,True,,,,Content Personalization,default_organization,personalize,,,,,2.0.0,,"Personalizes the content of the product, service, application or system." personalize.system,True,,,,System Personalization,default_organization,personalize,,,,,2.0.0,,Personalizes the system. personalize.content.limited,True,,,,Limited Content Personalization,default_organization,personalize.content,,,,,2.1.1,,Uses limited data for the purpose of serving content. personalize.content.profiling,True,,,,Profiling for Personalization,default_organization,personalize.content,,,,,2.1.1,,Creates profiles for the purpose of serving content. diff --git a/src/fideslang/default_taxonomy/data_uses.py b/src/fideslang/default_taxonomy/data_uses.py index 0cc2d847..6aeaa7c0 100644 --- a/src/fideslang/default_taxonomy/data_uses.py +++ b/src/fideslang/default_taxonomy/data_uses.py @@ -304,7 +304,6 @@ name="Content Personalization", description="Personalizes the content of the product, service, application or system.", parent_key="personalize", - version_added="2.1.1", ), default_use_factory( fides_key="personalize.content.limited",