<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Cillian</title>
    <description>The latest articles on DEV Community by Cillian (@cillian).</description>
    <link>https://dev.to/cillian</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F726579%2F443af137-9e99-4b9b-a119-b4c46202ec82.jpg</url>
      <title>DEV Community: Cillian</title>
      <link>https://dev.to/cillian</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/cillian"/>
    <language>en</language>
    <item>
      <title>Privacy-As-Code: Correcting TikTok’s $92M BIPA violation using Fides Open-Source</title>
      <dc:creator>Cillian</dc:creator>
      <pubDate>Thu, 19 May 2022 17:25:14 +0000</pubDate>
      <link>https://dev.to/cillian/privacy-as-code-correcting-tiktoks-92m-bipa-violation-using-fides-open-source-1j7h</link>
      <guid>https://dev.to/cillian/privacy-as-code-correcting-tiktoks-92m-bipa-violation-using-fides-open-source-1j7h</guid>
      <description>&lt;p&gt;&lt;em&gt;We’re applying open-source devtools to the most high-profile privacy cases in recent years. This time, we build a solution to a landmark case in biometric privacy and purpose specification.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Introduction&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;We spend a lot of time at Ethyca talking about the future of privacy. It makes sense; the Fides open-source privacy engineering platform promises a future where true Privacy by Design is achievable for any business, with any type of technical infrastructure. But in seeking to illustrate just how that future could differ from today’s &lt;em&gt;status quo&lt;/em&gt;, it’s useful to look at recent high-profile privacy cases, and show how applying Fides could have led to a different, better outcome for users and businesses.&lt;/p&gt;

&lt;p&gt;For example, if you were TikTok in 2019, Fides could have rooted out a certain type of unlawful data use pre-deployment, before offending code ever handled user data. And by doing so, it could have prevented the privacy violations that led to a $92M fine from the State of Illinois.&lt;/p&gt;

&lt;p&gt;Could a few lines of code in a vast product ecosystem really save a company ninety-two million dollars? With all the necessary caveats about culture, business model, and correct configuration, the answer in this case is: “absolutely.”&lt;/p&gt;

&lt;p&gt;In this post I’ll describe the specifics of TikTok’s unlawful data uses per a $92M settlement in 2019 under the Biometric Information Privacy Act (BIPA) of Illinois. I’ll point out what went wrong on a technical level, and codify guardrails against this behavior by writing a policy in the Fides language.&lt;/p&gt;

&lt;p&gt;When I previously &lt;a href="https://medium.ethyca.com/privacy-as-code-preventing-facebooks-5b-violation-using-fides-open-source-6b1da6508d56"&gt;considered the case of Fides’ utility to Facebook&lt;/a&gt; in an FTC investigation, I noted that a codebase, or a platform like Fides, doesn’t operate in a vacuum. It’s vital to consider the cultural and organizational aspects that contribute to good privacy too. Nevertheless, while flaws in internal processes are often key contributors to privacy infractions, my focus here is on what can be technically achieved to make privacy and respect low-friction and meaningful.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;TikTok’s violation under BIPA&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;When it comes to privacy laws in the United States, BIPA is a heavyweight, in large part because it’s one of the few US privacy laws that gives a private right of action; individuals have the right to sue a company for violations. Beyond its enforcement features, BIPA places tight technical demands on how companies must respect biometric identifiers and biometric information of Illinois residents. The law defines a biometric identifier as:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;a retina or iris scan, fingerprint, voiceprint, or scan of hand or face geometry.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;And BIPA defines biometric information as:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;any information, regardless of how it is captured, converted, stored, or shared, based on an individual’s biometric identifier used to identify an individual.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;With these categories of personal information, BIPA contains strict requirements on how companies must collect users’ opt-in consent to process this information. Companies must also respect a suite of other restrictions on biometric data processing, retention, disclosure, and more.&lt;/p&gt;

&lt;p&gt;As the 2019 TikTok lawsuit points out, biometric privacy is particularly high-stakes since the information involved is often immutable. While I can change my password or my home address, I’m not going to be able to change my fingerprint.&lt;/p&gt;

&lt;p&gt;Looking at Section 15(c) of &lt;a href="https://ilga.gov/legislation/ilcs/ilcs3.asp?ActID=3004"&gt;BIPA&lt;/a&gt;:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;No private entity in possession of a biometric identifier or biometric information may sell, lease, trade, or otherwise profit from a person’s or a customer’s biometric identifier or biometric information.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Per &lt;a href="https://www.jdsupra.com/legalnews/bipa-section-15-c-claims-what-does-it-4976991/"&gt;Blank Rome LLP&lt;/a&gt;, courts have found that “for a claim to exist under Section 15(c), actual &lt;em&gt;biometric data *or the *sharing of access *to the underlying biometric data must be *transferred *or *exchanged&lt;/em&gt; in return for some benefit.”&lt;/p&gt;

&lt;p&gt;The TikTok &lt;a href="https://s3.documentcloud.org/documents/20492025/amended-complaint-tiktok-consumer-privacy-litigation.pdf#page=113"&gt;settlement&lt;/a&gt; finds the following:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Defendants [being TikTok] are, and at all relevant times were, ‘in possession of’ the Illinois Plaintiffs’ and the Illinois Subclass’s ‘biometric identifiers,’ including but not limited to their face geometry scans, and ‘biometric information.’ Defendants profited from such ‘biometric identifiers’ and ‘biometric information’ by using them for targeted advertising, improvements to Defendants’ artificial intelligence technologies, Defendants’ patent applications, and the generation of increased demand for and use of Defendants’ other products…&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Now, you might contend that this data use can be viewed as integral to the particular defendant’s business model, rather than an unfortunate misalignment between product and legal stakeholders… and you may well be right! But it’s also very easy to imagine the misalignment scenario. Indeed we know that at &lt;a href="https://www.vice.com/en/article/akvmke/facebook-doesnt-know-what-it-does-with-your-data-or-where-it-goes"&gt;some of the world’s largest companies&lt;/a&gt;, privacy engineers are lamenting that:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“We can’t confidently make controlled policy changes or external commitments such as ‘we will not use X data for Y purpose.’ And yet, this is exactly what regulators expect us to do”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;So the example of TikTok and BIPA proves a very suitable candidate to demonstrate Fides’ privacy engineering power. With this context, &lt;strong&gt;I’m going to use Fides to proactively flag any code that could violate Section 15(c). In other words, the CI pipeline will have an automatic check that any code handling a biometric identifier or biometric information — I’ll hereafter group these as “biometric data” — cannot be used for any of the cases prohibited above.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Examine our policy&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;As with the Facebook/FTC example I discussed in my previous post, let’s translate the legal requirement into a technical guardrail on the codebase. The Fides policy would be:&lt;br&gt;
&lt;/p&gt;
&lt;div class="ltag_gist-liquid-tag"&gt;
  
&lt;/div&gt;
&lt;br&gt;
For a walkthrough of each of these fields, I encourage you to see the &lt;a href="https://medium.ethyca.com/privacy-as-code-preventing-facebooks-5b-violation-using-fides-open-source-6b1da6508d56"&gt;first post in this series&lt;/a&gt;. Here, I’ll focus on the new material.

&lt;p&gt;First, I’ve used the &lt;a href="https://ethyca.github.io/fides/language/taxonomy/explorer/"&gt;Fides taxonomy&lt;/a&gt; to pinpoint which kinds of data this policy applies to. In this case, I am interested in any kind of derived user data as well as any labels that apply to biometric data. That’s where I get the values for data_categories:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;user.derived.identifiable.biometric_health&lt;/strong&gt;, &lt;strong&gt;user.provided.identifiable.credentials.biometric_credentials&lt;/strong&gt;, and &lt;strong&gt;user.provided.identifiable.biometric&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Under the &lt;strong&gt;data_uses&lt;/strong&gt;, I want my policy to identify any instances of code processing the data categories I’ve previously specified. Again referencing the Fides taxonomy, I identify any data uses that involve commercialization, which might be in the form of advertising, training an AI system, improving the product, or sharing data with third parties.&lt;/p&gt;

&lt;p&gt;Next, I specify that the biometric data in question is that of a customer, so I specify the &lt;strong&gt;data_subjects&lt;/strong&gt; as such. And finally, I describe the degree of identifiability of this data: it applies to data that directly identifies an individual:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;aggregated.anonymized.unlinked_pseudonymized.pseudonymized.identified&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;With these pieces together, this policy could be summarized as:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;If any form of customers’ biometric data is processed for purposes of advertising, training an AI system, improving a product, or sharing with third parties; then trigger a violation in the automated privacy check.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;So for example, if the TikTok product team wants to ship a release that shares biometric data with third parties, at the time of commit, their automated Fides privacy check will fail, and the release will not proceed.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--v0el7inO--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/2580/1%2A5XWxkHPgsUEY-7wkjHQxTQ.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--v0el7inO--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/2580/1%2A5XWxkHPgsUEY-7wkjHQxTQ.png" alt="Failure status" width="880" height="86"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This policy, in tandem with up-to-date annotation of the codebase’s privacy behaviors (&lt;a href="https://ethyca.github.io/fides/tutorial/dataset/"&gt;here&lt;/a&gt; is how a dev can do that), becomes an indispensable tool in aligning the tech stack with modern laws like BIPA. There are myriad organizational and governance &lt;a href="https://ethyca.com/privacy-devtools-benefits/"&gt;benefits&lt;/a&gt; to integrating privacy checks into the CI pipeline, and proactively flagging code for non-compliance cuts out the technical debt that makes privacy improvements elusive for so many companies today.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I’ve been writing for a while now on why we at Ethyca believe &lt;a href="https://stackoverflow.blog/2021/07/19/privacy-is-an-afterthought-in-the-software-lifecycle-that-needs-to-change/"&gt;low-friction devtools are the key to solving technical privacy challenges&lt;/a&gt;. Software developers are like civil engineers, building vital infrastructure that billions of people rely on — for employment, payment, education, entertainment. With this significant power comes a need for transparent, rigorous standards in how personal data is respected.&lt;/p&gt;

