How Arcjet approaches open source
How we think about open source licensing, releasing open source projects, forks, and contributing upstream.
Arcjet’s mission is to help developers and security teams build with confidence, no matter where they work or what frameworks they choose. As
Arcjet’s mission is to help developers and security teams build with confidence, no matter where they work or what frameworks they choose. As the web evolves, you need tools that fit the way you already develop. That’s why we’re building native integrations into common web frameworks to reduce friction and make strong security easier to adopt. This month we’ve added Nuxt and React Router SDKs.
@arcjet/nuxt With the release of the new @arcjet/nuxt SDK, Arcjet can now be integrated directly into Nuxt applications. If you’re using Nuxt, you’ve likely chosen it for its performance, great developer experience, and flexibility. Now Arcjet lets you maintain high security standards without sacrificing the speed or experience that make Nuxt attractive in the first place.
Before this release, Nuxt developers had to integrate a disparate set of security controls manually, which created complexity and delayed implementation. We heard from developers who wanted first-class Nuxt support and from security teams eager to standardize Arcjet across more of their stacks.
This new SDK is part of Arcjet’s larger goal: reduce barriers to adopting strong security practices and make secure-by-default development practical for every team. By building native support, we remove the extra work and risk that can slow down or compromise adoption.
@arcjet/nuxt SDK removes guesswork and helps you avoid the setup mistakes that come with bolting on security manually. You start with secure defaults and can ship to production faster.The @arcjet/nuxt integrates directly with a Nuxt app’s config, so adding security feels like adding any other Nuxt Module. Install the package, set your Arcjet site key, and define the protections you need like rate limiting, bot detection, and signup form spam protection.
From there, you apply protection with @arcjet.protect() on each request, ensuring policies are enforced where your app handles logic. Arcjet makes decisions in real time, caching safe results for speed and failing open if something goes wrong, so security doesn’t slow down development or risk breaking the user experience.
Because the SDK is built for Nuxt, you don’t have to learn a new security model or restructure your app. It fits into the Nuxt way of building, using the same config patterns and server utilities you already know. Security becomes part of the framework instead of on a network that sees packets, not users or business context.
@arcjet/react-router We’re introducing a native integration for React Router, enabling teams building client-focused, server-aware apps to adopt Arcjet with minimal effort. As with our Nuxt SDK, it’s built to feel idiomatic to the framework, with secure defaults and an API that fits naturally into existing workflows.
As the Remix ecosystem shifted last year with React Router v7, we’ve ensured Arcjet keeps pace. With this SDK, Arcjet fits cleanly into React Router apps, preserving the same secure defaults and policy model we’ve offered for Remix, so protection evolves alongside the frameworks you rely on.
@arcjet/react-router is ESM only and supports React Router 7 or later. You configure Arcjet once, then call arcjet.protect() inside a loader or action to evaluate each request. Decisions are returned synchronously with helpful reason codes. Results are cached for performance and the system fails open if evaluation is unavailable.
You shouldn’t have to rethink your stack just to add security. As frameworks evolve, your security tools should evolve with them, living inside your routing, loaders, and config, not tacked on after deployment. Nuxt and React Router are part of that commitment: giving you native integrations that work the way you already build.
We’re continuing to expand Arcjet’s framework support so developers don’t have to choose between velocity and protection. Check out the docs to Install the Nuxt or React Router SDK and bring secure defaults to your app with tools that fit your workflow, not the other way around.
How we think about open source licensing, releasing open source projects, forks, and contributing upstream.
How do you design a security product for developers when they allegedly don't care about security?
How we implement different layers to secure our developer laptops & environments: Devcontainers, outbound firewall, macOS Transparency Consent and Control framework, and SSH agent for Git keys.
Get the full posts by email every week.