Reusable rules infrastructure between platform event streams and local response systems
Osprey
Osprey is a rules engine developed at Discord and reported donated to ROOST in July 2025. It processes event information through configurable rules and custom functions. Discord and Bluesky have described production use, with platform-specific systems converting engine outputs into operational effects.
Production origins and downstream adaptation
Discord's engineering account reports roughly 400 million daily actions, 204 action types, 2,288 rules and 99 custom functions for December 2025; actions are not necessarily violations or removals. A later Bluesky case study describes platform events entering Osprey, Kafka carrying outputs and a Bluesky-owned receiver invoking Ozone actions. Analysts write local rules. Those participant accounts establish reported adoption and architecture, not independent telemetry or use of the Christchurch Call policy pack. Community improvements and Discord reintegration are likewise reported by participants.
was reported in production with local rules and controls
Reported system metrics period; articles February/March 2026.
Discord engineering reports roughly 400m daily actions, 204 action types, 2,288 rules and 99 custom UDFs as of December 2025. Actions are not necessarily violations/removals. Local ETCD rules, sinks, access/audit and unreleased functions preclude treating the public engine as the entire deployed policy.
was later reported using Osprey with locally authored rules
2026-02-04 – 2026-02-04
February case study attributes over 45m events and 100,000 enforcement actions daily to Bluesky; neither is a unique-account count. Analysts own rules and custom functions. ROOST-published participant account, not independently tested telemetry or proof of CCF-template use.
reported donating its production-origin rules engine
2025-07-21 – 2025-07-21
July 2025 issuer announcement and Discord engineering account trace Osprey from Discord to open ROOST tooling. Donation is software/resource transfer as reported, not an copyright assignment or customer-data transfer.
was reported to send results through Kafka to a local receiver
2026-02-04 – 2026-02-04
Case study describes atproto events into Osprey, custom functions, Kafka and a Bluesky-owned effects receiver calling Ozone. Engine outputs become actions through this separate operator implementation.
ROOST — Robust Open Online Safety Tools Inc → Osprey
reported maintaining and developing the donated engine
Community improvements and subsequent Discord reintegration are participant-reported. Exact release acceptance, intellectual-property assignment and production version were not acquired.
Launch account described planned/forthcoming availability and use. Later production account does not turn this announcement into contemporaneous deployment proof.
Bluesky: implementation reaches a platform-owned action receiver
The described path is atproto event stream → Osprey with Bluesky-specific functions → Kafka output sink → effects receiver on Bluesky servers → action in Ozone . The account says analysts migrated and developed rules; its named example labels suspected t-shirt spammers. This identifies the platform's rule-writing and action integration, not ROOST approval of each decision. Setup still involved engineering, despite reduced dependence on engineers for subsequent rule changes.
No acquired adopter account establishes use of the CCF TVEC prompt pack, mandatory ROOST policy, a Canadian-funded deployment, Lantern signal access or a specific law-enforcement referral. Osprey adoption is not evidence of adopting every ROOST-supported model or sample policy. The most useful next record would pair a named deployment's exact configuration/policy revision with its approval process and a documented action or correction. That question remains for the next forest assessment; this lane has not pursued it.
The MIT licence permits modification and redistribution subject to retaining its notices and disclaimer. It provides software freedom, not access to an Osprey installation, a platform's content or separately licensed models. The source files can consequently be changed by a downstream operator, while the actual chosen version/configuration remains an evidentiary question. Entire21-line LICENSE read. No named actor's production permission or exercise of a right is inferred.
Discord → reported donating its production-origin rules engine → Osprey
2025-07-21 – 2025-07-21
Reported by the cited source
July 2025 issuer announcement and Discord engineering account trace Osprey from Discord to open ROOST tooling. Donation is software/resource transfer as reported, not an copyright assignment or customer-data transfer.
Community improvements and subsequent Discord reintegration are participant-reported. Exact release acceptance, intellectual-property assignment and production version were not acquired.
Osprey → was reported in production with local rules and controls → Discord
Reported system metrics period; articles February/March 2026.
Reported by the cited source
Discord engineering reports roughly 400m daily actions, 204 action types, 2,288 rules and 99 custom UDFs as of December 2025. Actions are not necessarily violations/removals. Local ETCD rules, sinks, access/audit and unreleased functions preclude treating the public engine as the entire deployed policy.
Bluesky → was named as planning adoption in July 2025 → Osprey
2025-07-21 – 2025-07-21
Reported by the cited source
Launch account described planned/forthcoming availability and use. Later production account does not turn this announcement into contemporaneous deployment proof.
Bluesky → was later reported using Osprey with locally authored rules → Osprey
2026-02-04 – 2026-02-04
Reported by the cited source
February case study attributes over 45m events and 100,000 enforcement actions daily to Bluesky; neither is a unique-account count. Analysts own rules and custom functions. ROOST-published participant account, not independently tested telemetry or proof of CCF-template use.
Case study describes atproto events into Osprey, custom functions, Kafka and a Bluesky-owned effects receiver calling Ozone. Engine outputs become actions through this separate operator implementation.