&lt;p&gt;Ultimately, users deserve systems that are trustworthy: systems that behave as users expect them to. The common thread of the biggest privacy stories is that companies break their promises around personal data processing. &lt;strong&gt;Even when engineers deeply care about users and seek to respect their data, it can be an uphill battle to keep track of loose ends across complex data infrastructure.&lt;/strong&gt; An incomplete picture of data context and data control can cause even the best-intentioned team to expose users to significant privacy risks. In this post, I’ve aimed to share a specific instance of the Fides devtools equipping teams with the context and control that they need, to deliver privacy that their users deserve.&lt;/p&gt;

&lt;p&gt;Thanks for reading, and stay tuned for my next post, where I’ll cover another major privacy story and demonstrate how Fides can solve the challenge upstream.&lt;/p&gt;

</description>
      <category>privacyascode</category>
      <category>privacyengineering</category>
      <category>opensource</category>
      <category>developertools</category>
    </item>
    <item>
      <title>Privacy-as-Code: Preventing Facebook’s $5B violation using Fides Open-Source</title>
      <dc:creator>Cillian</dc:creator>
      <pubDate>Thu, 27 Jan 2022 17:36:33 +0000</pubDate>
      <link>https://dev.to/cillian/privacy-as-code-preventing-facebooks-5b-violation-using-fides-open-source-3pb6</link>
      <guid>https://dev.to/cillian/privacy-as-code-preventing-facebooks-5b-violation-using-fides-open-source-3pb6</guid>
      <description>&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;Our team at Ethyca recently launched &lt;a href="https://ethyca.com/fides-announcement/"&gt;Fides&lt;/a&gt;, the first open-source developer tools to make trust, respect, and privacy part of any tech stack. The reception has been fantastic, and we’re actively helping some of the world’s best privacy engineers and engineering teams to roll out Fides across their tech stack. (I can’t wait to share more about our design partners in the near future!)&lt;/p&gt;

&lt;p&gt;Enthusiasm for the idea of open-source Privacy-as-Code is unmistakable, nevertheless, translating that enthusiasm into practical application is a question we sometimes find ourselves fielding.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;“Yes, it sounds intriguing, but what sort of value could something like Fides be delivering right here, right now, in our business?”&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Today, as the first part of a larger article series, I want to illustrate how a few lines of fideslang can enforce an important set of data guardrails across a large, distributed system. &lt;strong&gt;We’re going to be writing a Fides policy that prohibits an application from sharing data with third-parties for purposes other than those specifically agreed to by the user or stated by the organization.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;How can this add value for a business? Well, the absence of this &lt;em&gt;exact&lt;/em&gt; set of guardrails we’ll be coding today was the catalyst for a $5 billion FTC fine in 2019, levied against Facebook for continued collection of user data by third-party app developers without user consent.&lt;/p&gt;

&lt;p&gt;It’s safe to say that this is a situation where privacy engineers using Fides open-source tools could have delivered remarkable value for one of the biggest companies in the world.&lt;/p&gt;

&lt;p&gt;Let’s see how…&lt;/p&gt;

&lt;h2&gt;
  
  
  About these articles
&lt;/h2&gt;

&lt;p&gt;A quick sidebar to present the context for this piece. In a four-part series, I’m going to demonstrate the power of a Privacy-as-Code approach is by answering the following questions:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;What does a Privacy-as-Code approach mean practically and how does it benefit agile engineers and governance teams?&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;How could Fides’ open standard taxonomy for governance prevent some of the world’s biggest privacy failures?&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;How can Fides, today in its present form, help to assure that a business can be trusted to respect its users and complex local laws with as little friction as possible?&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;To answer these questions, I’ll examine some of the world’s most talked-about privacy cases of recent times. I’ll distill them into a summation of what went wrong at a technical level and show, by writing real policies in Fides, how these failures could have been prevented with minimal friction for every engineer.&lt;/p&gt;

&lt;h2&gt;
  
  
  Facebook’s violation under FTC decree
&lt;/h2&gt;

&lt;p&gt;One necessary disclaimer as we charge into writing some fideslang policies is to observe that, of course, technology does not operate in a vacuum. As part of their investigation, the FTC did identify organizational process failures throughout Facebook’s handling of privacy program management. That is to say, culture is important, and Facebook has some macro issues related to governance that are beyond the scope of this post. Our focus here is to illustrate technical measures that could have been taken to ensure technology systems behaved &lt;em&gt;in accordance with the organization’s stated policy&lt;/em&gt; at the time.&lt;/p&gt;

&lt;p&gt;With that in mind, I’ve summarized a relevant section of the &lt;a href="https://www.ftc.gov/news-events/press-releases/2019/07/ftc-imposes-5-billion-penalty-sweeping-new-privacy-restrictions"&gt;findings from the FTC&lt;/a&gt; with some color related to what went wrong:&lt;/p&gt;

&lt;p&gt;Taken directly from the FTC:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;“Facebook announced in April 2014 that it would stop allowing third-party developers to collect data about the friends of app users (‘affected friend data’). Despite this promise, the company separately told developers that they could collect this data until April 2015 if they already had an existing app on the platform. The FTC alleges that Facebook waited until at least June 2018 to stop sharing user information with third-party apps used by their Facebook friends.”&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  So what happened here?
&lt;/h2&gt;

&lt;p&gt;From the FTC’s expansive investigation, I’d highlight three core data governance issues:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Facebook was making public promises to users about the degree of control they had over their data.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Due to the inevitable sprawl of iterative, fast growing tech companies, Facebook didn’t have adequate tools to simply track where user data was and what permissions were related to it.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;As a result, Facebook continued to share data with third-party app developers because they didn’t have the contextual visibility or control layers to prevent that from happening.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Let’s talk about what should be technically enforceable.&lt;/p&gt;

&lt;p&gt;If we, as &lt;a href="https://ethyca.com/privacy-engineering-all-you-need-to-know/"&gt;privacy engineers&lt;/a&gt;, make a promise to our users about how we use their data, irrespective of the scale of our infrastructure, we want to be able to keep that promise. Of course, the reality is that systems get built rapidly and incrementally in response to user demand and new business requirements, so if you go from one transactional db to petabyte scale distributed data infrastructure, you have data duplicated to multiple locations, often running asynchronously with separate enforcement tools. &lt;a href="https://stackoverflow.blog/2021/07/19/privacy-is-an-afterthought-in-the-software-lifecycle-that-needs-to-change/"&gt;Existing tech systems don’t have the tools needed to respect users’ data at scale.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;At its simplest level, Facebook was unable to be trusted with this promise because they didn’t have context over all the data flowing across their systems (the categories of data) or what it was being used for (the category of use) and its associated limitations. By limitations here, I mean purposes or uses for which the data was not approved.&lt;/p&gt;

&lt;h2&gt;
  
  
  How Fides’ Privacy-as-Code could have helped
&lt;/h2&gt;

&lt;p&gt;Fides is built to solve for problems like this. In its &lt;a href="https://github.com/ethyca/fides"&gt;current release&lt;/a&gt;, you can already draft a policy in YAML using &lt;a href="https://ethyca.github.io/fides/language/overview/"&gt;fideslang&lt;/a&gt; and enforce that policy to ensure engineers across a team can’t accidentally or intentionally misuse data in a way that deviates from the promises a business or application makes to its users.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;(A sidebar; today Fides supports these enforcements in your CI pipeline for your own engineering teams. In the near future, Fides will extend to provide the same enforcement in your runtime environment as queries or executed as well as against external APIs. This will ensure you can make a promise to your users and trust that it can be kept across distributed systems, both owned and third-party.)&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;The management application for Fides, fidesctl (Fides Control), is comprised of:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;An evaluation and policy management server that can be integrated directly into checks in your CI pipeline for all engineers&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;A cli tool that runs locally to allow engineers to quickly evaluate policies and a host of other features.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In its simplest form, Fides is a language to describe the &lt;strong&gt;&lt;em&gt;context&lt;/em&gt;&lt;/strong&gt; of how your codebase is handling various categories of data and what purpose it’s using them for. As you can see from the diagram below, the fidesctl server is used to create and store policies that govern what is permitted by your team, organization, or a given regulation. These policies are automatically checked on commit to provide active &lt;strong&gt;&lt;em&gt;control&lt;/em&gt;&lt;/strong&gt; and ensure the work you’re doing meets the criteria of the policy and if not, provides helpful notes to allow you to make changes before re-committing. In short: avoiding the risk of deploying code that might not comply with the promises you’ve made to your users.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--2dFyJgqT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/cn9ae8hy06saxhyrlv7y.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--2dFyJgqT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/cn9ae8hy06saxhyrlv7y.png" alt="Overview of Fides integration points in code management and runtime envrionments" width="880" height="452"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you’d like to learn more about Fides, checkout the repos and documentation at &lt;a href="https://fid.es/ctl"&gt;https://fid.es/ctl&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Examine our policy
&lt;/h2&gt;

