"Runs locally" is not the same as "private," and I say this as someone shipping a thing that runs locally. Your projects, agents, notes, database, secrets: they're in a directory on your disk. Unplug the network and they're still there, still readable, still yours. Inference is a different story. Unless you're running a local model, your prompts leave your machine for your provider. Local storage doesn't change that. An updater that checks for a new build is a network call. A peer-to-peer mesh is not end-to-end encryption. Those are two different claims. Open Wireshark, run the thing, watch what connections it makes. A packet capture won't tell you everything, but it can test some of those claims. What else do you see people fold into "runs locally" that doesn't belong there?
A question for anyone running agents in a day job rather than in a demo. Mine used to lose things between conversations, and I only noticed because I kept retyping them. None of it was hard for the model. It was just gone by the next morning. What I ended up doing was making the memory a file rather than a habit a title and a body, on disk, that the job opens already holding, and every other job can read. The harder half is what happens when two of those notes disagree. Facts go in a base of their own, one plain sentence each. A new one is compared by meaning against everything already in there, and every near pair stops and asks for a ruling both true, merge them, one wins, or drop the new one. Nothing commits while a pair is open. What's the thing you re-supply most? I'm collecting them, because I want to know whether they're the same for everyone or just mine.
ADI runs agents on your own machine. You define one — its tools, its secrets, the way it works — and it keeps a memory of its own. Projects, services, dashboards, a task tree and a store you own, in one control panel. macOS, Linux, Windows.