Skip to content

Pre-1.0: polyjose is not published yet, and its APIs may change before 1.0. Read the security policy before you rely on it.

polyjose

One JOSE implementation, every platform.

polyjose is being built as a pure-Rust implementation of JWS, JWE, JWK and JWT. One core, with bindings for Node.js, WebAssembly, Kotlin and Swift, is designed to give the same results, the same defaults and the same errors on every platform. Each binding is meant to pass the same conformance tests before 0.1.0 is released.

polyjose is designed around RFC 8725: verify and decrypt take an explicit list of allowed algorithms, none is never accepted, and keys are bound to their algorithm family. These pages explain what that protects against and what it doesn’t.