&lt;p&gt;Let’s create a simple policy using Fides to ensure that data is only used for purposes specifically agreed to by the user or stated by Facebook. More specifically, we’re going to build a privacy policy that governs the sharing of user data with third parties.&lt;/p&gt;


&lt;div class="ltag_gist-liquid-tag"&gt;
  
&lt;/div&gt;


&lt;p&gt;As you can see in this example, a policy can be extremely detailed and fine-grained, describing specific categories of data or purposes of use. Alternatively it can be wide-sweeping to limit the use of many data types more broadly.&lt;/p&gt;

&lt;p&gt;Let’s walk through the policy:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;fides_key: data_sharing_policy&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;fides_key&lt;/strong&gt; is the key of the organization to which this policy belongs.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;name&lt;/strong&gt;: Data Sharing Policy&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;name&lt;/strong&gt; is the human-readable label assigned to the policy.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;description: The privacy policy that governs sharing of data with third parties.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;description&lt;/strong&gt; is the human-readable description that provides more context on the purpose of the policy.&lt;/p&gt;

&lt;p&gt;Policies may contain multiple rules grouped within the rules:sub-group&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;data_categories&lt;/strong&gt; Is the attribute of data governed by the policy as defined in the &lt;a href="https://fid.es/lang"&gt;Fides taxonomy&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;data_uses&lt;/strong&gt; is the attribute that describes the various categories of data processing or purposes for which data may be used in your company.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;data_subject&lt;/strong&gt; describes the individual person types to which the data belongs, such as customer, employee, patient, etc.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;data_qualifier&lt;/strong&gt; describes the acceptable or non-acceptable level of de-identification permitted.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;matches&lt;/strong&gt; is an enumerated list of criteria that describes how you would like the rule to be evaluated. These basic logic gates determine whether the array of privacy attributes will be fully included (&lt;strong&gt;ALL&lt;/strong&gt;), not included at all (&lt;strong&gt;NONE&lt;/strong&gt;), only included if at least 1 item in the array matches (&lt;strong&gt;ANY&lt;/strong&gt;), or excluded with any additional attributes included (&lt;strong&gt;OTHER&lt;/strong&gt;).&lt;/p&gt;

&lt;h2&gt;
  
  
  Policy in action
&lt;/h2&gt;

&lt;p&gt;As Fides is intended to be lightweight and human-readable, it quickly becomes clear what this policy’s intended outcome is. However, let’s walk through what it’s doing:&lt;/p&gt;

&lt;p&gt;In essence the rule is a conditional statement that can be read as:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;“Where any of n categories of data are found to be in use for any of n purposes of use for customer data, reject or block this activity.”&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;As you can see, we’ve provided some context around the policy’s purpose by providing it with a name and description. From there, we’ve created just one rejection rule which is intended to disallow (or reject) the use of any account or user identifiable data (whether that is provided or derived) for any purpose related to third_party_sharing. Third-party sharing in the Fides taxonomy represents sharing of data to third-party (external) destinations related to marketing or advertising.&lt;/p&gt;

&lt;p&gt;This policy can be loaded into fidesctl server and will prevent engineers from merging and deploying code which shares account or user identifiable data of any kind with third parties.&lt;/p&gt;

&lt;p&gt;Let’s quickly look at that close up with the diagram below:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--xQa30T1i--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6siedchfoesajrnj2ozj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--xQa30T1i--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6siedchfoesajrnj2ozj.png" alt="Streamlined workflow for enforcing governance in CI pipeline" width="880" height="729"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Governance and legal or executive teams can draft policies related to managing sensitive data that are stored securely on the fidesctl server.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Product owners, managers, or software engineers can describe the purposes of use of data for the features they’re working on; these are logged directly to the fidesctl server.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Engineers can quickly declare the types of data in use in their system as they’re writing new code or building their systems.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;When code is committed, fidesctl is connected to that process to allow it to inspect and evaluate policies before any code is deployed.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Fidesctl server combines the organization’s defined policies to evaluate the proposed system changes in code.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;If new software changes meet the organization policies they are approved and stored as a metadata record in the project history. If they are rejected, the engineer is notified in real-time as part of their commit so that they can make changes to their work.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;This evaluation of policies is reported out so that it can be monitored or audited.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Summary
&lt;/h2&gt;

&lt;p&gt;I’ve previously written on the &lt;a href="https://medium.ethyca.com/devtools-for-data-privacy-step-2-imagining-the-benefits-facb3dc2bff5"&gt;benefits of a Privacy-as-Code approach&lt;/a&gt;, and these are now becoming a reality with Fides.&lt;/p&gt;

&lt;p&gt;Fides can be integrated with the existing automated CI pipeline checks already in place to ensure that no engineer can accidentally or intentionally bypass these controls. As a result, you can evaluate every commit or PR and ensure that engineers are simply declaring the privacy or governance characteristics of their code and have that checked into git.&lt;/p&gt;

&lt;p&gt;This CI integration results in multiple benefits that would directly mitigate some of Facebook’s challenges and the demands the FTC places on Facebook within the consent decree, specifically:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;The FTC asks for a robust privacy review process&lt;/strong&gt;: Fides makes these checks &lt;em&gt;more&lt;/em&gt; than a manual review process. Instead, they are an automated condition to enforce business rules and policies on every commit.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;The FTC asks for robust audit trails for privacy&lt;/strong&gt;: Fides creates something analogous to a git activity history for privacy, assurring any team can evidence exactly the decision they’ve taken over time.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Facebook was fined for not preventing data uses it promised its users it would prevent&lt;/strong&gt;: Fides specifically enables you to write conditions that must be met for code to be deployed, preventing you from shipping code that might break your users’ trust.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The benefit here is plain to see. A standard, interoperable language to describe governance policies and a set of tools to ensure these can be enforced and observed throughout both software development and production environments all sum up to this vital capability: &lt;strong&gt;a business can trust that the promises its systems make are kept.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If you consider your own data infrastructure and its related data footprint, how confident are you of the types of data you’re handling, what you’re using it for and what systems they’re flowing into? Most teams feel like they have an abstract mental model for this, but when you examine the details, after a few months or years of creep, this accounting is rarely maintained, and so enforcing a user’s personal rights is complex or impossible. Ask yourself: Do you know all of the systems into which your users’ data flows and what it’s being used for? If you don’t, who does?&lt;/p&gt;

&lt;p&gt;The irony is we obsess over either atomicity or eventual consistency depending on our database type, however in parallel, we’ve essentially given up on the idea that we can achieve any level of assured and enforceable consistency for an individual user — it seems like we’ve missed out on engineering one of the most important components of data infrastructure, given how complex most systems’ data flows are.&lt;/p&gt;

&lt;p&gt;An open standard like Fides can directly answer the healthy demand the FTC is placing on engineering teams at Facebook for data context and control, while also preventing the major issues that got them here in the first place. If you’re building something new or continuing to iterate on your existing systems, adding Fides to your tech stack will reduce complexity, accelerate your development pipeline, all while ensuring your application can be better trusted by users.&lt;/p&gt;

&lt;p&gt;In the next installment we’ll showcase additional capabilities of Fides when applied to another one of the biggest privacy cases from the past decade.&lt;/p&gt;

&lt;p&gt;Thanks for reading.&lt;/p&gt;

</description>
      <category>dataprivacy</category>
      <category>devtools</category>
      <category>privacyascode</category>
      <category>privacy</category>
    </item>
    <item>
      <title>Devtools for Data Privacy — Step 3: An Ontology</title>
      <dc:creator>Cillian</dc:creator>
      <pubDate>Fri, 29 Oct 2021 14:15:20 +0000</pubDate>
      <link>https://dev.to/cillian/devtools-for-data-privacy-step-3-an-ontology-ihd</link>
      <guid>https://dev.to/cillian/devtools-for-data-privacy-step-3-an-ontology-ihd</guid>
      <description>&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;Continuing on from previous pieces on a &lt;a href="https://dev.to/cillian/devtools-for-data-privacy-step-1-privacy-taxonomy-v10-2fpp"&gt;shared privacy taxonomy&lt;/a&gt; and &lt;a href="https://dev.to/cillian/devtools-for-data-privacy-step-2-imagining-the-benefits-3g3p"&gt;privacy devtools&lt;/a&gt;, In this article, I posit that a shared privacy ontology is the final piece to the puzzle; it unlocks a world of privacy engineering power, including the following key benefits: eliminating the need for privacy code reviews, no more manual data mapping, evaluate risk quickly in CI, and ultimately, privacy practices as interfaces. Here’s how…&lt;/p&gt;

