#数据隐私 #隐私 #数据 #设计 #SDK #开发

pbd

隐私设计(PbD)软件开发工具包

16个版本

0.5.0 2023年9月17日
0.4.1 2021年12月1日
0.4.0 2021年4月28日
0.3.0 2020年11月1日
0.0.5 2019年11月27日

#2272 in 开发工具


用于 daas

Apache-2.0

420KB
7K SLoC

License Discussions Docs.rs

Linux: 构建状态

隐私设计(PbD)SDK

为实施隐私设计实践的软件开发团队,此PbD SDK提供启用器,帮助您轻松透明地应用最佳实践。与其他解决方案不同,此SDK直接映射到数据隐私策略,提供完整的工具包,并节省开发人员查找、推导或拼凑不同解决方案的时间。


目录

新增功能

这是0.5.0版本的新增内容!

由于以下原因,我们删除了数据跟踪链和数据使用协议功能的extractormiddleware功能。 (解决了issue #45#46#49 )

  1. 专注于保持轻量级和灵活的SDK

    已更新regex版本以修复安全漏洞

  2. 发现actix-web版本3.3.3actix-rt版本1.1.1中的安全漏洞
  3. 💥 新功能 在DUA功能中引入了《数据使用政策》(Data Usage Policy)的概念。DUP提供了支持DUA的扩展详细信息,并实现了FidesLang分类法。(解决了#50问题)

功能

  • 数据使用协议(dua)
  • 数据追踪链(dtc)
  • 数据隐私检查器(dpi)
  • 数据安全守护者(dsg)

示例

此SDK包含每个功能的可执行示例。这些示例的代码可以在此处找到。

数据隐私检查器

  1. 从命令行终端启动服务: cargo run --example data-privacy-inspector
  2. 然后执行以下http请求
POST / HTTP/1.1
Host: localhost:8088
Content-Type: plain/text
Content-Length: 610

Dear Aunt Bertha,

I can't believe it has already been 10 years since we moved to back to the Colorado. 
I love Boulder and haven't thought of leaving since. So please don't worry when I tell you that we are moving in less than a week.
We will be upgrading to a larger home on the other side of the city on Peak Crest Lane. 
It have a great view of the mountains and we will have a two car garage.

We will have the same phone number, so you can still reach us. But our new address with be 1345 Peak Crest Lane Boulder, Colorado 125468.

Let us know if you ever want to vist us. 

Sincerely,
Robert

数据安全守护者

  1. 从命令行终端启动服务: cargo run --example data-security-guard
  2. 然后执行以下http请求
GET / HTTP/1.1
Host: localhost:8088
Content-Type: application/json
Content-Length: 1097

{"encrypted_data":[130,37,248,85,153,227,79,249,207,97,173,90,24,95,190,46],"encrypted_symmetric_key":[50,133,49,31,191,107,92,185,73,215,226,59,30,241,210,149,177,158,166,200,98,86,22,245,251,224,49,239,177,245,236,43,255,190,251,162,47,218,206,2,72,253,181,24,143,32,41,233,13,35,195,225,155,110,95,59,223,209,126,134,218,58,45,97,40,184,148,184,188,141,143,235,131,154,76,1,246,8,19,107,226,71,148,231,196,209,197,85,151,36,203,107,125,168,145,93,57,217,188,71,211,239,3,25,230,27,165,65,191,250,178,21,248,49,70,199,34,91,62,22,5,50,50,180,134,31,137,30,155,215,253,109,46,220,209,218,50,98,194,151,63,8,4,164,100,225,94,122,81,93,130,170,255,168,186,76,251,163,179,250,169,167,52,158,223,187,170,101,66,108,22,153,195,140,203,149,243,129,137,161,246,115,156,87,140,96,163,209,169,244,175,34,150,216,43,234,24,7,220,197,87,65,196,43,230,223,61,7,47,171,193,239,121,46,208,245,161,188,113,49,216,205,147,122,233,136,24,58,157,99,54,188,100,14,19,55,11,218,199,148,3,2,74,148,5,174,155,118,136,64,210,182,101,50,168,74],"nonce":[100,109,70,86,87,48,111,104,67,71,78,54,66,74,114,48],"padding":1}

数据跟踪链

  1. 从命令行终端启动服务: cargo run --example data-tracker-chain
  2. 然后执行以下http请求
GET / HTTP/1.1
Host: localhost:8088
Content-Type: application/json
Data-Tracker-Chain: W3siaWRlbnRpZmllciI6eyJkYXRhX2lkIjoib3JkZXJ+Y2xvdGhpbmd+aVN0b3JlfjE1MTUwIiwiaW5kZXgiOjAsInRpbWVzdGFtcCI6MCwiYWN0b3JfaWQiOiIiLCJwcmV2aW91c19oYXNoIjoiMCJ9LCJoYXNoIjoiMjcyMDgxNjk2NjExNDY0NzczNzI4MDI0OTI2NzkzNzAzMTY3NzgyIiwibm9uY2UiOjV9LHsiaWRlbnRpZmllciI6eyJkYXRhX2lkIjoib3JkZXJ+Y2xvdGhpbmd+aVN0b3JlfjE1MTUwIiwiaW5kZXgiOjEsInRpbWVzdGFtcCI6MTU3ODA3MTIzOSwiYWN0b3JfaWQiOiJub3RpZmllcn5iaWxsaW5nfnJlY2VpcHR+ZW1haWwiLCJwcmV2aW91c19oYXNoIjoiMjcyMDgxNjk2NjExNDY0NzczNzI4MDI0OTI2NzkzNzAzMTY3NzgyIn0sImhhc2giOiI1MDEwNDE0OTcwMTA5ODcwMDYzMjUxMTE0NDEyNTg2NzczNjE5MyIsIm5vbmNlIjo1fV0=

数据使用协议

  1. 从命令行终端启动服务: cargo run --example data-usage-agreement
  2. 然后执行以下http请求
GET / HTTP/1.1
Host: localhost:8088
Content-Type: application/json
Data-Usage-Agreement: [{"agreement_name":"billing","location":"https://github.com/dsietz/pbd/blob/master/tests/duas/Patient%20Data%20Use%20Agreement.pdf","agreed_dtm": 1553988607}]

关于

pbd开发套件的目的是通过提供功能和组件,使开发者能够在自己的软件解决方案中实施隐私设计策略和战术

如何贡献

有关如何贡献的详细信息,请参阅CONTRIBUTING文件。

许可

pbd主要在Apache许可证(版本2.0)的条款下分发。

有关详细信息,请参阅LICENSE-APACHE "Apache License

依赖项

~3–17MB
~242K SLoC