GraphQL is a terrible idea. To me, it feels like giving your client direct access to your database. You need a proper API layer with strong boundaries, and gRPC does that pretty well.
I think it might be time to bring back GraphQL.
I helped bring GraphQL to my team at Apple. It was a terrible mistake, probably my worst.
GraphQL has incredible potential, it allows you to organize queries in a way where every client asks for exactly what it wants in combinations no api engineer could ever build all of.
However, because of that, maintaining GraphQL servers is horrible. Building the GraphQL POC worked great, but maintaining it, adding to it, auditing its security was all a continual struggle that was not worth the effort.
Also, humans dont write that much code, so the advantage of custom queries for everyone wasn't too relevant if you weren't Facebook.
But code is cheap now and agents ask for a lot of specific data.
I'm going to benchmark this internally and see what makes sense.
Least privilege is the most high-stakes puzzle in security right now.
The unit of permission is larger than the unit of work, and agents use every permission they get.
Three things I’m seeing right now:
1) Permissions are coarse. GitHub’s “pull requests: write” lets a review agent comment and approve.
2) Controls are fragmented. Every database, API and infrastructure tool has its own authorization model.
3) Access is static. A support agent should lose access to a customer’s records when the case closes. A standing role can’t express that.
Agents reach every one of those systems over the network, so @joinFormal enforces least privilege there:
- Every request checked at the level of the action: read these rows, open a PR but never merge it, etc.
- Policies tied to the person or agent acting
- API keys and passwords held at the proxy, never in the agent’s environment
We are proud to partner with some of the best engineering teams working today at Cursor, Decagon, Render, Granola and many more.
DMs are open
“A new Go API for JSON” by Michael Pratt, Joe Tsai, Daniel Martí, Johan Brandhorst-Satzkorn, Roger Peppe, Chris Hines, and Damien Neil — https://t.co/Hyxsj7FQtj #golang
@dinodaizovi this is literally the problem we've set to solve @joinformal. We use mTLS to authenticate our Endpoint to our Connector over p2p MASQUE connection (quic)
Cybersecurity is an industry where historically, the best product has rarely won.
In a world of human-constrained attacks, cyber was still effectively a checkbox. As long as the product met a baseline functionality, the CISO said, “I have my VM/SIEM/DLP solution, I’m good to go.” In this paradigm, marketing and sales mattered way more than technical superiority.
But in a world where agents can attack your systems at massive volume and scale, the efficacy of cybersecurity products is put to the test. Even a difference of 96% vs 99% in attack prevention is magnified. Brittle solutions which can’t perform at scale will quickly be ousted and we’ll see companies that grew purely on marketing and Gartner magic quadrants sink quickly.
The cyber industry is changing, and now the best technology will win.
Everyone is sleeping on applying the pattern of hardware-bound private keys and mTLS to authorization-aware reverse proxies. We all have the knowledge and means to build and deploy it today using our little robot friends.
It's a phenomenal way to massively reduce attack surface.