&lt;h2&gt;
  
  
  Taxonomies, Ontologies and Privacy
&lt;/h2&gt;

&lt;p&gt;If you’re following our work at Ethyca you’ll know that over the past three years we’ve been working with design partners to build an ecosystem of developer tools for data privacy.&lt;/p&gt;

&lt;p&gt;In a &lt;a href="https://dev.to/cillian/devtools-for-data-privacy-step-1-privacy-taxonomy-v10-2fpp"&gt;previous post&lt;/a&gt; I wrote about the need for a taxonomy as a basis for a community-agreed way to describe privacy in a tech stack, such that universal tools can be built to solve common problems of privacy. But a taxonomy is just the starting point. It’s the foundation of a comprehensive ontology that can allow any developer to easily describe privacy concepts and behaviors of the code they write and the data they process and store.&lt;/p&gt;

&lt;p&gt;Let’s first clarify the difference — &lt;strong&gt;a taxonomy describes entities using hierarchical relationships. An ontology is more expressive: it can describe a variety of relationships between entities and their role in a complex system. Ontological grammar should easily declare those roles and relationships, such as &lt;em&gt;“is-a”&lt;/em&gt;, *“reports-to” *and so on.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;We’ve spent years of human dev and product time on this problem at Ethyca in order to devise a way to map ontological concepts easily in a lightweight, human-readable syntax. Here, I want to walk you through some ontological concepts and their benefits as it relates to privacy and what we’re trying to achieve with them.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Solving this Problem Matters
&lt;/h2&gt;

&lt;p&gt;If you’ve read my earlier post on why &lt;a href="https://dev.to/cillian/devtools-for-data-privacy-step-2-imagining-the-benefits-3g3p"&gt;building privacy dev tools matters&lt;/a&gt; you already know how important this is. If you’re unfamiliar, I urge you to read that post. To summarize, governments, driven by the general public’s fear of Big Tech, are increasingly regulating software development companies. We’re the new oil, automotive, and financial services industries combined — all of which are regulated. The same is happening to software. As developers we’re in a position to build world-shaping technology, used by millions of people. That means our job now is more like a civil engineer, and with engineering systems for society at large comes tremendous responsibility.&lt;/p&gt;

&lt;p&gt;Unfortunately the tools we use today make it hard to quickly and thoughtfully build systems that respect a user’s right to privacy. We need to re-invent the tools and optimize our dev pipelines to make it frictionless for us to describe and test our privacy strategies in our code. Checking privacy should be as easy as security-related static code analysis. Solving that problem ensures that future software will respect users so the tech industry can continue building systems and successful businesses alongside challenging regulations.&lt;/p&gt;

&lt;p&gt;So developer tools for privacy provide a path to safer, respectful technology and will become a baseline for good development practices in future. If that’s to happen, we need to standardize the tooling used for privacy in development. The first step is a comprehensive ontology.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is an Ontology?
&lt;/h2&gt;

&lt;p&gt;In its simplest form, an ontology is a model that allows you to represent classes (&lt;a href="http://ethyca.github.io/privacy-taxonomy/"&gt;our taxonomy&lt;/a&gt;) and their relationships to each other. In this modelling, we describe the behavior of those entities relative to each other. Typically an ontology is a language of nouns and verbs that is limited enough to make it easy to read and write, while being complete enough to encapsulate all of the concepts proposed.&lt;/p&gt;

&lt;p&gt;For this reason, ontological design is subjective, complex and — in our experience at Ethyca — very iterative. We continue to refine the models and tools to support our language every day as we test new scenarios.&lt;/p&gt;

&lt;p&gt;If you’re curious to learn more about ontologies in general, there’s &lt;a href="https://medium.ethyca.com/primer-what-exactly-is-an-ontology-dc3c1405aa61"&gt;a brief primer on ontologies which you can read here&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Objective of this Privacy Ontology
&lt;/h2&gt;

&lt;p&gt;The objective of any valuable ontology is to create a shareable and reusable knowledge representation of a particular domain — in this case, privacy. The reason we care about this ontological work at Ethyca is that at present, there are multiple legal frameworks and global regulations, as well as cultural points of view on privacy that compete with each other.&lt;/p&gt;

&lt;p&gt;This makes understanding and applying privacy for devs very challenging. How can we ensure we don’t misuse personal data if we’re struggling to agree on a definition for types of personal data?&lt;/p&gt;

&lt;p&gt;As such, the objective of the ontological work we’ve been doing at Ethyca is not to define an entirely separate ontology but to study the state of the art across various points of view. We then aim to consolidate those thoughts with a single ontology, designed for developers first to make it as easy to apply to a tech stack as possible.&lt;/p&gt;

&lt;p&gt;In summary, our goal is to offer a consolidation of much of the privacy work that’s been done and synthesize those into a grammar that’s designed for developers to apply to their work as easily as possible.&lt;/p&gt;

&lt;h2&gt;
  
  
  Immediate Benefits of a Privacy Ontology
&lt;/h2&gt;

&lt;p&gt;If you’re a developer who’s had to contribute in any part in data privacy work within your team, you’ll likely understand the benefits of a uniform and agreed-upon privacy grammar, and the benefits are real:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Obviate the questionnaires for privacy reviews&lt;/strong&gt;: For many devs, privacy reviews with your legal team entail questionnaires and meetings with lawyers and privacy specialists. It’s a slow, human-in-the-loop cycle to get approvals. A definition language for privacy allows devs to describe their code in their projects and automatically parse readable reports for privacy specialists. This doesn’t remove humans. It accelerates time to value and allows engineers and privacy experts to get directly to the areas of risk in an application.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;No more manual data mapping and annotation&lt;/strong&gt;: If you’ve been asked to annotate a dataset or review a service and provide descriptions for its use, you’ll know how sorely missing context can be for data flows. Instead of having to do this on production systems in runtime environments, a grammar allows devs to describe their datasets and codebase before deployment — no more requests to go and review databases and evaluate schema. Instead, as you ship new features, the privacy metadata managed in git ships with them, augmenting the metadata view of your data flows.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Quicker in CI approvals&lt;/strong&gt;: If your team is privacy-aware and requires approvals on data processes before you can commit new code, this can delay your progress. But if code is self-described in an understandable format, approvals can be approved against policies set by the organization. Your commits and PRs don’t get held up by privacy reviews. Instead, you keep moving quickly, knowing that you have automated CI checks for privacy against organization policies.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Privacy by Design at the core&lt;/strong&gt;: We’ve all heard mention of Privacy by Design (PbD), but achieving this requires a new domain of knowledge for many developers. A well-understood ontology provides that knowledge in a simple-to-implement format assuring that you’re quickly and more naturally folding PbD into your dev processes.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Automated privacy requests&lt;/strong&gt;: Privacy rights requests by users to retrieve their data (access request) or delete their data (right to be forgotten/erasure request) result in data and engineering teams writing custom scripts on an ever-evolving data stack to manage user data across distributed systems. By describing privacy with a well-defined ontology during the implementation process, all new features and datasets are deployed with a metadata layer that allows you to identify the types of data you’re processing. Now, permanently deleting a user across distributed datasets becomes a scalable, automated task.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Future Benefits of a Privacy Ontology
&lt;/h2&gt;

&lt;p&gt;If we can work together to define a standard ontology for privacy that is freely available and easily adopted as part of existing tools in our dev process, the longer-term benefits for engineers are endless:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Prebuilt privacy libraries and modules&lt;/strong&gt;: An agreed standard ontology will give rise to libraries for languages and frameworks, frontend and backend, so that data collection can be tracked and managed centrally by applications. It would be easy to tag data collected in a react application with its appropriate data type, such that you could carefully manage how it’s used by other system processes.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Semantic privacy CI checks&lt;/strong&gt;: Instead of needing manual review by legal teams or privacy consultants, policies of what is permitted in development can be written in the ontology and checked against PRs before they’re merged. Privacy checks can be automated like SAST, before code even gets to production and risks doing something wrong with data. This automation ensures that high-risk issues are surfaced to developers and privacy specialists to fix together.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Semantic, fine-grained ACL&lt;/strong&gt;: Roles-based access controls are inadequate in a future state where individual users have rights over their data. With an adequate privacy grammar it’s possible to enforce individual users’ rights at the db level. Of course, to avoid latency this requires work at the buffer/cache level, but it would permit an application and distributed datasets to ensure individuals rights are respected across systems.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Privacy practises as interfaces&lt;/strong&gt;: Today, deciding whether to work with a new cloud provider or third party vendor is an evaluation of privacy policies, legal docs and data processing agreements. The privacy behaviors of any system could and should be exposed as part of the interface. Simply implementing the API would allow a developer to understand how the receiving system is going to use each type of data it has access to.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Summary
&lt;/h2&gt;

