Security at @framer. I build and break things on the internet.

Amsterdam, The Netherlands
Joined February 2009
Koen Rouwhorst retweeted
Introducing Skills: teach the Framer agent how you work. Save instructions for your design system, writing style, or CMS workflow, then reuse them across tasks. Reference pages, components, and styles in your skills so the agent follows your designs. framer.com/skills
24
24
26
216
60,376
Koen Rouwhorst retweeted
GPT 5.6 Sol, Terra, and Luna are now available in Framer. The new lineup gives you more control over quality, cost, and speed. Sol is our strongest creative model yet, and the first to score 100% on our hardest internal benchmark, at the same credit cost as GPT 5.5. Terra delivers GPT 5.5-level results at 0.6× the credits, while Luna runs 2× faster than any previous option at 0.4× the credits.
18
22
7
241
33,767
Koen Rouwhorst retweeted
I'm looking for an engineering lead that can own our internal design agent evals, and evolve it onto a public model design bench that we can publish. Remote/EU timezone/fulltime. koen at framer dot com
9
19
4
78
13,836
Koen Rouwhorst retweeted
I tried to write down every lesson we learned and trade off we had to make, building agents on a canvas for @framer. If you build products, you might like this. framer.com/blog/building-fra…
7
14
1
109
4,854
We just shipped an all new version of Framer. Use the built-in agent right on the canvas, or bring your own agent (Claude, Codex or Cursor) to work on your projects. Everything happens on a branch, so you review the diff and merge only when you are ready. Give it a try!
Replying to @framer
Agents: AI built into every part of Framer to help you become extremely productive, not replace you. Agents can design pages, update your site, manage your CMS, improve SEO, fix responsiveness, understand analytics, and, most importantly, help you ship. framer.com/
1
1
6
615
Koen Rouwhorst retweeted
We’ve been heads-down for a long time, working on an all-new, completely redesigned Framer. I’m very proud of how it turned out. Framer 3.0 is coming soon.
271
200
136
3,957
9,815,920
Koen Rouwhorst retweeted
Framer's biggest launch in years is happening June 16 We're hosting watch parties in 12 cities around the world so builders can experience it together IRL Austin • LA • NYC • SF • Seattle • Vancouver • Toronto • Amsterdam • Barcelona • Berlin • London • Warsaw Want in? DM me
Join us June 16 at 10AM PDT. You will not want to miss this one.
23
8
3
88
12,787
The nice thing is that other tools on your machine can use the same authentication instead of each needing their own personal access token. In scripts, you can use 'gh auth token' to retrieve the access token. Scopes can be expanded using 'gh auth refresh -s ', so you only add broader access when your tools actually need it. You can take this a step further with the gh Go module (github.com/cli/go-gh) that lets you tap into that same authentication programmatically from your own tooling. We did this for our internal developer tools that need GitHub access, so there is no need for engineers to manually generate, configure, or manage separate GitHub personal access tokens.
1
156
As an engineer at @framer, one of the things I keep pushing for is reducing the number of credentials that engineers have to manage themselves. GitHub personal access tokens are a good example. They are often scoped too broadly, stored in plaintext in dotfiles, and duplicated in multiple places. GitHub's gh CLI solves most of this. Instead of manually generating a token and pasting it somewhere, you just run 'gh auth login' to authenticate via a browser-based OAuth flow. No token touches your clipboard or shell history. It creates an access token with sane default scopes, stored securely in your OS keychain rather than a plaintext file on disk.
1
9
441
For your business-critical domains, move to a well-established registrar that supports registry locks (CSC, MarkMonitor, Cloudflare). Configure multi-party authorization for unlocking, so no single individual can approve changes. Use role-based contacts, not personal emails. Enforce phishing-resistant MFA. And set auto-renewal with a multi-year buffer. These controls have been around for many years. They are just underused.
6
134
You can easily check this for your own domains. Do a whois lookup and check the domain status fields. Statuses starting with "client" (e.g. clientTransferProhibited) are set by the registrar and can be removed by the registrar. Statuses starting with "server" (serverDeleteProhibited, serverTransferProhibited, serverUpdateProhibited) are set by the registry and can only be removed through the out-of-band process described above.
1
4
112
Locking down our business-critical domains was one of the first things I did when I joined @framer 7 years ago. To unlock any of our registry-locked domains, our registrar has to contact each designated representative at our organization by phone and verify a pre-agreed passphrase. Then the registrar goes through a separate verification with the registry operator. No single individual can authorize a domain update, transfer, or deletion on their own.
1
3
51
Most reputable registrars apply a "registrar lock" by default (clientTransferProhibited). This blocks domain transfers unless explicitly removed. The thing is that if the registrar itself or your registrar account gets compromised, an attacker could simply remove the lock. A "registry lock" is different, and much stronger. It sets statuses (serverDeleteProhibited, serverTransferProhibited, serverUpdateProhibited) that not even the registrar itself can override. Removing it requires out-of-band verification between the registrar and the registry operator (e.g. Verisign for .com), through phone calls, pre-agreed passphrases, and identity verification. It is slow and manual by design.
1
4
89
Domain registrars control the nameserver delegation for your domain. That delegation is what makes your product, APIs, email, and everything else reachable. If someone compromises your registrar account, they can transfer or delete the domain, update contact handles, or modify the nameservers. We have seen this play out time and again. In 2024, Squarespace migrated millions of domains from Google Domains. A weakness in their OAuth login flow allowed attackers to compromise accounts and hijack domains.
1
2
194
Domain registrars may be one of the most overlooked single points of failure in our stack. We spend serious time and resources securing our cloud infrastructure and workloads, but our domain registrars rarely get the same level of scrutiny. Even though our domains underpin everything we operate. 🧵
1
3
14
385
Koen Rouwhorst retweeted
We're looking for a new batch of beta testers for Framer with Claude / Codex. If we missed you the first time, feel free to enter again. xitter.cf/koenbok/status/2037107…
23
15
3
101
13,108
Shipping a pallet from across the planet into Amazon's network: $2,400. Moving it to a FedEx warehouse across the street: $132,000 in egress fees.
1
346
What if Y Combinator built GitHub?
what if palantir built github
1
1
1
28
3,903