Introducing Socket Firewall: Free, Proactive Protection for Your Software Supply Chain.Learn More
Socket
Book a DemoInstallSign in
Socket

@arcjet/astro

Package Overview
Dependencies
Maintainers
3
Versions
12
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@arcjet/astro

Arcjet helps developers protect their Astro sites in just a few lines of code. Bot detection. Rate limiting. Email validation. Attack protection. Data redaction. A developer-first approach to security.

latest
Source
npmnpm
Version
1.0.0-beta.13
Version published
Weekly downloads
89
-82.68%
Maintainers
3
Weekly downloads
 
Created
Source
Arcjet Logo

@arcjet/astro

npm badge

Arcjet helps developers protect their apps in just a few lines of code. Implement rate limiting, bot protection, email verification, and defense against common attacks.

This is the Arcjet SDK integration for Astro.

Getting started

Visit the quick start guide to get started.

Example app

Try an Arcjet protected app live at https://example.arcjet.com (source code).

What is this?

This is our adapter to integrate Arcjet into Astro. Arcjet helps you secure your Astro website. This package exists so that we can provide the best possible experience to Astro users.

When should I use this?

You can use this if you are using Astro. See our Get started guide for other supported frameworks.

Install

This package is ESM only. Install with npm and the Astro CLI in Node.js:

npx astro add @arcjet/astro

Use

Configure Arcjet in astro.config.mjs:

import arcjet, { shield } from "@arcjet/astro";
import { defineConfig } from "astro/config";

export default defineConfig({
  // We recommend setting
  // [`validateSecrets`](https://docs.astro.build/en/reference/configuration-reference/#envvalidatesecrets).
  env: { validateSecrets: true },
  integrations: [
    arcjet({
      rules: [
        // Shield protects your app from common attacks.
        // Use `DRY_RUN` instead of `LIVE` to only log.
        shield({ mode: "LIVE" }),
      ],
    }),
  ],
});

…then use Arcjet in on-demand routes (such as src/pages/api.json.ts):

import type { APIRoute } from "astro";
import aj from "arcjet:client";

export const GET: APIRoute = async ({ request }) => {
  const decision = await aj.protect(request);

  if (decision.isDenied()) {
    return Response.json({ message: "Forbidden" }, { status: 403 });
  }

  return Response.json({ message: "Hello world" });
};

For more on how to configure Arcjet with Astro and how to protect Astro, see the Arcjet Astro SDK reference on our website.

License

Apache License, Version 2.0 © Arcjet Labs, Inc.

Keywords

analyze

FAQs

Package last updated on 07 Oct 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts