Great work, trying to categorize privacy projects, but here are a few things that I think aren't accurate, or places where it can be improved:
- No column for client side proving
Without client side proving, one doesn't have real privacy, the proving right now for STRK-20 seems to be happening on a remote server { this is such a big big trust assumption, the wallet provider even if running a TEE has a big attack vector to compromise or be compromised }
- Selective Disclosure
I don't think the disclosure in STRK-20 guarantees to be selective, the notes are encrypted to a third party, even if we have some MPC like gurantees, it doesn't stands against hardcore encryption.
If for things like note tagging, shielding times, we have seperate superscript, then we should highlight that as well with a superscript ( already exists for the column on monero ).
- Secretless (no per-note keys)
Even STRK-20 isn't secretless, your secret is the starknet private key, and similary for an aztec, or zcash user, the secret is the seed phrase, and rest all can be auto-derived by wallets.
So, from a real UX perspective, I don't see how it translates, this seems more like a protocol level difference.
- Programmable privacy
This one, I am curious for, how does it work for STRK-20, how can I write custom private code with the framework, that runs private and composes with it.
I still think that no real client side proving is a big issue, you are technically trusting the wallet operator by a big factor even if it is a TEE.
ps: I would never use TEE for my main accounts, I would rather do agentic accounts or bridge specific accounts with it, but would never make it the default for the user.