Roblox Sentinel
RobloxRoblox Sentinel is a Python library for detecting very rare kinds of harmful text, such as grooming, across a run of messages from one source rather than one message at a time. It compares each message with small sets of harmful and ordinary examples by embedding similarity, then combines the results for that source, by default with skewness, to surface candidates for human review. Roblox built it for its own chat moderation.
Sentinel installs from its repository and is not published to PyPI. The sentinel package there is an unrelated project.
Openness
5 high confidence- license
- Apache-2.0(OSI, the repository LICENSE and the pyproject license field)
- source
- public(the whole library installs from Roblox/Sentinel with pip install .)
- self-host
- yes(a local Python library, with Dockerfiles for GPU and CPU-only images)
- core features withheld
- no — the tree at 66c6985 carries one root Apache-2.0 LICENSE and no ee/, enterprise/, commercial/ or proprietary/ path. Roblox released it as part of its open-source safety toolkit and sells no edition of it
- service
- none
Sentinel is released under Apache 2.0, and the published repository holds the whole library, which runs on your own machines. Roblox open-sourced it as part of its safety toolkit and offers no paid or hosted version.
- https://about.roblox.com/newsroom/2025/08/open-sourcing-roblox-sentinel-preemptive-risk-detection recorded 2026-10-19
Roblox's announcement of August 7, 2025 says "We are excited to open source Roblox Sentinel" and that "it's also part of our Roblox open-source safety toolkit". It mentions no paid or hosted edition.
- https://raw.githubusercontent.com/Roblox/Sentinel/main/LICENSE recorded 2026-10-19
The root LICENSE is the Apache License, Version 2.0 text, ending with the unfilled appendix line "Copyright [yyyy] [name of copyright owner]".
- https://raw.githubusercontent.com/Roblox/Sentinel/main/pyproject.toml recorded 2026-10-19
The package metadata names the project "sentinel" version "2.0.0" with license = "Apache-2.0" and the classifier "License :: OSI Approved :: Apache Software License", built from src/sentinel.
- https://raw.githubusercontent.com/Roblox/Sentinel/main/README.md recorded 2026-10-19
The README installs the library with "pip install ." from the repository, documents two Dockerfiles, "Dockerfile" and "Dockerfile.cpu", and closes "Apache License 2.0". Searched the body for enterprise, pricing, commercial, paid, premium and license key: none.
Adoption
1 low confidenceGitHub stars are the only signal, and a star is not a use. Roblox's own production use of Sentinel on its chat service is not counted.
- https://pypi.org/pypi/sentinel/json recorded 2026-10-19
The PyPI project "sentinel" is version 1.0.0 by Eddie Antonio Santos, homepage github.com/eddieantonio/sentinel, summarized as "Create sentinel objects, akin to None, NotImplemented, Ellipsis". It is not Roblox's library.
- https://ungh.cc/repos/Roblox/Sentinel recorded 2026-10-19
Roblox/Sentinel: 118 stars and 27 forks, pushed 2026-08-18
Capability
3 low confidenceLike Hasher-Matcher-Actioner, Sentinel does one detection job and hands what it finds to human reviewers: HMA recognizes copies of media already flagged, and Sentinel finds patterns across a user's messages that no single message reveals. Sentinel is a library with no service or review screen, so the two sit level.
- https://about.roblox.com/newsroom/2025/08/open-sourcing-roblox-sentinel-preemptive-risk-detection recorded 2026-10-19
The announcement says Sentinel "has been running on Roblox since late 2024" and that in the first half of 2025 it helped Roblox "submit approximately 1,200 reports to the National Center for Missing and Exploited Children".
- https://raw.githubusercontent.com/Roblox/Sentinel/main/README.md recorded 2026-10-19
The README describes "realtime detection of extremely rare classes of text by using contrastive learning principles", scoring observations "using embedding similarity" and aggregating "using statistical measures like skewness". It documents from_texts(), subsample(), the sentinel.simulation harness, per-text explanations, and local or "s3://" index storage.
- https://raw.githubusercontent.com/Roblox/Sentinel/main/V2_FEATURES.md recorded 2026-10-19
The 2.0 notes list "Six summarize metrics, not two" and say "2.0 brings the count to six and adds the means to decide between them".
Verified 2026-10-19, except some scores, still awaiting re-confirmation