Building https://xitter.cf/t.co/3BH3T3KFzw, CS PhD @UMich, security & privacy (incl. network security, AI privacy), prev Recommendation (& surveillance šŸ‘€) @BytedanceDevs.

🌲 Stanford, CA
Joined October 2020
If you’re a regular person using ChatGPT/Claude, you have no real privacy options today. We’ve built anti-censorship and anti-surveillance tools before, and the pattern is always the same: the people who need it most have the least power to get it. We needed this ourselves, so we’re building it for all of us!
Can we build a blind, *unlinkable inference* layer where ChatGPT/Claude/Gemini can't tell which call came from which users, like a ā€œVPN for AI inferenceā€? Yes! Blog post below + we built it into open source infra/chat app and served >15k prompts at Stanford so far. How it helps with AI user privacy: # The AI user privacy problem If you ask AI to analyze your ChatGPT history today, it’s surprisingly easy to infer your demographics, health, immigration status, and political beliefs. Every prompt we send accumulates into an (identity-linked) profile that the AI lab controls completely and indefinitely. At a minimum this is a goldmine for ads (as we know now). A bigger issue is the concentration of power: AI labs can easily become (or asked to become) a Cambridge Analytica, whistleblow your immigration status, or work with health insurance to adjust your premium if they so choose. This is a uniquely worse problem than search engines because your average query is now more revealing (not just keywords), interactive, and intelligence is now cheap. Despite this, most of us still want these remote models; they’re just too good and convenient! (this is aka the "privacy paradox".) # Unlinkable inference as a user privacy architecture The idea of unlinkable inference is to add privacy while preserving access to the remote models controlled by someone else. A ā€œprivacy wrapperā€ or ā€œVPN for AI inferenceā€, so to speak. Concretely, it’s a blind inference middle layer that: (1) consists of decentralized proxies that anyone can operate; (2) blindly authenticates requests (via blind signatures / RFC9474,9578) so requests are provably sandboxed from each other and from user identity; (3) relays prompts over randomly chosen proxies that don’t see or log traffic (via client-side ephemeral keys or hosting in TEEs); and (4) the provider simply sees a mixed pool of anonymous prompts from the proxies. No state, pseudonyms, or linkable metadata. If you squint, an unlinkable inference layer is essentially a vendor for per-request, anonymous, ephemeral AI access credentials (for users or agents alike). It partitions your context so that user tracking is drastically harder. Obviously, unlinkability isn’t a silver bullet: the prompt itself still goes to the remote model and can leak privacy (so don't use our chat app for a therapy session!). It aims to combat *longitudinal tracking* as a major threat to user privacy, and its statistical power increases quickly by mixing more users and requests. Unlinkability can be applied at any granularity. For an AI chat app, you can unlinkably request a fresh ephemeral key for every session so tracking is virtually impossible. # The Open Anonymity Project We started this project with the belief that intelligence should be a truly public utility. Like water and electricity, providers should be compensated by usage, not who you are or what you do with it. We think unlinkable inference is a first step towards this ā€œintelligence neutralityā€. # Try it out! It’s quite practical - Chat app ā€œoa-chatā€: chat.openanonymity.ai/ (<20 seconds to get going) - Blog post that should be a fun read: openanonymity.ai/blog/unlink… - Project page: openanonymity.ai/ - GitHub: github.com/OpenAnonymity
2
4
17
2,223
Wrapped zkAPI + Tor + extra cover traffic + local LLM prompt rewriting in an open-AI compatible daemon, and made a "paranoid mode" wrapper for my agent harness (pi): Each conversation gets assigned a separate Tor circuit, your requests are masked with random cover traffic, zkAPI ensures you don't leak your identity through payments, and all prompts are locally rewritten (bring-your-own-local-model; I'm using qwen3.8-flash-next) github.com/vbuterin/zkapi/tr… My agent harness is wrapped with a bwrap sandbox (also experimenting with MicroVM) and wrapped again with torsocks, so everything it does goes through Tor. Here's what me asking it to do a simple research task looks like. It's getting quite usable! Though you definitely still pay quite a bit in increased latency, especially when starting a new conversation. Also, Tor is far from optimal here for privacy; the cover traffic mechanism is okay against passive adversaries but much weaker if the LLM provider is colluding with the guard and actively manipulating timing. This kind of task really requires a more specialized mixnet, probably take the tradeoff of a higher bandwidth multiplier and built-in constant cover traffic. Also also, much cheaper zkAPI deposit and withdraw gas costs are coming to mainnet soon.
488
229
123
1,975
282,445
Doing a bit of a self-experiment. Goal: use my personal health and travel data to provide personalized diet and exercise recommendations for me, using frontier models but in a way that avoids leaking to them any private information. Strategy: use a local model (Qwen 3.8 Flash Next) to orchestrate, and use powerful remote models as a tool call to benefit from higher-level thinking and knowledge that the local model does not have. Three-layer approach to privacy: Avoid leaking personally identifiable information, or leaking my identity through writing style -> local model writes the queries to the frontier model, not me Avoid leaking who I am through the payment channel -> zkAPI Avoid leaking who I am through networking / IP -> Tor You need all three (and finally we have all three, at least to some extent) A skill file teaches the local model when and how to construct minimally-data-revealing requests to remote models. Use zkAPI-wrapped-with-Tor as a CLI tool. And everything works! I got the recommendations back, info from frontier models helped to improve them. Main deficiencies: * Tor is really not optimized for request-by-request de-linking, which is the only form of network-layer privacy that really makes sense in today's world (long-running identifiers are too fragile). Probably not private enough, and latency 10-100x higher than it could be, at the same time. * The skill file's request construction strategies are definitely far from optimal. * Qwen 3.8 Flash Next is still too slow for comfort. It's comfortably running at 20-30 TPS, but it would only really start to feel fast at 100+ * There is a tradeoff: the more careful you are about what data you give to a remote model, the less it can help you github.com/ethereum/zkapi/pu…
415
209
104
2,145
473,716
Super excited to announce our collaboration with @ethereumfndn to take Unlinkable Inference further!
Today the EF and OA announce zkAPI—a new means for private AI Picture this: deposit ether into a vault, sign a zk proof, get a fixed amount of private inference. Advances like these help us move past middlemen's requirements that we link our data and identities. Read more below
1
7
292
Erik Chi retweeted
Quick updates on the Open Anonymity project (@OpenAnonProject)! 1. OA-chat is live! You can now signup: chat.openanonymity.ai 2. We collaborated with @ethereumfndn (@VitalikButerin, @DavideCrapis, @VittoStack, @curryrasul) to develop zkAPI, a new zero-knowledge protocol for accessing gated / paid APIs with unlinkability. It’s like a generalization of OA unlinkable inference that also abstracts payments away. Now also available on OA-chat! I'm excited because more infrastructure should exist where privacy and sovereignty is foundational and people are in control.
62
73
16
419
174,370
Erik Chi retweeted
On a new episode of #TheBraveTechnologist, Open Anonymity Project creators Ken Liu (@kenziyuliu) and Erik Chi (@erik_chi_) discuss how the next generation of AI systems could be built with privacy as a default. Listen to their full chat with @LukeMulks: brave.com/podcast/e120/
1
11
1
81
11,674
Erik Chi retweeted
Had a great time discussing AI user privacy on @augmind_fm 😃 One discussion I’d like to highlight from the chat is that what constitutes the "Privacy Problem" has been shifting as AI progresses. It used to be that we care a lot about *training-time* user privacy: what gets trained into the model, and what the model would spit out. Say you take an LLM and a book (or any piece of sensitive text). We cared about whether the book would be regurgitated ("memorization"); whether you can remove such a book from the model ("unlearning"); and whether you can detect the book being trained ("membership inference"). And as part of mitigating these problems, we work on training-time techniques like differential privacy, careful data cleaning, and model alignment/guardrails (in ~increasing order of adoption). Guardrails seem to work well enough that people don’t really talk about sensitive model outputs anymore. What’s more pressing today, I argue, is *inference-time* user privacy: the fact that intelligent models are served at scale on private user data, which are then centrally managed at model providers. Intelligent models mean that user profiling is now cheap and automatic; your activities can be continuously analyzed to reveal new sensitive insights. Whether your data is trained on or not became less relevant. Having a "digital clone" of you by building on your memory/personalization is now way more profitable. The threat vector changed from the model misbehaving to the provider misbehaving. Because of this, the techniques to improve user privacy would look different than before. They’ll look less like fancy learning algorithms (e.g. RL to steer model to output paraphrase of a book than the original book), and more like *peripheral systems* sitting around closed models that we do not control but still want to access. The OA project (openanonymity.ai) is an example: you could build a zero-knowledge proxy to mediate AI inference and combat surveillance, and leverage smaller models to help users build personal memory on-device. This is not to say that there’s no room for training; you just train for different things, and on auxiliary models than the closed models. thank you so much to @EchoShao8899 @michaelryan207 @shannonzshen for hosting me!
ā€œIn the past, with social media or web search, you are like, here are some specific keywords, here are some posts that I am okay to share with the world; whereas with AI, it feels like you are private, it feels like you are talking to an entity that won’t reveal your information.ā€ For EP4, we welcome @kenziyuliu, Stanford CS PhD student and creator of The Open Anonymity Project. Ken approaches AI privacy from angles most researchers don't: deep learning, applied cryptography, privacy technologies, and real human behavior all at once. In this episode, he shares how to achieve provable private AI inference, why today's agents are a privacy nightmare (and how to fix it), his vision on intelligence neutrality, and more. 0:00 - Teaser 1:08 - Prelude: Introducing Ken Liu 1:41 - Monologue: The Open Anonymity Project 3:41 - Ken’s Path to Privacy Research 6:31 - The Biggest Privacy Concern for LLM Users 9:39 - Three Perspectives on Tackling AI Privacy 10:57 - ā€œAI presents a Uniquely Worse Privacy Problemā€ 13:44 - The Open Anonymity (OA) Project: Unlinkable Inference 17:50 - Blind Signatures as Unlinkable Authentication 20:52 - Secure Inference Proxies 28:31 - Threat Model in the OA Project 31:39 - What If People Give Away Information In Their Prompts 35:58 - OpenClaw, Privacy Nightmare In Agents 43:00 - The Stories Behind the OA Project 50:14 - Intelligence Neutrality 52:22 - Safety Concerns in a World with Private AI Inference
1
6
31
7,819
ā€œIn the past, with social media or web search, you are like, here are some specific keywords, here are some posts that I am okay to share with the world; whereas with AI, it feels like you are private, it feels like you are talking to an entity that won’t reveal your information.ā€ For EP4, we welcome @kenziyuliu, Stanford CS PhD student and creator of The Open Anonymity Project. Ken approaches AI privacy from angles most researchers don't: deep learning, applied cryptography, privacy technologies, and real human behavior all at once. In this episode, he shares how to achieve provable private AI inference, why today's agents are a privacy nightmare (and how to fix it), his vision on intelligence neutrality, and more. 0:00 - Teaser 1:08 - Prelude: Introducing Ken Liu 1:41 - Monologue: The Open Anonymity Project 3:41 - Ken’s Path to Privacy Research 6:31 - The Biggest Privacy Concern for LLM Users 9:39 - Three Perspectives on Tackling AI Privacy 10:57 - ā€œAI presents a Uniquely Worse Privacy Problemā€ 13:44 - The Open Anonymity (OA) Project: Unlinkable Inference 17:50 - Blind Signatures as Unlinkable Authentication 20:52 - Secure Inference Proxies 28:31 - Threat Model in the OA Project 31:39 - What If People Give Away Information In Their Prompts 35:58 - OpenClaw, Privacy Nightmare In Agents 43:00 - The Stories Behind the OA Project 50:14 - Intelligence Neutrality 52:22 - Safety Concerns in a World with Private AI Inference
2
18
3
36
28,771
New episode of the AM podcast dropping soon! In EP4, we sat down with @kenziyuliu, CS PhD student at @StanfordAILab and creator of The Open Anonymity Project, to talk about the privacy layer of personal intelligence. Here's a preview 😃
1
17
2
39
9,323
Erik Chi retweeted
This is Act II. Act I was about making an anonymity layer for LLMs (VPN for intelligence). Act II is about building a deeply personalized, private assistant on top of that. The idea is that your context (all your files, messages, deepest desires) is owned and managed by you. For any query, a local/TEE model reads the context to determine what *subset* of context to pull in, and invokes closed frontier models on the context (if open models aren't good enough). With the anonymity layer, different invocations are not linked. So your context can have information about your taxes and your health records, but you never allow any model provider to link the two despite having a unified assistant interface. The vision of deeply personalized assistants is obvious right now. It is less obvious that you can achieve this privately.
Sharing a super simple, user-owned memory module we've been playing around: nanomem The basic idea is to treat memory as a pure intelligence problem: ingestion, structuring, and (selective) retrieval are all just LLM calls & agent loops on a on-device markdown file tree. Each file lists a set of facts w/ metadata (timestamp, confidence, source, etc.); no embeddings/RAG/training of any kind. For example: - `nanomem add ` starts an agent loop to walk the tree, read relevant files, and edit. - `nanomem retrieve ` walks the tree and returns a single summary string (possibly assembled from many subtrees) related to the query. What’s nice about this approach is that the memory system is, by construction: 1. partitionable (human/agents can easily separate `hobbies/snowboard.md` from `tax/residency.md` for data minimization + relevance) 2. portable and user-owned (it’s just text files) 3. interpretable (you know exactly what’s written and you can manually edit) 4. forward-compatible (future models can read memory files just the same, and memory quality/speed improves as models get better) 5. modularized (you can optimize ingestion/retrieval/compaction prompts separately) Privacy & utility. I'm most excited about the ability to partition + selectively disclose memory at inference-time. Selective disclosure helps with both privacy (principle of least privilege & ā€œneed-to-knowā€) and utility (as too much context for a query can harm answer quality). Composability. An inference-time memory module means: (1) you can run such a module with confidential inference (LLMs on TEEs) for provable privacy, and (2) you can selectively disclose context over unlinkable inference of remote models (demo below). We built nanomem as part of the Open Anonymity project (openanoymity.ai), but it’s meant to be a standalone module for humans and agents (e.g., you can write a SKILL for using the CLI tool). Still polishing the rough edges! - GitHub (MIT): github.com/OpenAnonymity/nan… - Blog: openanonymity.ai/blog/nanome… - Beta implementation in chat client soon: chat.openanonymity.ai Work done with amazing project co-leads @amelia_kuang @cocozxu @erikchi !!
6
21
3
246
51,165
AI memory today is a black box: it remembers things about you, but you can’t really inspect it, edit it, or take it with you. We think memory should be user-owned and user-controlled. So @cocozxu and I built nanomem: a local-first memory system that turns your chats, notes, and history into a markdown file tree on your device. You can open it, edit it, git-version it, move it anywhere. No hidden profiles. No lock-in. nanomem treats memory management as a reasoning problem: your memory evolves with you, grows organically from real conversations, and stays independent from any one model or app. The goal is simple: memory you actually own. Try it: npm install -g @openanonymity/nanomem Blog post: openanonymity.ai/blog/nanome… Open source (MIT License): github.com/OpenAnonymity/nan…
1
4
2
18
4,991
Erik Chi retweeted
Sharing a super simple, user-owned memory module we've been playing around: nanomem The basic idea is to treat memory as a pure intelligence problem: ingestion, structuring, and (selective) retrieval are all just LLM calls & agent loops on a on-device markdown file tree. Each file lists a set of facts w/ metadata (timestamp, confidence, source, etc.); no embeddings/RAG/training of any kind. For example: - `nanomem add ` starts an agent loop to walk the tree, read relevant files, and edit. - `nanomem retrieve ` walks the tree and returns a single summary string (possibly assembled from many subtrees) related to the query. What’s nice about this approach is that the memory system is, by construction: 1. partitionable (human/agents can easily separate `hobbies/snowboard.md` from `tax/residency.md` for data minimization + relevance) 2. portable and user-owned (it’s just text files) 3. interpretable (you know exactly what’s written and you can manually edit) 4. forward-compatible (future models can read memory files just the same, and memory quality/speed improves as models get better) 5. modularized (you can optimize ingestion/retrieval/compaction prompts separately) Privacy & utility. I'm most excited about the ability to partition + selectively disclose memory at inference-time. Selective disclosure helps with both privacy (principle of least privilege & ā€œneed-to-knowā€) and utility (as too much context for a query can harm answer quality). Composability. An inference-time memory module means: (1) you can run such a module with confidential inference (LLMs on TEEs) for provable privacy, and (2) you can selectively disclose context over unlinkable inference of remote models (demo below). We built nanomem as part of the Open Anonymity project (openanoymity.ai), but it’s meant to be a standalone module for humans and agents (e.g., you can write a SKILL for using the CLI tool). Still polishing the rough edges! - GitHub (MIT): github.com/OpenAnonymity/nan… - Blog: openanonymity.ai/blog/nanome… - Beta implementation in chat client soon: chat.openanonymity.ai Work done with amazing project co-leads @amelia_kuang @cocozxu @erikchi !!
8
45
4
306
75,266
Erik Chi retweeted
🫔🫔🫔 remote APIs (AI inference or otherwise) should really be mediated by an unlinkable, zero-knowledge layer, since whoever on the other side can now easily infer a ton about you with linkage and cheap intelligence
2
16
2,378
Tinfoil container is super easy to use! They’ve done a great job that Intel should’ve done! It solves a few annoyance we had when using Azure’s TEE in chat.openanonymity.ai like blackout in updates, TLS binding etc. Try it out!
Replying to @TinfoilAI
3/8 Researchers @daryakaviani at UC Berkeley and @erikchi who's building the Open Anonymity project at Stanford use Tinfoil Containers to quickly build end-to-end private systems using enclaves.
1
1
12
1,372
Erik Chi retweeted
congrats on the launch @DanielXieee @QuanliangX and team!! been lucky to witness your tremendous progress!
Origami Robotics is building high-DOF robotic hands with in-joint motors and a co-designed data-collection glove to eliminate the embodiment gap by collecting high-quality, real-world data at scale. Congrats on the launch, @DanielXieee and @QuanliangX! ycombinator.com/launches/Pcl…
3
3
26
3,517
Erik Chi retweeted
where's the proof? it seems like it's just "trust me bro, we dont log". that's not a "privacy model", it's a pinky promise. the plaintext prompts literally go thru your servers, and you can read if you want to. i really hope that we both want to improve privacy for everyone.
13
6
3
89
7,191
Erik Chi retweeted
don't pollute open source project (@openclaw) please xitter.cf/steipete/status/202857…
Yeah this was an older doc oversight, we wanna be neutral on this.
1
6
262
Erik Chi retweeted
@openclaw @steipete just want to flag that Venice AI has no privacy/security model; they are a middleman sitting between users and AI, observing all plaintext prompts/responses (the definition of an eavesdropper). we've flagged this publicly and have not gotten a response
2
1
24
1,318
Yeah this was an older doc oversight, we wanna be neutral on this.
7
2
12
75
18,521