Nightfall vs Arcjet: how do they differ?
Nightfall is a data loss prevention (DLP) platform that finds sensitive data, including protected health information (PHI), in SaaS apps such as Slack and Google Drive, on employee laptops and browsers, in ChatGPT, and in coding-agent hooks, then blocks, redacts, or quarantines it. Arcjet is an AI agent runtime security platform that decides whether an agent's action can go ahead, in your code and in coding-agent hooks.
The two products overlap on one question: whether a prompt carries PHI. Nightfall follows the data wherever it moves. Arcjet evaluates the action an agent is about to take, using policies that read the tool call, the prompt, the destination, and context that your own code supplies. Choose Nightfall to scan SaaS apps, files, and images, or to control what employees paste into chat assistants. Choose Arcjet for policy as code on the tool calls of agents you build and of coding agents, including threat checks on the hosts they connect to. If you have both problems, run both.
Arcjet publishes this comparison. Competitor details come from Nightfall's public documentation at nightfall.ai and help.nightfall.ai, checked on November 6, 2026. Products change, so check the linked sources before you decide. This page is technical guidance, not legal advice.
What is Nightfall?
Nightfall is a DLP vendor whose platform groups five products: AI Security, Data Exfiltration Prevention, Data Discovery & Classification, an Insider Risk Agent, and Nyx, an assistant that triages alerts. DLP is software that recognizes sensitive data and stops it from reaching places it shouldn't go. Nightfall's healthcare page positions it as a replacement for Symantec, Forcepoint, and Microsoft Purview DLP.
For SaaS and email, Nightfall's healthcare page lists 12 apps, among them Slack, Microsoft Teams, Jira, Salesforce, Google Drive, and Gmail. Remediation depends on the app. In Slack Enterprise, Nightfall can delete a message or file, quarantine it for an administrator to accept or reject, or redact it, leaving only the first two characters of the sensitive value visible. Redaction in Slack works on messages, not on files or images.
On laptops, Nightfall runs an endpoint agent for macOS and Windows that you install manually or through MDM, alongside a browser extension. Policies trigger on browser uploads, clipboard paste, removable media, git push, and other transfers. The clipboard trigger runs optical character recognition (OCR) on copied screenshots and images, and Nightfall's own example is an API key pasted into ChatGPT. For AI apps, Nightfall's AI applications page names ChatGPT, Microsoft Copilot, Gemini, Claude, and others, and describes redaction before a prompt is submitted and coaching messages for employees.
For developers, the Firewall for AI APIs scan text and files, including images through OCR, and return findings with a likelihood and location. The API can redact, substitute, or encrypt what it finds. Nightfall ships SDKs for Java, Python, Go, and Node.js, and the developer platform has a free plan of 3 GB scanned per month.
The main platform is priced annually per user in Foundation and Premier editions, with no public price and a proof of value in place of a self-serve trial.
How does Nightfall detect PHI in ChatGPT and SaaS apps?
Nightfall's PHI detector flags text only when it finds an identifier and a health indicator together. The identifier can be a Social Security number, a Medicare Beneficiary Identifier, a health insurance claim number, a device identifier, or a name paired with a date of birth or street address. The health indicator can be an ICD-10 code or description, a National Provider Identifier, or an FDA drug name or code.
PHI is health information that can be linked to a specific person. Nightfall's detector encodes that pairing of identifier and health data. Under its rule, a discharge summary pasted into a chat assistant, with a patient's name, date of birth, and a diagnosis code, matches. A name on its own doesn't. Each match is graded Very Likely or Likely, and the developer documentation says PHI detectors work in policies and inline detection rules like any other detector.
Nightfall's file type FAQ says images are scanned with OCR and archives are unpacked, up to 1 GB per file, with audio and video unsupported. The detector glossary includes a classifier for patient data files but doesn't list a medical record number detector, which you can add as a custom regular expression or prompt-based detector.
What is Arcjet?
Arcjet is an AI agent runtime security platform. It discovers the agents running in your organization, enforces policy on each action, prompt, and tool call, and keeps the evidence of what happened. It enforces in the path of the action, in your code or in the agent's hook, not on the network and not inside SaaS apps.
For agents and applications you build, the JavaScript, TypeScript, Python, and Go SDKs provide guard() for tool calls and protect() for HTTP routes. A Guard policy is a set of rules written in Rego, a policy language from the Open Policy Agent project, or assembled in a visual builder. You run it in dry run, which logs what it would have denied, and then publish it from the Arcjet Console. Policies can call detectors, checks that Arcjet runs on an input, for prompt injection, sensitive information, and IP threat intelligence.
For coding agents, Claude Code, GitHub Copilot, Cursor, OpenAI Codex, and Muse Code call Arcjet from the hooks they already fire. A hook is a point where the agent reports an event, such as a prompt or a tool call, and waits for an answer. One policy applies across all five agents, installed through managed settings so developers can't remove it without admin access.
Arcjet's PHI detection covers 25 entity types, including MEDICAL_RECORD_NUMBER, HEALTH_PLAN_BENEFICIARY_NUMBER, and DEVICE_IDENTIFIER. Identifiers with no fixed format, such as a medical record number (MRN) or a member ID, are recognized from a label next to the value. Arcjet detects identifiers. It doesn't decide whether the surrounding text is health information, and it doesn't redact or de-identify anything.
How do Nightfall and Arcjet compare?
Nightfall covers more places where data moves, and Arcjet covers more of what an agent does. The following table compares the two across 11 areas, based on each vendor's documentation.
| Area | Nightfall | Arcjet |
|---|---|---|
| Primary focus | Sensitive data wherever it moves: SaaS, email, endpoints, AI apps, and agents | Allow or deny decisions on agent actions, prompts, and tool calls |
| SaaS apps | Slack, Google Drive, Jira, Salesforce, and more, with delete, quarantine, and redact actions | Not covered |
| Employee browser AI use | Browser extension and endpoint agent inspect prompts, uploads, and paste, with redaction and coaching | Discovery records which AI services people reach from which app. No prompt inspection |
| Files and images | OCR on images, archives unpacked, document classifiers | Text inputs only |
| PHI logic | Identifier plus a health indicator such as an ICD-10 code or drug name | 25 identifier types, including MRN and health plan beneficiary number. No health-context logic |
| Coding agents | Claude Code, Cursor, and VS Code Copilot hooks through the Nightfall agent; Inference Hooks for Claude Enterprise | Claude Code, Copilot CLI and cloud agent, Cursor, OpenAI Codex, and Muse Code hooks, with no endpoint agent |
| Agents you build | Scan API returns findings, and your code decides what to do |
|
| Policy model | Detection rules, scope, and, for AI agent policies, one Block or Monitor action per policy | Rego or a visual builder, per-rule dry run, inputs from your code |
| Destinations | Domain collections you define, and an approved list of MCP servers | Allowlists plus threat intelligence scoring of each destination host |
| Redaction | Redact in Slack messages, browser prompts, and the scan API | None for PHI. The separate redact library redacts email, phone, IP address, and card numbers, plus custom entities that you detect |
| BAA | Nightfall says it signs BAAs | For Enterprise customers whose use involves PHI |
How do Nightfall and Arcjet handle coding agents?
Both products use the hooks that coding agents fire, so this is the area with the most overlap. Nightfall's hooks need its endpoint agent and an MDM rollout. Arcjet's hooks post each event to Arcjet directly and also reach cloud sessions. Nightfall can withhold an MCP tool's output from the model. Arcjet can't block a tool result and flags the session instead.
Nightfall's guide to choosing a control describes four layers. IDE hooks block a prompt, an MCP tool call, a shell command, or a file read before it runs on Claude Code, Cursor, and VS Code Copilot, and the hook table also lists OpenAI Codex CLI. Inference Hooks check Claude Enterprise prompts before the model runs, and the Compliance API reads stored chats afterward. The MCP Gateway blocks remote MCP servers and disables tools but, by Nightfall's account, doesn't scan content yet.
Coverage differs by agent. Nightfall supports VS Code with GitHub Copilot. Arcjet's Copilot coverage is the Copilot CLI and the cloud coding agent, because VS Code agent hooks don't support the HTTP hook type, and Arcjet also covers Muse Code.
Both products face the same limit with tool results: the hook fires after the tool ran. Nightfall can still replace an MCP tool's output on Claude Code, Cursor, and Codex so the model never reads it, while shell output on Claude Code is monitor only. Arcjet can't withhold a tool result. With session analysis, Arcjet screens the result and flags the session. For example, if the detector's deny list includes the PHI types, a coding agent that reads a fixture file of real patient rows trips a sensitive_data_exposure flag, and the starter policy then refuses the agent's web and MCP calls, the ones that could send data out. The read itself has already happened.
The policy model is where the two differ most. A Nightfall AI agent policy selects hook types, an MCP server scope, optional shell command patterns, and detection rules, then sets one action, Block or Monitor, for the whole policy. An Arcjet coding agent policy is Rego over a fixed set of inputs, including the shell command, file paths, domains, the MCP server, the prompt, and the model. Arcjet maps each agent's tool names to one tool kind, so a rule such as "deny writes to CI configuration" reads the same on every agent.
To keep PHI out of a developer's prompt in Arcjet, add MEDICAL_RECORD_NUMBER and the other PHI types to the deny list of the coding-agent.sensitive-info starter policy. GitHub Copilot records a prompt denial but doesn't apply it. For more information, see HIPAA controls for coding agents.
How do Nightfall and Arcjet protect agents you build?
Nightfall gives you a scan API that returns findings, and your code decides what to do with them. Arcjet gives you guard(), which sends inputs to a published policy and returns allow or deny. The difference matters when the decision depends on more than the content, such as whether a message leaves your organization.
Take an agent that sends a referral note to an outside provider. With Nightfall, you scan the note, read the findings, and write the logic that blocks, redacts, or sends. With Arcjet, the security team owns that logic as a policy, and your code supplies the facts:
import { launchArcjet, policyInput } from "@arcjet/guard";
const arcjet = launchArcjet({ key: process.env.ARCJET_KEY! });
const decision = await arcjet.guard({ label: "notes.send", // selects the published policy with this label actor: userId, inputs: { note: policyInput.server.string(note), external: policyInput.server.boolean(isExternal), },});
if (decision.conclusion === "DENY" || decision.hasFailedOpen()) { // refuse the tool call}The policy behind the notes.send label can deny a note that carries a PHI identifier, or deny any listed identifier only when external is true. You change the rule in the Console without redeploying. The direct guard() call fails open on an error, so the example also refuses when hasFailedOpen() is true.
Arcjet stores server policy inputs with each decision, except values the sensitive information detector flags, for which it keeps only the entity type and position. Nightfall's redaction is the stronger fit when the note must go out with identifiers removed, because Arcjet blocks or routes for review and doesn't rewrite text. For more information, see PHI detection for AI agents.
Do Nightfall and Arcjet sign a BAA for HIPAA?
Both vendors offer a business associate agreement. Nightfall's healthcare page says "Nightfall signs BAAs." Arcjet enters into a BAA with Enterprise customers whose use of Arcjet involves PHI, and both parties must sign it before any PHI is processed through Arcjet. A signed BAA doesn't make your system compliant, and neither product does on its own.
Under HIPAA, a covered entity is a health plan, a healthcare clearinghouse, or a healthcare provider that conducts certain transactions, such as billing, electronically. A business associate is a vendor that handles PHI on a covered entity's behalf. The Privacy Rule requires a BAA with each business associate (45 CFR 164.502(e) and 164.504(e)). Using either tool for PHI without one may leave your organization out of compliance.
Nightfall lists the HIPAA Privacy and Security Rules among the frameworks it supports. Arcjet supports HIPAA compliance, offers a HIPAA-compliant environment, and holds a SOC 2 Type 2 report covering Security, Availability, and Confidentiality, available in the Arcjet Trust Center. Neither detection approach de-identifies data under the Safe Harbor method in 45 CFR 164.514(b). For more information, see HIPAA compliance for AI agents.
Which fits: Nightfall, Arcjet, or both?
Choose Nightfall when the risk is PHI moving through SaaS apps, files, images, and employee browsers. Choose Arcjet when the risk is what agents do, in your code and in coding agents. Run both when you have both problems.
Nightfall fits when any of the following apply:
- You need to find and remediate PHI already in Slack, Google Drive, Jira, or Salesforce.
- You use GitHub Copilot inside VS Code.
- You need OCR on screenshots, scanned forms, and image uploads.
- You want to redact or coach when an employee pastes a patient record into ChatGPT, Gemini, or Copilot.
- You want PHI matches that require a health indicator, such as an ICD-10 code.
Arcjet fits when any of the following apply:
- You build agents and need a deny before a tool call sends, writes, or fetches, based on your application's context.
- You want one policy across Claude Code, Copilot CLI, Cursor, OpenAI Codex, and Muse Code, including cloud sessions, without an endpoint agent.
- You want rules written as Rego and tested in dry run before they go live.
- You need threat checks on where an agent connects, not only on what it sends. For more information, see AI agent threat detection.
In a combined setup, Nightfall covers SaaS apps, endpoints, and employee AI use, and Arcjet covers the agents you build and coding-agent tool calls. If both install hooks on the same coding agent, either can deny an action, so assign each check to one product and test the pair in Monitor mode and dry run first.
What are the alternatives to Nightfall?
Alternatives to Nightfall fall into three groups: traditional DLP suites, AI usage controls, and enforcement on agent actions. Nightfall's healthcare page names Symantec, Forcepoint, and Microsoft Purview DLP as the suites it replaces. The following products overlap with Nightfall on the AI side:
- Arcjet: allow or deny decisions on agent tool calls and coding-agent hooks, with PHI identifier detection and destination threat analysis.
- Prompt Security (SentinelOne): browser extensions, a lightweight agent, an MCP gateway, and an API that redact sensitive data in employee and application AI use. See also SentinelOne vs Arcjet.
- Datadog AI Guard: an evaluator your services call through the Datadog tracer, with policy set in Datadog.
For more comparisons, see PHI detection tools compared, guardrails for healthcare AI, and the AI agent security platform category map.
Frequently asked questions
What is the difference between Nightfall and Arcjet?
Nightfall is a data loss prevention platform that follows sensitive data, including PHI, through SaaS apps, email, endpoints, browsers, AI apps, and coding-agent hooks, and blocks, redacts, or quarantines it. Arcjet decides whether an agent's action can go ahead, using Rego policies in your code and in coding-agent hooks that read the tool call, the prompt, the destination, and context your application supplies.
Does Nightfall detect PHI in ChatGPT prompts?
Yes, according to Nightfall's documentation. Its browser extension and endpoint agent inspect prompts, uploads, and clipboard paste for AI apps such as ChatGPT, and can redact before a prompt is submitted. Its PHI detector flags text when an identifier, such as a Social Security number or a name with a date of birth, appears with a health indicator such as an ICD-10 code or FDA drug name.
Can Nightfall and Arcjet both control coding agents?
Yes. Nightfall installs hooks for Claude Code, Cursor, and VS Code Copilot through its endpoint agent and MDM, and can withhold an MCP tool's output from the model. Arcjet's hooks cover Claude Code, the Copilot CLI and cloud coding agent, Cursor, OpenAI Codex, and Muse Code without an endpoint agent, with Rego policies and destination threat checks. Arcjet can't block a tool result; it flags the session and refuses the risky calls that follow.
Do Nightfall and Arcjet sign a BAA?
Nightfall's healthcare page says Nightfall signs BAAs. Arcjet enters into a BAA with Enterprise customers whose use of Arcjet involves PHI, and both parties must sign it before any PHI is processed. A BAA doesn't make a system HIPAA compliant on its own, and neither product de-identifies data.
Is Arcjet an alternative to Nightfall?
Partly. Arcjet replaces Nightfall for policy on agent tool calls and coding-agent prompts, including PHI identifier detection. It doesn't scan SaaS apps, files, or images, doesn't inspect employee browser prompts, and doesn't redact PHI. Teams that need both kinds of control can run Nightfall for data in SaaS and browsers and Arcjet for agent actions.
AI runtime security in your code
Protect your AI agent workflows with Arcjet
Arcjet runs inside your application, where it can use runtime context to enforce agent actions and budgets, detect prompt injection, and protect sensitive information before a workflow acts.