It would be easier to build secure software if you couldn't write the vulnerabilities in the first place. At least, that's the idea with typestates - an approach to making dangerous code inexpressible. In this talk, we'll explore what typestates are, how to solve security problems with them, and explore examples of how they're making software, today, safer.