Skip to main content
The Tuteliq Roblox module is a pure Luau library that monitors in-game chat for grooming, bullying, and unsafe content via the Tuteliq API. Drop it into any experience and start protecting players with two lines of code.

Landing Page

Features overview and pricing

GitHub

Source code and releases

Wally

Install via Wally registry

.rbxm Download

Download the latest model file

Installation

Add to your wally.toml:
Then run:

Rojo model file

Download TuteliqSafety.rbxm from the latest GitHub release and insert it into ServerScriptService in Roblox Studio.

Roblox Creator Store

Search for TuteliqSafety in the Creator Marketplace toolbox inside Roblox Studio, then insert the model into ServerScriptService.

Manual

Copy the TuteliqSafety/ folder into ServerScriptService in Roblox Studio.

Prerequisites

  • Enable HTTP Requests — In Roblox Studio go to Game Settings → Security → Allow HTTP Requests and turn it on.
  • Get an API key — Sign up at tuteliq.ai and create a key starting with tq_.

Quick start

Create a Script in ServerScriptService:
Never hardcode API keys in production. Use Roblox Secrets Store or a server-side configuration service to load keys at runtime.

How it works

Every chat message goes through a three-stage pipeline:
  1. Crisis keywords — Phrases like “kill myself” or “send me pictures” trigger an immediate API call to /safety/unsafe for instant analysis.
  2. Grooming buffer — Messages are accumulated per channel. When the buffer reaches 5+ messages from 2+ unique senders, a conversation analysis is sent to /safety/grooming.
  3. Batch queue — All other messages are batched (25 per request or every 5 seconds) and sent to /batch/analyze for efficient bullying and unsafe content detection.
When a threat is detected above your sensitivity threshold, the module takes automatic actions based on severity:

Listen for detections

Connect to the TuteliqAlert BindableEvent to build custom admin UI or notifications:

Integrate muting with your chat system

Muted players have the attribute TuteliqMuted set to true. Use this to filter messages in your chat UI:

Manual analysis

Analyze a specific message on demand, bypassing the batch queue:
analyzeNow does not support grooming detection directly. Grooming requires conversation context, which is handled automatically by the conversation buffer.

Configuration

Sensitivity levels

API

Architecture

Rate limiting

The module uses a token bucket rate limiter defaulting to 400 requests per minute. This is conservative and leaves room for your game’s other HTTP calls. Roblox enforces a global limit of 500 HTTP requests per minute per server. Batch processing lets you analyze up to ~10,000 messages per minute within this budget.

Next steps

API Reference

Explore the full API specification.

Unity SDK

See the Unity SDK guide for C# game integration.