---
title: "Whitelisting"
description: "Temporarily exempt one player from one detection, without weakening protection for everyone else."
---

> Documentation Index
> Fetch the complete documentation index at: https://docs.asphyxia.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Whitelisting

Sometimes a detection fires on someone who isn't cheating. A developer testing
noclip. A scripted cutscene that looks like godmode. A stunt event where
vehicles do things vehicles shouldn't.

The wrong fix is to turn the detection off — that leaves everyone unprotected
to accommodate one person. Whitelisting is the right one: it exempts **one
player** from **one detection** for **a limited time**.

## What a whitelist is

Three things:

- **Who** — a specific player
- **What** — a named detection, or `*` for all of them
- **How long** — a fixed duration, or until the resource restarts

While it's active, that detection is skipped for that player. Everyone else is
unaffected, and every other detection still applies to them.

## Whitelists never persist

Whitelists live in memory only. They are never written to your database, and
they disappear the moment the resource restarts.

That's a deliberate safety net. The dangerous failure mode for a feature like
this is a forgotten entry quietly leaving someone exempt forever. Here, the
worst case is that an exemption survives until your next restart.

## From the admin menu

Open `/asphyxia` and go to **Whitelists** (needs `whitelistPlayers`).

**Add whitelist** asks for three things:

1. **Player** — anyone currently connected
2. **Detection** — pick from the list, or *Every detection*
3. **Duration** — 15 minutes through 24 hours, or *Until the next restart*

The table shows every active entry with a live countdown. Remove one with the
bin icon.

## From the server console

```bash
# Exempt player 12 from noclip for 30 minutes
asphyxia whitelist 12 "No-Clip Detected" 30

# Exempt them from everything until the next restart
asphyxia whitelist 12 *

# Clear one exemption
asphyxia unwhitelist 12 "No-Clip Detected"

# Clear all of them
asphyxia unwhitelist 12

# See what's active
asphyxia whitelists
```

Detection names must match exactly — they're listed on
[Detections](/anticheat/detections), and the menu's picker avoids the typing.

## From another resource

```lua
-- Exempt from one detection for 10 minutes
exports.asphyxia:whitelistPlayer(source, "Vehicle Boost", 600)

-- Exempt from everything until restart
exports.asphyxia:whitelistPlayer(source, "*")

-- Check before doing something that would trip a detection
if not exports.asphyxia:isWhitelisted(source, "Godmode") then
exports.asphyxia:whitelistPlayer(source, "Godmode", 60)
end

-- Clean up early
exports.asphyxia:removeWhitelist(source, "Godmode")
```

This is the right tool for scripted content that legitimately does something a
detection watches for. Wrap the sequence in a short whitelist, then clear it:

```lua
RegisterNetEvent("myserver:cutsceneStart", function()
-- The cutscene makes the player briefly invulnerable.
exports.asphyxia:whitelistPlayer(source, "Godmode", 120)
end)

RegisterNetEvent("myserver:cutsceneEnd", function()
exports.asphyxia:removeWhitelist(source, "Godmode")
end)
```

Full signatures are on [Exports](/anticheat/exports).

## Using `*` responsibly

`*` exempts a player from **everything**, including bans for spawning
blacklisted models and for failed heartbeat verification. It's genuinely useful
while debugging, and genuinely dangerous otherwise.

Give it a duration whenever you can. An untimed `*` on a live server means one
account is completely unprotected until you next restart.

## Auditing

Every whitelist added or removed is written to your audit log with who did it,
who it applies to, which detection, and how long for. You'll find it on the
[Logs page](/website/logs) filtered to *Admin action*.

Source: https://docs.asphyxia.dev/anticheat/whitelisting/index.mdx