&lt;p&gt;In summary, an open standard for privacy grammar would encourage transparency of system design and behavior, as well as simplifying the implementation of privacy for developers. No longer a set of questionnaires to be filled in, privacy becomes a declared set of statements in your project code that validate, report to a log and can be investigated easily.&lt;/p&gt;

&lt;p&gt;Providing every developer with an easy way to make privacy a basic hygiene factor of good coding practises — that’s what a great privacy ontology does. It’s what we’re working towards, and I’m excited to share more soon.&lt;/p&gt;

</description>
      <category>dataprivacy</category>
      <category>privacy</category>
      <category>opensource</category>
      <category>devtools</category>
    </item>
    <item>
      <title>Devtools for Data Privacy — Step 2: Imagining the Benefits</title>
      <dc:creator>Cillian</dc:creator>
      <pubDate>Fri, 22 Oct 2021 17:01:07 +0000</pubDate>
      <link>https://dev.to/cillian/devtools-for-data-privacy-step-2-imagining-the-benefits-3g3p</link>
      <guid>https://dev.to/cillian/devtools-for-data-privacy-step-2-imagining-the-benefits-3g3p</guid>
      <description>&lt;h2&gt;
  
  
  Why Solving This Problem Matters
&lt;/h2&gt;

&lt;p&gt;If you’re in an agile dev team, particularly at a startup where shipping code matters most, it’s easy to think of privacy as a tax that slows down building things in order for legal teams to evaluate risks.&lt;/p&gt;

&lt;p&gt;That doesn’t necessarily mean you don’t care about privacy. It means you have no efficient way to make it a part of your agile process. &lt;strong&gt;I believe it’s impossible to solve the world’s privacy problems without first making it easier for product-builders to do the right, respectful thing regarding user data&lt;/strong&gt;. That’s why building devtools for privacy matters so much.&lt;/p&gt;

&lt;p&gt;We can all see this around us already. Governments, driven by user fears of Big Tech, are increasingly regulating software development companies. Tech is the new oil, automotive, and financial services industries combined — all of which are highly regulated. In our regulated future, software and the engineers that build it will be required to ensure their systems comply with a myriad of complex regulations. These regulations often differ by geography, so if you’re building internet-scale tech that crosses continents, simply building a compliant product becomes a considerable challenge.&lt;/p&gt;

&lt;h2&gt;
  
  
  FTC Consent Decree
&lt;/h2&gt;

&lt;p&gt;If you want to understand the consequence of this concretely, read the &lt;a href="https://www.ftc.gov/news-events/blogs/business-blog/2019/07/ftcs-5-billion-facebook-settlement-record-breaking-history"&gt;FTC’s 2019 Consent Decree against Facebook&lt;/a&gt;. The events that brought about the decree are multifaceted, but here is a brief synopsis: In contradiction of Facebook’s commitment to protecting users’ privacy, third-party developers were able to collect users’ personal information, even of users who had configured their settings to limit sharing to their Facebook friends. In the eyes of the FTC, Facebook failed to adequately assess and address third-party risk (recall that this transpired in the wake of the Cambridge Analytica scandal). Facebook had also asked users for phone numbers, with the stated purpose of security measures, to authenticate users who needed to reset their account passwords. Beyond the stated purpose, though, Facebook used phone numbers to deliver advertisements.&lt;/p&gt;

&lt;p&gt;Aside from fining Facebook $5B — the largest fine ever imposed for a privacy violation, and some members of the FTC thought the penalties should have gone further — the decree laid out for Facebook a set of changes it must adopt to avoid further penalty.&lt;/p&gt;

&lt;p&gt;The FTC outlined for Facebook the following, which trickles down to the entire dev community: If you write code that results in software that might collect, process or in some way munge users’ personal data, you must be able to describe what types of data you’re using, what you’re using them for and evidence of the risk mitigation strategies that were considered in doing so. &lt;strong&gt;&lt;em&gt;This has to happen before you deploy!&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A passage below from &lt;a href="https://www.ftc.gov/system/files/documents/cases/c4365facebookmodifyingorder.pdf"&gt;Section VII. E. 2(b), page 10 of the FTC Modifying Order Consent Decree&lt;/a&gt;:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;IT IS FURTHER ORDERED that Respondent, in connection with any product, service, or sharing of Covered Information, shall establish and implement … safeguards that control for the material internal and external risks identified…&lt;/em&gt;&lt;br&gt;
 &lt;em&gt;Such safeguards shall include…For each new or modified product, service, or practice that presents a material risk to the privacy, confidentiality, or Integrity of the Covered Information (e.g., a completely new product, service, or practice that has not been previously subject to a privacy review; a material change in the sharing of Covered Information with a Facebook-owned affiliate;)… producing a written report that describes…&lt;/em&gt;&lt;br&gt;
 &lt;em&gt;The type(s) of Covered Information that will be collected, and how that Covered Information will be used, retained, and shared;…[and] existing safeguards that would control for the identified risks to the privacy, confidentiality, and Integrity of the Covered Information and whether any new safeguards would need to be implemented to control for such risks…&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;The implications of this directive are striking to consider. The FTC has directed the tech community to ensure that when code is written, we know what data it’s using, for what purpose, and how we’re going to limit those risks.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;As I’ve &lt;a href="https://stackoverflow.blog/2021/07/19/privacy-is-an-afterthought-in-the-software-lifecycle-that-needs-to-change/"&gt;written before&lt;/a&gt;, it’s analogous to the shift of security over the last ten years from being a post-deployment testing problem to being part of healthy development practises. Now, security is a normal and healthy part of any good dev’s attitude to coding.&lt;/p&gt;

&lt;p&gt;What the FTC and regulators around the world are asking the people who write software to do is this: be accountable and thoughtful about the decisions you make in the code you write. Declare what data you’re using and why, and ensure that it’s not used for the wrong reasons at any time in the future.&lt;/p&gt;

&lt;p&gt;That seemingly simple business requirement demands an entire set of tools that are missing in the average agile development process. In order to ensure your team can continue shipping as quickly — and thoughtfully — as possible, you’re going to need a process and tools to describe privacy and data processing characteristics of your systems &lt;a href="https://medium.ethyca.com/devtools-for-data-privacy-step-1-privacy-taxonomy-v1-0-9e5e52bf42ea"&gt;according to agreed-upon definitions&lt;/a&gt;. With these tools, you can then review your systems, mitigate risks, and report on them if necessary.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Does Privacy Look Like Today?
&lt;/h2&gt;

&lt;p&gt;So what would those tools look like? A good starting point here is to consider what your tech stack looks like today, and how it might look in the future. As with any good software architect, plan for scale. Don’t just imagine what it will look like in your first deployment. Rather, ask yourself what will your tech stack look like when your company is successful and has a lot of users.&lt;/p&gt;

&lt;p&gt;A good reference point for this is this article by A16Z’s Martin Casado, Matt Bornstein and Jennifer Li on &lt;a href="https://a16z.com/2020/10/15/the-emerging-architectures-for-modern-data-infrastructure/"&gt;Emerging Architectures for Modern Data Infrastructure.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The diagram below shows what data infrastructure at scale ends up looking like — we’ve added what traditional privacy management looks like here, driven by the GRC (Governance, Risk, Compliance or Legal) teams.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--L3uWZo04--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qzx4fzw58ter1yvlh8ah.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--L3uWZo04--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qzx4fzw58ter1yvlh8ah.png" alt="Traditional Privacy in a Unified Data Infrastructure"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As you can see, your venerable application has become a behemoth of data sources, ETL, storage and various layers of historical and predictive analytics.&lt;/p&gt;

&lt;p&gt;In this, you’ll see that privacy and governance become roles shared by legal/governance and security but sit outside the architecture of the system with many tasks being managed manually — it is essentially a complex reporting structure rather than an active layer of the system.&lt;/p&gt;

&lt;p&gt;There’s a simplified view of this that helps to parse each tranche of the data infrastructure which includes where privacy operations typically sit in the data lifecycle. You can see in the diagram below these happen after deployment, so code is already in production and much of the work revolves around post hoc data identification and risk mitigation.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--g2T9htvN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/93yrdg4fsve4jije1ho0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--g2T9htvN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/93yrdg4fsve4jije1ho0.png" alt="Traditional Privacy Operations"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;While the largest companies with endless engineering resources are able to conduct manual privacy reviews during the building of each layer, the reality is much different in most cases. In a typical case, privacy happens after you’re deployed to production, after data collection has started and once there’s a realization of a potential risk.&lt;/p&gt;

&lt;p&gt;And resolving it at this point becomes nearly impossible — data has been collected, its source or use is often unclear, and you’re already badly exposed to accidentally using it in a way that might break the law (Facebook’s painful example above).&lt;/p&gt;

&lt;p&gt;The result is bolt-on tools that sit external to your core architecture. It’s quite literally slapping a bandaid over a deep structural issue in a complex system. That bandaid allows you to check a box, but your systems are still opaque. You still don’t understand where data is, so you have to do the work manually. Governance, compliance and metadata management become a manual burden for both legal and data engineering teams. For most developers, that burden shows up every so often as an unwanted, painful ticket that slows them down from the work they love most. The industry’s current approach to privacy is not only inefficient. It’s also detrimental to building a culture of privacy, pitting privacy against innovation. We can and must rework our collective approach to privacy, and that calls for new tools.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Might Privacy Devtools Look Like?
&lt;/h2&gt;

