๐Ÿธ Torvex
๏ผ‹ Add to server Pricing Docs
Torvex Forerunner ยท Security

Most bots tell you a raid happened.
This one was already awake.

Six sensors watching one server: who came in, what they brought, what they clicked, what they deleted, and who they've been before. Not a wall of alerts โ€” a case file, assembled while it was happening, waiting for you when you get to it.

Every Discord server that gets big enough attracts the same three problems, in the same order. Someone who was banned comes back. Someone posts a link that steals accounts. And eventually someone gets a role they shouldn't have and starts deleting channels.

The tooling that exists for this is mostly built around a bet that alt accounts can be caught by IP address. They can't โ€” not reliably. A household shares one. A school shares one. Mobile carriers put thousands of strangers behind a single address. Bet your moderation on it and you don't get a raid-proof server, you get a steady trickle of false accusations against siblings and roommates, and a mod team that stops trusting the tool.

So this was built the other way around: catch the device, treat the connection as the weak evidence it is, and make being wrong cost nothing.

What's running today

It knows the device, not just the IP

Verification produces a device and connection fingerprint โ€” the part that survives a new IP, a VPN, and a fresh email address. Behind every verdict is two months of false-positive calibration: renderer and audio hard caps, discounting for the Apple-generic profiles that make unrelated iPhones look identical, JA4 fingerprinting, geo-corroboration, and a device-versus-connection blend tuned against a pile of cases that turned out to be wrong.

That last part is the actual work. Anyone can ship a matcher. The value is in the two months of finding out what it gets wrong โ€” and one of the calibration passes retroactively cleared 25 members who had been flagged as spoofers and weren't.

Being wrong costs nothing

A flagged member is held, not banned. Their roles are snapshotted on the way in and restored exactly on release โ€” every role, in order, including any another bot handed them while they waited. One click and it's as if nothing happened.

Contrast the usual model: a tool reports a match and leaves you to ban. Reversing that means rebuilding someone's roles from memory and apologising. Reversibility isn't a nicety here, it's what makes it safe to act on a signal that is sometimes wrong โ€” and every signal is sometimes wrong.

The link that steals accounts, deleted before anyone clicks it

114 known IP-grabber and canary domains, matched on three vectors Discord's own AutoMod cannot see: raw text, markdown-masked links โ€” [cute cat](grabber.link), where the visible text is innocent โ€” and the unfurled embed, including the origin domain hidden inside Discord's own image proxy URL.

It runs in shadow mode first, so you can watch what it would have caught for a week before it acts on a single person.

A nuke takes about four seconds

Mass channel and role deletion, mass bans, webhook abuse and permission grabs are caught on rate, attributed to the executor from the audit log rather than guessed at. Granting anyone a role carrying Administrator is reverted instantly โ€” only the owner and the bot may do that, whitelist or not, because there is no legitimate slow version of that action.

When a mass ban does land, the victims are un-banned automatically and handed a recovery invite. Cleaning up afterwards is part of the feature, not your evening.

Deleted doesn't mean gone

Discord's audit log will tell you a message was deleted. It will never tell you what it said. Every server on the bot gets a 24-hour recovery window, free: deleted and edited messages come back with their images, attributed to whoever removed them โ€” the author, a moderator, or a ban's delete-days cascade. Bulk deletes arrive as a chronological transcript you can actually read.

A record your whole team can read

/warn tells the member what they did, tells your mods which warning it is for that member โ€” not a database id, the number a human reasons with โ€” and posts it where the behaviour happened. Evidence attached to a warning is stored as bytes plus a SHA-256 hash, never as a Discord link: CDN URLs expire within a day, so a saved link is dead evidence exactly when you need it.

Positive notes share the same timeline as warnings, because a member's recent good conduct should speak as loudly as an old incident. Clearing an entry is a soft delete that records who cleared it and why โ€” a moderator wiping a record leaves their own trail.

The identity ledger

Every name, nickname, avatar and timeout a member has ever had, in plain searchable rows. Avatars are kept as actual bytes, because a CDN picture dies with the account and a reused profile picture is one of the strongest cheap alt signals there is.

