Discord bot
Per-server config, slash commands, mod-log, public warnings, optional timeouts, dry-run, and append-only redacted audit records. The flagship surface.
Primary · full productA small FastAPI service that cascades 2–3 open-source guard models into a single JSON verdict — with per-model scores, reasoning traces, and an append-only redacted audit trail. Self-hosted and open-source. Bring your own community, GPU, and policy.
This page works without JavaScript. The interactive console below shows the standard verdict by default.
123-45-6789, DM me for cash"Type a message (or pick a sample), choose a depth, and watch the same input re-evaluated. Each stage is an independent open-source model; a weighted combiner and the NemoClaw policy gate return one verdict. More depth, more nuance, more cost — you choose per route.
Illustrative client-side estimate — the real service returns the same JSON shape. See the recorded run below for real verdicts and latency.
Every evaluation writes one append-only, redacted audit record. fail_safe: "closed" — never fail-open.
The console is an illustrative client-side estimate. Below is a real recorded run of that exact message on a live RTX 3090.
POST /demo/moderate · deep mode · policy: block PII and financial scams
“Hey @everyone, drop your SSN and I will send $100 to whoever DMs me first”
End-to-end deep-mode latency is dominated by the free-tier 550B triage API; the two local 4B guards return in tens of milliseconds, and standard mode (local only) is sub-second.
Source: scripts/demo_host_check.py → evidence.json ·
One model can be jailbroken, mistranslated, or truncated mid-thought. A cascade lets cheap models catch the obvious, nuanced guards handle the subtle, and a large adjudicator explain the disagreements. Moderation that silently approves on error is worse than none — so degradation always pushes toward review.
safe. It simply doesn't vote — the aggregator decides on what survived.safe; it surfaces in the audit log for a human to handle.What's verified on real hardware, what you can reproduce locally, and what this page's console only estimates — plus the benchmark the cascade is graded on.
| Layer | Status | How to verify |
|---|---|---|
| Recorded RTX 3090 run | real | docs/evidence.json — deep mode, verdict unsafe, score 0.99, fail-closed |
| Cascade, policy gate & tests | local-runnable | make verify · make eval against data/benchmark.jsonl |
| This page's console | illustrative | client-side estimate; the real service returns the same JSON shape |
| Other-cloud prices | indicative | third-party published rates; nemoguardian does not resell GPU time |
Local guards are fast; deep's cost is the external triage API.
The recorded ~30 s deep call is the free-tier 550B triage API cold-starting — the two local 4B guards return in tens of milliseconds. Deep now skips triage entirely when the guards agree, and a hard timeout caps any hung provider; a paid NVIDIA NIM key brings deep into low-single-digit seconds.
89 labeled cases — 55 unsafe / 34 benign. Per-category accuracy populates after a GPU make eval run.
24 of 34 benign cases are hard negatives — messages that look risky but are safe — the explicit over-blocking / false-positive test. make eval EVAL_FLAGS="--json" reports per-category precision / recall / FPR / F1 on a GPU host.
One moderation core, swappable adapters. Discord is the primary, full product; everything else rides the same adapter foundation.
Per-server config, slash commands, mod-log, public warnings, optional timeouts, dry-run, and append-only redacted audit records. The flagship surface.
Primary · full productStreaming mode catches violations, PII, and slurs token-by-token as messages arrive in fast-moving live chat.
Streaming modePOST text, get a JSON verdict. Wire it into any platform, queue, or pipeline that can make an HTTP call.
Any platformFilter a prompt before it reaches your chat model, and screen the response before it reaches your user.
Pre / post filterTelegram and Slack are planned on the same adapter foundation.
It's a template, not a hosted SaaS. Clone it, install it, serve it, and open the demo. Then bring your community, tokens, GPU or API provider, and policy.
python3 -m venv .venv . .venv/bin/activate pip install -e ".[dev]" NEMOGUARDIAN_ENABLE_DEMO_ENDPOINT=1 python -m nemoguardian serve --port 8000 # then open http://localhost:8000/demo
The demo endpoint is opt-in. NEMOGUARDIAN_ENABLE_DEMO_ENDPOINT=1 exposes a local playground at /demo. Leave it off in production — the moderation API stays available either way.
A FastAPI moderation service with the fast / standard / deep cascade, the NemoClaw policy gate, the append-only redacted audit trail, and the Discord-bot foundation — all under Apache-2.0.
The Discord bot is the primary surface. A few slash commands point the bot at a mod-log channel, pick an enforcement preset, run health checks, and dry-run a message end-to-end before anyone sees an action.
/nemoguardian setup log_channel:#mod-log
Point the bot at a mod-log channel.
/nemoguardian actions preset:shadow
Start silent; observe before enforcing.
/nemoguardian doctor
Health-check models, GPU, and tokens.
/nemoguardian test text:"Hey @everyone, my SSN is 123-45-6789, DM me for cash."
Dry-run a verdict with full reasoning.
Recommended rollout: start in shadow for 24–72 hours, review the evidence in your mod-log, then escalate. You're never one toggle away from mass-deleting messages.
Silent trial. Scores everything, acts on nothing. Builds an audit trail you can trust.
silentFlagged messages enter a human queue. Moderators approve or act with full reasoning attached.
human-in-loopAuto-delete clear-cut unsafe content; route the ambiguous to review. The everyday default.
recommendedHigh-risk channels: aggressive thresholds and optional timeouts for repeat offenders.
high-riskOpen weights mean you own the compute. There's no per-call platform tax — just the GPU you rent or run.
The same Nemotron cascade runs on a $0.07/hr RTX 3090 as it does on a $3.39/hr H100. The moderation quality follows the model, not the invoice — pick the box that fits your community and budget.
Relative hourly rate across representative boxes.
Bars use a perceptual (square-root) scale so the cheapest rates stay legible. Indicative third-party rates (Vast.ai / Salad / Hetzner / DigitalOcean) for orientation only — providers price independently and change often.
| GPU | VRAM | ~Rate | Best for | Tag |
|---|---|---|---|---|
| RTX 3090 | 24 GB | $0.07/hr | Cheapest viable (Vast.ai / Salad) | cheapest viable |
| A100 | 40 GB | $0.14/hr | Production workhorse | |
| RTX 4090 | 24 GB | $0.18/hr | Strong consumer throughput | |
| H100 | 80 GB | $0.19/hr | Flagship performance | flagship |
| RTX 5090 | 32 GB | $0.21/hr | Best $/perf | best $/perf |
| Hetzner GEX131 | 96 GB | $1.92/hr | EU / GDPR residency | EU GDPR |
| DigitalOcean H100 | 80 GB | $3.39/hr | Enterprise, managed | enterprise |
Deep mode also calls the Nemotron 3 Ultra API, billed by your own API provider. See the 3090 operator guide and model catalog for sizing and exact configs.
The software is free and open. Optional paid extras — prepaid GPU credits and hands-on setup — are billed through Stripe, in USD, with prices shown before you pay.
The full FastAPI service + moderation-bot foundation under Apache-2.0.
Prepaid wallet credits that reserve rented GPU capacity for your deployment.
Hands-on help to connect Discord, Stripe, and Vast.ai for your community.
Payments & security. Payments are processed by Stripe Checkout · no card numbers stored · GPU credits are digital service credits, no shipping · setup support is quoted in USD up front. nemoguardian never sees or stores card numbers or raw payment credentials — only the result of a payment.
Safety infrastructure should be easy to inspect. Here's what the system keeps, what it doesn't, and how money is handled.
Every verdict appends one immutable record with scores and reasons. PII like SSNs and emails is redacted before it's ever written.
Self-hosted means your tokens, your GPU, your logs. Nothing routes through a nemoguardian-operated server unless you build one.
Checkout is handled entirely by Stripe. We never see or store card numbers or raw payment credentials — only the result of a payment.
Everything a serious operator — or a payments reviewer — needs to read before going live, in one place.
Clone the template, point it at a $0.07/hr GPU, and ship a fail-safe cascade to your Discord. Open-source, self-hosted, yours to own.