&lt;p&gt;Imagine an alternative to this painful remediative and refactoring work to mitigate risks after you’ve already deployed. Instead, you could add tools to your CI pipeline that would help to describe the data processing characteristics of your project and warn you if there are any risks as part of each commit or PR.&lt;/p&gt;

&lt;p&gt;The result would be two powerful concepts:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Data Context&lt;/strong&gt;: because you’re tracking privacy metadata directly in git, you have context right from your source as to what types of data you’re using and for what purpose. Suddenly you have comprehensive oversight of data ingress and egress and its use. No more guessing.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Data Control&lt;/strong&gt;: because that metadata is now attached to every project that is deployed, your entire infrastructure is described. You know what type of data is flowing where and why. Controlling that data now becomes a breeze; after all, the hardest part is enforcement on a system with blind spots.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Since founding Ethyca three years ago, our incredible team of product, engineering and privacy specialists have been working to understand what this could look like.&lt;/p&gt;

&lt;p&gt;The solution to this is developer tools built to integrate with existing developer workflows. We believe that the solution comprises the following set of tools, overlaid on the data infrastructure diagram below:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--nZZJp_6m--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/y9x8j4s3vbq6vtijwcdp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--nZZJp_6m--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/y9x8j4s3vbq6vtijwcdp.png" alt="A future of Developer Tool Driven Privacy"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Description Language for Privacy
&lt;/h2&gt;

&lt;p&gt;An ontology and open standard for how to describe privacy characteristics of your code and databases. Rather like Infrastructure as Code tools for DevOps, such as Terraform or Ansible, a Privacy as Code solution would allow any developer to easily describe and version privacy metadata directly in git, ensuring that your project declares the type of data it uses and the purposes for which it uses them.&lt;/p&gt;

&lt;p&gt;If this is driven by an open, &lt;a href="https://dev.to/cillian/devtools-for-data-privacy-step-1-privacy-taxonomy-v10-2fpp"&gt;easily understood standard ontology and taxonomy&lt;/a&gt;, integrating systems and evaluating risk will become API driven and assured.&lt;/p&gt;

&lt;h2&gt;
  
  
  CI-Integrated Evaluation
&lt;/h2&gt;

&lt;p&gt;Once you have the ability to declare privacy characteristics, it should be possible to describe policies that can be enforced directly on projects in CI, on commit or for each PR. This would mean that instead of complex human-in-the-loop privacy reviews with legal teams, your pipeline can check your projects against agreed company policies and nudge you if something doesn’t look right before you deploy. Like security tools, but to help quickly ensure your work meets the company requirements. This effort usually focuses on dataset metadata — so tagging data at rest. If the code you deploy already describes its context and types of data, this can now sidecar your runtime environment transactions, meaning you can see what data types flow where and for what purpose. Metadata becomes a living component of your software development process and updates synchronously with each change.&lt;/p&gt;

&lt;h2&gt;
  
  
  Semantic Enforcement
&lt;/h2&gt;

&lt;p&gt;Because you have a consistent definition language for describing data behavior in your application; you can now use this same standard to enforce access or comply with regulations, be they today’s regulations or regulations a decade from now. The integrated nature of the tools and the standard definitions of data use in the language ensure that you have a foundation on which you can enforce new policies in future without having to refactor your complex production infrastructure.&lt;/p&gt;

&lt;h2&gt;
  
  
  Summary
&lt;/h2&gt;

&lt;p&gt;This brings us full-circle to developer tools for privacy. We need to build tools that work in existing pipelines and allow us to quickly describe the behavior of our code and the data in our systems. From there, we can evaluate risks, report on them and make changes.&lt;/p&gt;

&lt;p&gt;Achieving this requires an open standard for privacy behaviors and characteristics as well as risk evaluation tools that are wired directly into git and other CI tools to make privacy a streamlined, low-friction part of your dev process.&lt;/p&gt;

&lt;p&gt;I’m confident and optimistic that this is possible. It’s what we’ve been working on for some time at Ethyca, and we’re excited to share results of that work with the dev community in the coming months. In the next year, you’ll see Ethyca publicly step forward to offer solutions and ideas that we’d like to share with the entire engineering community. Our aim is to make privacy a simple, natural and easily enforceable part of your development process. I can’t wait to share this with you. This problem matters for the sake of our industry and the health of privacy and data ethics everywhere.&lt;/p&gt;

</description>
      <category>privacy</category>
      <category>tooling</category>
      <category>dataprivacy</category>
      <category>programming</category>
    </item>
    <item>
      <title>Devtools for Data Privacy — Step 1: Privacy Taxonomy V1.0</title>
      <dc:creator>Cillian</dc:creator>
      <pubDate>Fri, 15 Oct 2021 15:38:55 +0000</pubDate>
      <link>https://dev.to/cillian/devtools-for-data-privacy-step-1-privacy-taxonomy-v10-2fpp</link>
      <guid>https://dev.to/cillian/devtools-for-data-privacy-step-1-privacy-taxonomy-v10-2fpp</guid>
      <description>&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffx3j3s41h06k7r01d70s.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffx3j3s41h06k7r01d70s.png" alt="Open Source Privacy Taxonomy"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;NOTE&lt;/strong&gt;: If you’d like to jump straight to the &lt;a href="https://github.com/ethyca/privacy-taxonomy" rel="noopener noreferrer"&gt;Github repo&lt;/a&gt; or &lt;a href="https://ethyca.github.io/privacy-taxonomy/" rel="noopener noreferrer"&gt;documentation&lt;/a&gt; you can get these at:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/ethyca/privacy-taxonomy" rel="noopener noreferrer"&gt;Privacy Taxonomy Github Repo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://ethyca.github.io/privacy-taxonomy" rel="noopener noreferrer"&gt;Github Pages Docs&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;Table of Contents&lt;/strong&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Introduction&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;A Proposed Privacy Taxonomy&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Objective of a Privacy Taxonomy&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Accessing &amp;amp; Exploring the Taxonomy&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Privacy Taxonomy Research&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Early Decisions&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Concepts &amp;amp; Conventions of the Taxonomy&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Writing Conventions&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Taxonomy Structure&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Data Categories&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Data Uses&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Data Subjects&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Data Qualifiers&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Conclusion&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;Back in July, I articulated some of Ethyca’s driving ideas in a Stack Overflow feature: &lt;a href="https://stackoverflow.blog/2021/07/19/privacy-is-an-afterthought-in-the-software-lifecycle-that-needs-to-change/" rel="noopener noreferrer"&gt;Privacy is an afterthought in the software lifecycle. That needs to change&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;To solve the problem I described, &lt;strong&gt;I believe the dev community needs to agree upon and build an open source definition language and set of tools for privacy&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The purpose of these tools is simple:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Allow anyone working on systems that process sensitive or risky data to consistently describe the types of data they’re handling and what that data is being used for.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Create CI rules or policies for how data can be used and enforce those in the CI pipeline to prevent code that might create risks or misuse data from ever reaching production.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Provide configurable tools to ensure respecting a user’s rights can be a feature of any system, such as data access, erasure, portability and retention.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Create runtime rules or policies for fine-grained, semantic enforcement, thereby ensuring that only the necessary data is shared with systems or people to perform a process.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The two key benefits yielded are (1) ensuring that software systems more easily comply with complex data privacy regulations that are already forcing change on the tech community, and (2) ensuring that the products we build more naturally respect the rights of users.&lt;/p&gt;

&lt;p&gt;Over the last three years at Ethyca, we’ve been working hard with technical design partners and engineering teams at some of the world’s biggest tech companies to understand the root cause of privacy challenges and build the tools necessary to solve these from the ground up. I’m excited that in the coming months we’ll finally share the culmination of that work with the first public release of our open source privacy tools.&lt;/p&gt;

&lt;h2&gt;
  
  
  A Proposed Privacy Taxonomy
&lt;/h2&gt;

&lt;p&gt;The foundation of those tools is a consistent understanding of types and uses of data, and so I want to share the first public release of our data taxonomy with you today.&lt;/p&gt;

&lt;p&gt;Its purpose is to create an agreed-upon definition of types and categories of personal data. This is a vital first step in any ontological design as, in order for any privacy standard to be interoperable, we must first achieve a shared definition of what types of data there are.&lt;/p&gt;

&lt;p&gt;I’m eager to share this and excited to get any feedback that might improve this standard for every developer. I believe what follows forms the foundation of any realistic solution to privacy engineering.&lt;/p&gt;

&lt;p&gt;The rest of this post breaks down our current thinking on what will be a freely available and extensible taxonomy: its components, hierarchy and syntax.&lt;/p&gt;

&lt;h2&gt;
  
  
  Objective of a Privacy Taxonomy
&lt;/h2&gt;

&lt;p&gt;As stated briefly above and in my other posts, if the dev community is going to solve privacy, we need to agree on a standard definition language on which to base our understanding of systems, the risk they pose and our ability to codify healthy policies into them — ultimately, an ontology for privacy (more on that in a future post).&lt;/p&gt;

