Wyvern - Security by Design Alex Potanin, Victoria University of Wellington Jonathan Aldrich, Carnegie Mellon University The engineering properties of programs derive from their design. As programs grow in scale and complexity, ensuring compliance with the overall design intent becomes more critical yet also more difficult. The goal of the Wyvern programming language is to help programmers cleanly express and enforce design as an integral part of programming. Wyvern accomplishes this with a capability-safe object model that expresses design constraints constructively, a strong system of types and effects to enforce abstractions at both component and object scales, and an extensible syntax that can express designs in a variety of domains while preserving important security and modularity properties. Our talk will flesh out these design goals and demonstrate how the features of the language support them, while highlighting some research directions that have arisen from the language's goals.