91 karma · joined February 8, 2019
YC Badge: 0x454a841da25d3ae21ab4a2b3e8495f663280ced8
It's a great language. It's dependent-types / theorem-proving-oriented type-system combined with AI assistants makes it the language of the future IMO.
The library is compatible with that but does not use Pydantic further than that.
Maybe you will filter the queries that you assume safe, let's say aggregation queries. But to prevent GROUP BYs with singleton groups, you will enforce some more constraints. Let's says GROUPs should have a minimal size of 10 elements. But then Alice could run a first aggregation with a GROUP of 100 and the same with a GROUP of 100 minus Bob, by using both responses Alice can know things about Bob. Then you will design more involved rules and grow a complex set of rules and eventually add human supervision and your system will not be scalable.
With DP, you add some noise to a query result so that you have a guarantee that nothing substantial can be learned about Bob.
Imagine you want to open your DB to the outside world in a scalable way, you can design a service that: - receives SQL queries - use Qrlew to rewrite them - run the rewritten query on any DB and send back the result as a response - you would also accumulate privacy loss in a privacy accountant so that you make sure the amount of private information leaked by the repeated disclosure of DP query results stays bounded.
That's what Sarus does as a company. Qrlew is the DP-SQL core we use.
There is an interactive playground there as well: https://qrlew.github.io/dp You can change things on the left and then rewritten query shows on the right.
I hope it helps.
As you may know, Differential Privacy is hard to implement right. To foster trust, we relied on a two-pronged strategy:
- Open-source
- Peer reviewed methodology
Feel free to reach out to us if you need more details.
- https://github.com/google/differential-privacy (for basic mechanisms and PLD accounting)
- https://github.com/tensorflow/privacy (for DP-SGD and RDP accounting)
- https://github.com/opendp (for our SQL module)
We actively contribute to some of them.
We also open-sourced some tech bricks we are using:
- https://github.com/sarus-tech/dp-xgboost (see also https://arxiv.org/pdf/2110.12770.pdf)
We plan to continue building trust in the tools we are using by publishing some of them.
I decided to spend my Sunday of COVID lockdown illustrating some facts about forecasting, like the martingale property.