Security with Scala: Refined Types and Object Capabilities

by · Jun 20, 2018 · 583 views ·

A key part of preventing attacks is rejecting invalid input early, and ensuring that users have appropriate access. This talk will discuss how to use Scala's features to provide strong, type-safe security with type refinement and object capability patterns. Using refinement types, we can go from "stringly-typed" validation code to "strongly-typed" code. And with object capabilities, we can provide fine-grained authorization to resources, including modulating access with revocation, per-instance delegation, and ensuring secure transit with sealers/unsealers, with just a few lines of Scala.