&lt;p&gt;The starting point for that is a definition of entities in a system: a taxonomy, the ability to describe what types of data we are handling and what we’re using them for. If we can make it easy for any dev to do this as part of their implementation process, we can start to bake privacy naturally into healthy software design and delivery processes.&lt;/p&gt;

&lt;p&gt;So a lot rides on getting the dev community to standardize their way of describing privacy data and privacy-related data processes in their systems. The taxonomy that follows is our attempt to publicly start that process, and we want to encourage as many developers as possible to contribute their views so that we can collectively build better technology.&lt;/p&gt;

&lt;h2&gt;
  
  
  Accessing &amp;amp; Exploring the Taxonomy
&lt;/h2&gt;

&lt;p&gt;This post marks the day we’re starting to release years of development work at Ethyca, as we had always intended, for the open source community. With that in mind, feel free to grab the &lt;a href="https://github.com/ethyca/privacy-taxonomy" rel="noopener noreferrer"&gt;taxonomy repo&lt;/a&gt; available below or use the &lt;a href="https://codepen.io/cilliank/embed/OJgexYz?theme-id=39778" rel="noopener noreferrer"&gt;codepen&lt;/a&gt; to explore the structure visually.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/ethyca/privacy-taxonomy" rel="noopener noreferrer"&gt;https://github.com/ethyca/privacy-taxonomy&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;or codepen here:&lt;/p&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/cilliank/embed/OJgexYz?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  Privacy Taxonomy Research
&lt;/h2&gt;

&lt;p&gt;Our goal at Ethyca was to conduct the detailed research necessary to provide the dev community with a first draft taxonomy robust enough to capture a comprehensive view of privacy, yet intuitive enough for any engineer to easily apply.&lt;/p&gt;

&lt;p&gt;To achieve this, we evaluated existing privacy ontologies and their taxonomies, such as &lt;a href="https://www.w3.org/community/dpvcg/wiki/PrOnto:_Privacy_Ontology_for_Legal_Reasoning" rel="noopener noreferrer"&gt;PrOnto&lt;/a&gt; and &lt;a href="https://www.researchgate.net/publication/351034289_COPri_v2_-_A_core_ontology_for_privacy_requirements" rel="noopener noreferrer"&gt;COPri v.2&lt;/a&gt;; international standards like &lt;a href="https://www.iso.org/standard/79573.html" rel="noopener noreferrer"&gt;ISO 19944&lt;/a&gt;; and contrasted with major data privacy regulations like the &lt;a href="https://ico.org.uk/for-organisations/guide-to-data-protection/guide-to-the-general-data-protection-regulation-gdpr/" rel="noopener noreferrer"&gt;GDPR&lt;/a&gt; (the ICO’s website is a helpful read for those curious), &lt;a href="https://ethyca.com/cpra-hub/" rel="noopener noreferrer"&gt;CCPA&lt;/a&gt;, &lt;a href="https://iapp.org/news/a/the-new-brazilian-general-data-protection-law-a-detailed-analysis/" rel="noopener noreferrer"&gt;LGPD&lt;/a&gt; and drafts of the &lt;a href="https://share.getcloudapp.com/4gulq7K2" rel="noopener noreferrer"&gt;Indian PDPB&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Early Decisions
&lt;/h2&gt;

&lt;p&gt;Armed with this analysis and feedback from our technical design partners, we’ve been refining this taxonomy for over a year. We feel that it’s an early but confident first step in capturing everything you will need to describe the privacy behaviors and data types of your tech stack.&lt;/p&gt;

&lt;p&gt;To achieve this, we made some early, opinionated and intentional decisions that I’d love feedback on. So the taxonomy repo you’ll see here:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Supports all of the data types and concepts necessary to describe a system for the GDPR, CCPA and LGPD.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Supports the standards of ISO 19944;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Is extensible, so you can add categories of data or data processing definitions to suit your business;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Is intended to be semantic and allow a natural understanding of any label for any user.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Concepts &amp;amp; Conventions of the Taxonomy
&lt;/h2&gt;

&lt;p&gt;Conceptually, the taxonomy is segmented in four groupings as follows:&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Data Categories
&lt;/h2&gt;

&lt;p&gt;Data Categories are a comprehensive hierarchy of labels to represent types of data in your systems. They can be coarse definitions such as “User Provided Data” or fine grained ones, such as “User Provided Email Address”. We’ll dig into this in a bit more detail shortly.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Data Uses
&lt;/h2&gt;

&lt;p&gt;Data Uses are labels that describe how, or for what purposes, you are using the data. This branch of the taxonomy creates a structure for the most common uses of data in software applications. An example might be the use of data for payment processing or first party personalized advertising. These would both be data uses, ways in which your system uses data.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Data Subject Categories
&lt;/h2&gt;

&lt;p&gt;“Subjects” is a slightly esoteric term, common in the privacy industry to represent the user type — that is to say, the label applied to describe the provider or owner of the data. E.g., if you have an email address in your system, it might belong to an employee of the company, or to a customer. In this case, employees and customers are both “subjects” of the system. Under various privacy regulations, they are afforded rights over managing how their data is used and that may vary by the subject type, so the distinction between a patient in a medical records system and a customer in an e-commerce system is important.&lt;/p&gt;

&lt;h2&gt;
  
  
  4. Data Qualifiers
&lt;/h2&gt;

&lt;p&gt;Data Qualifiers provide added context as to the degree of identification and therefore, potential risk using the data might pose relative to identifying an individual. A simple way to think about this is a spectrum: on one end is completely anonymous data, i.e. it is impossible to identify an individual from it, and on the other end is data that specifically identifies an individual. Along this spectrum are various labels that denote the degree of identification that a given data might provide.&lt;/p&gt;

&lt;h2&gt;
  
  
  Writing Conventions
&lt;/h2&gt;

&lt;p&gt;We worked through various potential syntaxes to ensure it’s as easy as possible to read and write in plain English. Ultimately, dot notation lends itself most appropriately to writing statements that are concise and easy to understand. So the branch structure is dot notation and you’ll see some of the end nodes are complex terms that use snake case for clarity.&lt;/p&gt;

&lt;p&gt;As such, if you were attempting to use the taxonomy of data categories to label, for example, an email address, the resulting hierarchical notation would look like:&lt;/p&gt;

&lt;p&gt;user.provided.identifiable.contact.email&lt;/p&gt;

&lt;p&gt;As you can see, it’s pretty easy to deduce from this that it’s user-provided data, it identifies them and it is considered contact information — more specifically, an email address.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fltbkxrpgc92rjh8y25xy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fltbkxrpgc92rjh8y25xy.png" alt="Notation Structure"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The design of these hierarchical structures is intended to allow any dev implementing this to type out the classification to a level of specificity that suits their needs. If I take the above example, my team and I might decide that we’re satisfied if we know it’s identifiable data about a user, which would look like:&lt;/p&gt;

&lt;p&gt;user.provided.identifiable&lt;/p&gt;

&lt;p&gt;Or labeling it with slightly more specificity as contact data:&lt;/p&gt;

&lt;p&gt;user.provided.identifiable.contact&lt;/p&gt;

&lt;h2&gt;
  
  
  Taxonomy Structure
&lt;/h2&gt;

&lt;p&gt;As stated, the objective with releasing the taxonomy now is to discuss, debate and over time, iteratively improve the taxonomy so that it can cater to most common scenarios for devs and data teams in describing systems. Here we’ll delve into the current structure and our rationale for their present state.&lt;/p&gt;

&lt;h2&gt;
  
  
  Data Categories
&lt;/h2&gt;

&lt;p&gt;As you can see from the dot notation example above and the taxonomy visualizer tool in the header, Data Categories are classified into primitive categories with a hierarchy of branches and nodes that allow for degrees of precision when classifying data.&lt;/p&gt;

&lt;p&gt;Here’s a breakdown of that structure:&lt;/p&gt;

&lt;h3&gt;
  
  
  Data Categories — Top Level
&lt;/h3&gt;

&lt;p&gt;There are three top-level categories:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;account&lt;/strong&gt;: Data related to a system account.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;system&lt;/strong&gt;: Data unique to, and under control of the system.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;user&lt;/strong&gt;: Data related to the user of the system, either provided directly or derived based on their usage.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;In defining these, we looked at the cross-labeling implications of data types such as an email address, which may be both account data and user data. This is a logical multi-label assignment so that you can manage this data for both purposes, or perhaps create exclusionary rules related to its use.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;TLDR&lt;/strong&gt;: When considering and testing labeling extensively, we found that with three clear primitives you could elegantly construct a series of labels that covered the broadest possible data types while limiting the number of terms needed to do so.&lt;/p&gt;

&lt;h3&gt;
  
  
  Data Categories — Second Level
&lt;/h3&gt;

