Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ethyca/fidesops
Privacy as Code for DSAR Orchestration: Privacy Request automation to fulfill GDPR, CCPA, and LGPD data subject requests.
https://github.com/ethyca/fidesops
compliance compliance-as-code compliance-automation data-privacy gdpr gdpr-compliant privacy privacy-as-code
Last synced: 4 days ago
JSON representation
Privacy as Code for DSAR Orchestration: Privacy Request automation to fulfill GDPR, CCPA, and LGPD data subject requests.
- Host: GitHub
- URL: https://github.com/ethyca/fidesops
- Owner: ethyca
- License: apache-2.0
- Archived: true
- Created: 2021-10-29T10:44:14.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2022-11-30T18:36:59.000Z (almost 2 years ago)
- Last Synced: 2024-09-23T16:15:31.267Z (about 2 months ago)
- Topics: compliance, compliance-as-code, compliance-automation, data-privacy, gdpr, gdpr-compliant, privacy, privacy-as-code
- Language: Python
- Homepage: https://ethyca.github.io/fidesops
- Size: 21.3 MB
- Stars: 48
- Watchers: 9
- Forks: 16
- Open Issues: 152
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
- awesome-privacy-engineering - Fidesops - DSAR Orchestration: Privacy Request automation to fulfill GDPR, CCPA, and LGPD data subject requests. (deprecated) (Awesome Privacy Engineering [![Awesome](https://awesome.re/badge.svg)](https://awesome.re) / Data Deletion, Data Mapping, and Data Subject Access Requests)
README
# Deprecation Notice
Fidesops is deprecated now. The codebase has been merged in into [Fides](https://github.com/ethyca/fides).
Visit the Fides [Documentation](https://ethyca.github.io/fides) to learn more.## Meet Fidesops: Privacy as Code for DSAR Orchestration
_A part of the [greater Fides ecosystem](https://github.com/ethyca/fides)._
[![License][license-image]][license-url]
[![Code style: black][black-image]][black-url]
[![Checked with mypy][mypy-image]][mypy-url]
[![Twitter][twitter-image]][twitter-url]![Fidesops banner](docs/fidesops/docs/img/fidesops.png "Fidesops banner")
## :zap: Overview
**Fidesops** (_fee-dez-äps_, combination of the Latin term "Fidēs" + "operations") is an extensible, [deployed](https://ethyca.github.io/fidesops/deployment/) engine that [fulfills any privacy request](https://ethyca.github.io/fidesops/guides/privacy_requests/) (e.g. access request, erasure request) by [connecting directly to your disparate databases](https://ethyca.github.io/fidesops/tutorial/postgres_connection/).
![Fidesops overview](docs/fidesops/docs/img/fidesops-overview-diagram.png "Fidesops overview")
## :rocket: Quick Start
If you're looking for a more detailed introduction to fidesops, we recommend following [our tutorial here](https://ethyca.github.io/fidesops/tutorial/).
### System Requirements
- [Docker](https://www.docker.com/products/docker-desktop) (20.10.8+)
- [Python](https://www.python.org/downloads/) (3.8+)
- [Nox](https://nox.thea.codes/en/stable/) (`pip install nox`)
Run the quickstart in your terminal to give fidesops a test drive:```bash
git clone https://github.com/ethyca/fidesops.git
cd fidesops
nox -s quickstart
```This runs fidesops in docker along with the necessary data stores. It also spins up a test postgres
database and a test mongo database to mimic your application. This quickstart will walk you through executing privacy
requests against your system by making a series of API requests to fidesops.Follow these five easy steps:
### Step One: Set up basic configuration (press `[enter]` to make each API request)
- Authenticate by creating an Access Token
- Connect to your application's postgres and mongo databases with ConnectionConfigs
- Describe the types of data you have and their relationships with Datasets
- Dictate where to upload your results with StorageConfigs (a local folder for now)### Step Two: Define an Access Policy
Policies help describe what data you care about and how you want to manage it. In this example, you'll create an `access`
Policy,`example_request_policy`, to get all data with the data category: `user`.
### Step Three: Run a Privacy Request to Access DataFinally, you can issue a Privacy Request using Policy `example_request_policy` across your test databases for `[email protected]`.
The following response will be uploaded to a local folder (for demo purposes). We've collected identifiable user
information for Jane across tables in both the postgres and mongo databases.```json
{
"mongo_test:flights": [
{
"passenger_information": {
"full_name": "Jane Customer"
}
}
],
"mongo_test:customer_details": [
{
"gender": "female",
"children": [
"Erica Example"
],
"birthday": "1990-02-28T00:00:00"
}
],
"postgres_example:address": [
{
"city": "Example Mountain",
"state": "TX",
"house": 1111,
"zip": "54321",
"street": "Example Place"
}
],
"postgres_example:customer": [
{
"email": "[email protected]",
"name": "Jane Customer"
}
],
"mongo_test:rewards": [
{
"owner": [
{
"phone": "530-486-6983"
},
{
"phone": "818-695-1881"
}
]
},
{
"owner": [
{
"phone": "254-344-9868"
}
]
}
],
"mongo_test:employee": [
{
"email": "[email protected]",
"name": "Jane Employee"
}
],
"mongo_test:conversations": [
{
"thread": [
{
"ccn": "987654321",
"chat_name": "Jane C"
}
]
},
{
"thread": [
{
"ccn": "987654321",
"chat_name": "Jane C"
},
{
"chat_name": "Jane C"
}
]
}
],
"mongo_test:payment_card": [
{
"ccn": "987654321",
"code": "123",
"name": "Example Card 2"
}
],
"postgres_example:payment_card": [
{
"ccn": 373719391,
"code": 222,
"name": "Example Card 3"
}
]
}```
### Step Four: Create an Erasure Policy
Now you'll create another Policy, `example_erasure_policy`, that describes how to `erase` data with the same category, by replacing values with null.
### Step Five: Issue a Privacy Request to erase data and verify
The last step is to issue a Privacy Request using `example_erasure_policy` to remove identifiable user data
related to "[email protected]". Then we'll re-run step #3 again to see what data is remaining for data category `user`:```json
{}
```This returns an empty dictionary confirming Jane's fields with data category `user` have been removed.
You've learned how to use the fidesops API to connect a database and a final storage location, define policies that describe
how to handle user data, and execute access and erasure requests. But there's a lot more to discover,
so we'd recommend following [the tutorial](https://ethyca.github.io/fidesops/tutorial/) to keep learning.### Documentation
For more information on getting started with fidesops, how to configure and set up fidesops, and more about the Fides ecosystem of open source projects:
- Documentation:
- How-to guides:
- Deployment:
- Roadmap:
- Website: www.ethyca.com/fides### Support
Join the conversation on:
- [Slack](https://fid.es/join-slack)
- [Twitter](https://twitter.com/ethyca)
- [Discussions](https://github.com/ethyca/fidesops/discussions)### Contributing
We welcome and encourage all types of contributions and improvements! Please see our [contribution guide](CONTRIBUTING.md) to opening issues for bugs, new features, and security or experience enhancements.
Read about the [Fides community](https://ethyca.github.io/fidesops/community/github/) or dive into the [development guides](https://ethyca.github.io/fidesops/development/overview) for information about contributions, documentation, code style, testing and more. Ethyca is committed to fostering a safe and collaborative environment, such that all interactions are governed by the [Fides Code of Conduct](https://ethyca.github.io/fidesops/community/code_of_conduct/).
## :balance_scale: License
The Fides ecosystem of tools ([fidesops](https://github.com/ethyca/fidesops) and [fidesctl](https://github.com/ethyca/fides)) are licensed under the [Apache Software License Version 2.0](https://www.apache.org/licenses/LICENSE-2.0).
Fides tools are built on [fideslang](https://github.com/ethyca/privacy-taxonomy), the Fides language specification, which is licensed under [CC by 4](https://github.com/ethyca/privacy-taxonomy/blob/main/LICENSE).Fides is created and sponsored by [Ethyca](https://ethyca.com): a developer tools company building the trust infrastructure of the internet. If you have questions or need assistance getting started, let us know at [email protected]!
[license-image]: https://img.shields.io/:license-Apache%202-blue.svg
[license-url]: https://www.apache.org/licenses/LICENSE-2.0.txt
[black-image]: https://img.shields.io/badge/code%20style-black-000000.svg
[black-url]: https://github.com/psf/black/
[mypy-image]: http://www.mypy-lang.org/static/mypy_badge.svg
[mypy-url]: http://mypy-lang.org/
[twitter-image]: https://img.shields.io/twitter/follow/ethyca?style=social
[twitter-url]: https://twitter.com/ethyca