## Description As the emphasis of data privacy has been imposed by many legal regulations, companies and individuals are becoming aware of the protection of sensitive data in use. However, currently there is no good tool to enforce data privacy policies on the cloud while providing automatic enforcement with formal guarantees. This data analysis framework (though work in progress) adds support for *automatic and formal* data privacy policy enforcement.
This framework is not finished yet and has the following ongoing tasks: * Access control design – policy semiring * Data privacy scheme enforcement * Formal models and proofs * Policy language design and automatic generation of executors While this is not finished, it should be able to perform basic data analysis jobs. ## Type of change (select or add applied and delete the others) - [ ] Bug fix (non-breaking change which fixes an issue) - [x] New feature (non-breaking change which adds functionality) - [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected) - [ ] API change with a documentation update - [ ] Additional test coverage - [ ] Code cleanup or just sync with upstream third-party crates ## How has this been tested? ## Checklist - [x] Fork the repo and create your branch from `master`. - [x] If you've added code that should be tested, add tests. - [ ] If you've changed APIs, update the documentation. - [x] Ensure the tests pass (see CI results). - [x] Make sure your code lints/format. You can view, comment on, or merge this pull request online at: https://github.com/apache/incubator-teaclave/pull/716 -- Commit Summary -- * Fix advertised address * Add data analysis example * Add privacy policy enforcement PoC * Merge branch 'apache:master' into master -- File Changes -- A examples/python/builtin_policy_enforcement.py (78) M executor/Cargo.toml (2) M executor/src/builtin.rs (4) M function/Cargo.toml (4) M function/src/lib.rs (3) A function/src/policy_enforcement.rs (90) M third_party/README.md (1) A third_party/pcd/docs/algebraic_structures.md (7) A third_party/pcd/docs/differential_privacy.md (35) A third_party/pcd/docs/formal_foundations.md (5) A third_party/pcd/docs/overview.md (52) A third_party/pcd/docs/policy_language.md (3) A third_party/pcd/docs/policy_to_executors.md (44) A third_party/pcd/docs/query_plan.md (24) A third_party/pcd/examples/builtin_executor/Cargo.toml (12) A third_party/pcd/examples/builtin_executor/src/main.rs (56) A third_party/pcd/examples/simple_executor/Cargo.lock (1245) A third_party/pcd/examples/simple_executor/Cargo.toml (3) A third_party/pcd/examples/simple_executor/Makefile (44) A third_party/pcd/examples/simple_executor/executor_lib/Cargo.toml (20) A third_party/pcd/examples/simple_executor/executor_lib/build.rs (6) A third_party/pcd/examples/simple_executor/executor_lib/src/lib.rs (234) A third_party/pcd/examples/simple_executor/executor_user/Cargo.toml (18) A third_party/pcd/examples/simple_executor/executor_user/build.rs (14) A third_party/pcd/examples/simple_executor/executor_user/src/main.rs (55) A third_party/pcd/policy_algebra/Cargo.toml (9) A third_party/pcd/policy_algebra/src/lib.rs (174) A third_party/pcd/policy_carrying_data/Cargo.toml (24) A third_party/pcd/policy_carrying_data/src/arithmetic.rs (291) A third_party/pcd/policy_carrying_data/src/comparator.rs (499) A third_party/pcd/policy_carrying_data/src/field.rs (829) A third_party/pcd/policy_carrying_data/src/group.rs (248) A third_party/pcd/policy_carrying_data/src/lib.rs (504) A third_party/pcd/policy_carrying_data/src/macros.rs (46) A third_party/pcd/policy_carrying_data/src/pretty.rs (34) A third_party/pcd/policy_carrying_data/src/row.rs (84) A third_party/pcd/policy_carrying_data/src/schema.rs (139) A third_party/pcd/policy_core/Cargo.toml (20) A third_party/pcd/policy_core/src/ast.rs (106) A third_party/pcd/policy_core/src/error.rs (168) A third_party/pcd/policy_core/src/expr.rs (548) A third_party/pcd/policy_core/src/lib.rs (17) A third_party/pcd/policy_core/src/macros.rs (54) A third_party/pcd/policy_core/src/policy.rs (166) A third_party/pcd/policy_core/src/types.rs (498) A third_party/pcd/policy_execution/Cargo.toml (30) A third_party/pcd/policy_execution/src/context.rs (446) A third_party/pcd/policy_execution/src/executor/apply.rs (29) A third_party/pcd/policy_execution/src/executor/arena.rs (129) A third_party/pcd/policy_execution/src/executor/built_in.rs (258) A third_party/pcd/policy_execution/src/executor/distinct.rs (41) A third_party/pcd/policy_execution/src/executor/filter.rs (32) A third_party/pcd/policy_execution/src/executor/groupby_partitioned.rs (160) A third_party/pcd/policy_execution/src/executor/join.rs (74) A third_party/pcd/policy_execution/src/executor/mod.rs (317) A third_party/pcd/policy_execution/src/executor/projection.rs (44) A third_party/pcd/policy_execution/src/executor/scan.rs (59) A third_party/pcd/policy_execution/src/lazy.rs (331) A third_party/pcd/policy_execution/src/lib.rs (54) A third_party/pcd/policy_execution/src/plan/mod.rs (1358) A third_party/pcd/policy_execution/src/plan/physical_expr.rs (871) A third_party/pcd/policy_execution/src/sql.rs (78) A third_party/pcd/policy_execution/src/udf.rs (30) A third_party/pcd/policy_ffi/Cargo.toml (20) A third_party/pcd/policy_ffi/build.rs (7) A third_party/pcd/policy_ffi/src/lib.rs (81) A third_party/pcd/policy_ffi/src/so_impl.rs (280) A third_party/pcd/policy_ffi/src/static_impl.rs (118) A third_party/pcd/policy_function/Cargo.toml (14) A third_party/pcd/policy_function/src/lib.rs (108) A third_party/pcd/policy_generator/Cargo.toml (17) A third_party/pcd/policy_generator/api.rs (54) A third_party/pcd/policy_generator/build.rs (31) A third_party/pcd/policy_generator/grammar/README.md (5) A third_party/pcd/policy_generator/grammar/policy_definition_language.lalrpop (151) A third_party/pcd/policy_generator/grammar/test.lalrpop (10) A third_party/pcd/policy_generator/src/generator.rs (118) A third_party/pcd/policy_generator/src/lib.rs (90) A third_party/pcd/policy_generator/src/main.rs (106) A third_party/pcd/policy_generator/templates/build.rstp (4) A third_party/pcd/policy_generator/templates/ld.rstp (40) A third_party/pcd/policy_privacy/Cargo.toml (14) A third_party/pcd/policy_privacy/src/dp.rs (222) A third_party/pcd/policy_privacy/src/k_anon.rs (15) A third_party/pcd/policy_privacy/src/lib.rs (86) A third_party/pcd/policy_proc_macro/Cargo.toml (21) A third_party/pcd/policy_proc_macro/dfscan_template.rstp (0) A third_party/pcd/policy_proc_macro/src/executors.rs (227) A third_party/pcd/policy_proc_macro/src/fields.rs (182) A third_party/pcd/policy_proc_macro/src/lib.rs (28) A third_party/pcd/policy_proc_macro/tests/policy_derive.rs (8) A third_party/pcd/policy_utils/Cargo.toml (9) A third_party/pcd/policy_utils/src/lib.rs (26) -- Patch Links -- https://github.com/apache/incubator-teaclave/pull/716.patch https://github.com/apache/incubator-teaclave/pull/716.diff -- Reply to this email directly or view it on GitHub: https://github.com/apache/incubator-teaclave/pull/716 You are receiving this because you are subscribed to this thread. Message ID: <apache/incubator-teaclave/pull/7...@github.com>