This exists because an investigation once stalled completely: the only surviving record of a deleted account's names lived inside another bot's embeds, and no query can read an embed.

A door only a bad actor opens

A honeypot channel that nobody legitimate ever posts in. Anyone who does has been scraping your channel list, and you choose what happens to them. The same idea watches the verification gate itself for reconnaissance. And members who never finish verifying are pruned after 72 hours, so a holding pen never quietly becomes a foothold.

A written second opinion on every flagged case early access

Not a score: an argument. What the evidence actually shows, what argues against it, and a recommendation โ€” posted into your security log before your mods decide. Deeper tiers run it adversarially: one pass argues the case, one tries to demolish it, a third rules between them. It drafts; your mods decide.

It reasons about the case and is never given anyone's identity or raw data. Not "instructed not to share" โ€” never given it. It cannot leak what it never received, which is what makes it safe to hand a written verdict to a mod team we've never met. Switched on per server โ€” the Packages board has the tiers.

You don't have to rip out what you have

Most servers worth protecting already run something. The bot joins at whatever depth you're comfortable with, and you can stop at any rung.

Observe
It cannot touch a member. At all. No holds, no role changes, no DMs โ€” it watches joins and reports what it sees to your mod-log. Keep carl-bot, keep your whole setup, and read two weeks of "here's what we would have caught" before you decide anything.
Assist
Your existing verification stays the front door. We screen after their grant and hold only on a fail โ€” a second lock, not a new door. Partner verification roles are never stripped, so nobody ends up stuck between two systems.
Gate
Full quarantine on join: nobody sees the server until they're through. The raid-proof setting, and the one the Torvex community runs on itself.

What's coming

Stated honestly, because early adopters are the people who get to shape it โ€” and who'll have it before anyone else.

The review panel in build

Every case pre-assembled: each signal with a reliability class โ€” "device: strong, rare fingerprint" against "connection: weak, CGNAT, the same class as 25 prior false accusations" โ€” plus a recommendation and precedents: three earlier cases with this exact shape, all three overturned.

Your decisions feed back in. Overturn a match and that link stops counting everywhere, and the pattern that produced it gets down-weighted for everyone. The calibration stops being one person's accumulated instinct and starts being something the system holds.

Your Discord server, in your SIEM in build

A normalized security event feed โ€” every sensor, every verdict, every hold and release โ€” over webhook or syslog, with a Wazuh ruleset to match. Next to your SSH logs, your web logs, your game servers.

If you run a network with actual infrastructure, you already know Discord is the one component you've never been able to get into it.

A network that sharpens the detector โ€” not a blacklist in build

Every server that joins makes accuracy better for all of them: a fingerprint seen across many servers is provably generic before it ever causes a false match in yours. That's the entire point of the network โ€” precision, not a shared punishment list. Which brings us to the part that matters most.

Three lines we won't cross

What happens in another server never punishes anyone in yours

Someone banned somewhere else walks into your server and passes, unless your ban list says otherwise. Their history elsewhere isn't your problem and isn't our call to make on your behalf. Only your bans, your members and your join patterns can trigger anything here.

And having an alt is not an offence. Half of Discord has a second account. Tooling that treats "this person has another account" as grounds for punishment is the reason people distrust alt detection, and we're not shipping it.

You'll never be told where else someone hangs out

Not at any tier, not for any price. A match inside your server is named in full, because that's your own history and you're entitled to it. A person's other communities are theirs. There is no upgrade that unlocks that, because the moment it exists the product is a people-tracker.

The accused get a real appeal

A held member is told what happened and how to contest it, and your moderators can release them on the spot without asking us for anything. Nobody's access sits in someone else's support queue.

We're looking for early adopters

If you run a server that has actually been hit โ€” raids, a nuker, an evader you could never pin down, a phishing link that took someone's account โ€” that's the server this gets sharpest against, and yours is the feedback worth having.

Start in observe mode, where it cannot do anything to anyone, and see what it finds in a fortnight. If it's not telling you things you didn't know, you've lost nothing.

Add the bot โ€” free Talk to us first Command reference