&lt;p&gt;For each top-level node, there are multiple branches that provide richer context. You will see for the first two, account and system, these are limited, where the user node provides subclasses suitable to assist in detailed personal data management.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;account.contact&lt;/strong&gt;: Contact data related to a system account.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;account.payment&lt;/strong&gt;: Payment data related to a system account.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;system.authentication&lt;/strong&gt;: Data used to manage access to the system.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;system.operations&lt;/strong&gt;: Data used for system operations.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;user.derived&lt;/strong&gt;: Data derived from user provided data or as a result of user actions in the system.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;user.provided&lt;/strong&gt;: Data provided or created directly by a user of the system.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Most of these are likely self-evident. Of note here are the derived and provided labels, as these respectively describe where data was derived by the system through observation or inference, versus explicitly provided by a user.&lt;/p&gt;

&lt;h3&gt;
  
  
  Data Categories — Third Level
&lt;/h3&gt;

&lt;p&gt;As you can see, the hierarchy supports simple labels or, where necessary, very precise and fine-grained annotations. It’s easiest from here for you to dive in and play with the classifications yourself. However, we’ll quickly look at level three of the user branch specifically, where you have branches from derived and provided:&lt;/p&gt;

&lt;p&gt;You can see this is split into identifiable and non-identifiable data:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;user.derived.identifiable&lt;/strong&gt;: Derived data that is linked to, or identifies a user.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;user.derived.nonidentifiable&lt;/strong&gt;: Non-user identifiable data derived related to a user as a result of user actions in the system.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;And a similar split applies to provided, as shown below.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;user.provided.identifiable&lt;/strong&gt;: Data provided or created directly by a user that is linked to or identifies a user.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;user.provided.nonidentifiable&lt;/strong&gt;: Data provided or created directly by a user that is not identifiable.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Data Uses
&lt;/h2&gt;

&lt;p&gt;Similar to Data Categories, for Data Use, we’ve attempted to capture the widest variety of data use cases with the briefest hierarchy we can. In addition to this, we’ve captured all of the use cases described by ISO 19944 and GDPR to ensure that a single taxonomy can describe data uses across data privacy frameworks.&lt;/p&gt;

&lt;p&gt;You’ll see if you use the taxonomy explorer in the header that this currently breaks down as follows:&lt;/p&gt;

&lt;h3&gt;
  
  
  Data Uses — Top Level
&lt;/h3&gt;

&lt;p&gt;At present there are seven top-level nodes to the use categories taxonomy branch. We think this still needs work and are continuing to optimize. However, today they are:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;provide&lt;/strong&gt;: Provide, in the context of providing a product or service.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;improve&lt;/strong&gt;: Improve, similarly relating to the product or service.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;personalize&lt;/strong&gt;: Personalization of the product or service.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;advertising&lt;/strong&gt;: Marketing, Advertising or Promotion.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;third_party_sharing&lt;/strong&gt;: Sharing data with a third party vendor or processor.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;collect&lt;/strong&gt;: Collect data with no currently specified use (you shouldn’t do this but it seems necessary to encompass some poor, non-privacy appropriate, legacy processes).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;train_ai_system&lt;/strong&gt;: Train an AI System.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Data Uses — Second Level
&lt;/h3&gt;

&lt;p&gt;From here, it’s likely quicker to explore the second level data use categories yourself. However, it’s worth noting that we’ve attempted to capture the most common constructs that create privacy risks. For example:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;advertising.third_party.personalized&lt;/strong&gt;: Specifies data received from a third party for the purpose of personalization of advertising to a user or group of users.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;third_party_sharing.personalized_advertising&lt;/strong&gt;: Sharing of data collected by the system with a third party for their use in personalized advertising.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;These two examples show really important distinctions of use. The first is where your product is performing personalized marketing/advertising by receiving and processing data from a third party. Whereas the second example declares that your system is sharing data with a third party for their use in advertising — very different uses and privacy implications!&lt;/p&gt;

&lt;h3&gt;
  
  
  Data Uses — Final Word
&lt;/h3&gt;

&lt;p&gt;As a final word on data use categories, I stated at the top of this post that we’ve designed this with extensibility in mind, and data uses are a really effective example of this. Every business or software system is different and as such, you’re likely to have different or industry specific uses for your system.&lt;/p&gt;

&lt;p&gt;The objective therefore with data uses is to create a simple framework to generate a clear hierarchy of classifications, so that you can quickly extend this for your use, whether it’s medical data use or some other sensitive process.&lt;/p&gt;

&lt;p&gt;Finally, if you look at the repository history, you’ll see we’ve been iterating on structure from snake_case to dot notation and also hierarchy of terms. I’m hopeful that we’ll continue to do this constantly with feedback from devs implementing this to ensure it satisfies real-world use cases.&lt;/p&gt;

&lt;h2&gt;
  
  
  Data Subjects
&lt;/h2&gt;

&lt;p&gt;This is likely the easiest group of the taxonomy to understand. At present it’s a flat structure with no hierarchy and represents the various types of users (aka subjects) that may be participants in your system. These could be users, customers, employees, patients, voters, etc.&lt;/p&gt;

&lt;p&gt;You might ask why we’ve done this. The benefit of this specificity is future-proofing. As privacy regulations evolve we expect that certain groups of users’ data will be managed differently. The ability to assign one or multiple user types to your data assures that in future you can build policies and enforcements around data for any business or legal requirement. So you might decide that today you treat employee and customer data the same way, but you will have the flexibility to change retention policies on employee data in the future. As with everything in the taxonomy, you can extend this to support specific business cases. This flexibility means that a thoughtful system need not be fragile, rendered unworkable as soon as compliance requirements evolve. To the contrary: the ontology enables the system to be nimble, a vital quality in a landscape as dynamic as modern data and privacy compliance needs.&lt;/p&gt;

&lt;p&gt;Subject categories are explicit in their meaning today, so:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;anonymous_user&lt;/strong&gt;: An individual who is truly unknown/anonymous to the system.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;citizen_voter&lt;/strong&gt;: An individual who is a citizen of a nation or state and may be a voter in a state sponsored voting system.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;commuter&lt;/strong&gt;: An individual in transit on any means of transportation where their location may be monitored.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;consultant&lt;/strong&gt;: An individual external service provider to the organization..&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;customer&lt;/strong&gt;: An individual who has purchased products or services from the organization.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;employee&lt;/strong&gt;: An individual who is an employee of the organization.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;job_applicant&lt;/strong&gt;: An individual who is in the job application process of an organization, past or present.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;next_of_kin&lt;/strong&gt;: An individual identified as a legal point of contact for another category of individual in the system.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;passenger&lt;/strong&gt;: An individual traveling on transportation provided by the organization.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;patient&lt;/strong&gt;: An individual identified for the purpose of medical or health procedures.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;prospect&lt;/strong&gt;: An individual identified for the purpose of sales and marketing.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;shareholder&lt;/strong&gt;: An individual identified as an owner or shareholder of an organization.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;supplier_vendor&lt;/strong&gt;: An individual or organization providing goods or services to the organization.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;trainee&lt;/strong&gt;: An individual receiving training or tutoring.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;visitor&lt;/strong&gt;: An individual visiting a location of an organization.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Data Qualifiers
&lt;/h2&gt;

&lt;p&gt;Data Qualifiers describe the degree of identification of the given data. Think of this as a spectrum: on one end is completely anonymous data, i.e. it is impossible to identify an individual from it, and on the other end is data that specifically identifies an individual.&lt;/p&gt;

&lt;p&gt;Along this spectrum are labels that describe the degree of identification that a given data might provide, such as:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;identified&lt;/strong&gt;: Data that directly identifies an individual.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;pseudonymized&lt;/strong&gt;: Data which has been de-identified (by removing/replacing all identifiers) but used with other data may re-identify an individual.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;unlinked_pseudonymized&lt;/strong&gt;: Data which has been de-identified (by removing/replacing all identifiers) where linkages have also been replaced/broken such that the individual cannot be re-identified.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;anonymized&lt;/strong&gt;: Data which has been unlinked and for which attributes have been modified to assure confidence that the person cannot be re-identified with this data or in combination with other data.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;aggregated&lt;/strong&gt;: Statistical data that does not contain individual data and/or has been combined with sufficient data from multiple persons that no individual is identifiable.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;In this post I’ve proposed a first draft of a privacy taxonomy, one that underpins much of the thinking we do at Ethyca. What we’re releasing today is just an up-down taxonomy. However, this precedes an entire ontology that provides a simple grammar to describe complex data flows and privacy-related behaviors in a software system. This has been at the heart of our work for nearly three years now.&lt;/p&gt;

&lt;p&gt;I’m excited to finally start sharing that work publicly with the community, and I encourage feedback, debate and changes. By having these conversations, we can build a better standard and the tools necessary to make this easy for every dev to implement.&lt;/p&gt;

&lt;p&gt;Over the coming weeks we’ll be releasing more details of our work in this space and the benefits created by these tools. We welcome your feedback, participation and contribution.&lt;/p&gt;

&lt;p&gt;If you’d like to chat about anything here you can get me on Twitter, &lt;a href="https://twitter.com/cillian" rel="noopener noreferrer"&gt;@cillian&lt;/a&gt;, or feel free to comment here.&lt;/p&gt;

</description>
      <category>dataprivacy</category>
      <category>opensource</category>
      <category>showdev</category>
    </item>
  </channel>
</rss>
