OCSS Rule Reference
Phosra implements OCSS and remains steward of record while a proposed transfer to independent governance is incomplete. The draft is published at openchildsafety.com.
This page is a generated snapshot of the OCSS rule registry (ocss-v4-draft-4), formatted for the Phosra API reference. The canonical source — the registry JSON, the specification text, and the conformance suite — lives at openchildsafety.com, not here. Every rule category listed below is an OCSS rule, not a Phosra invention. The slug vocabulary, capability assignments, and stability tiers are owned by the OCSS specification (§6.1, §6.2, §6.14).
Snapshot of OCSS spec_version=ocss-v4-draft-4; authoritative copy at openchildsafety.com. This page is regenerated from the registry JSON; the committed file is the source of truth for the Phosra API reference only.
All 123 OCSS rule categories can be exercised through the documented sandbox write path. What varies is per-rule capability — see the capability matrix. A sandbox 201 and sample signed receipt do not mean the rule was enforced by a real platform or carried on a production receipt rail. The typed iOS/Android SDK enums currently expose 45 — full-123 SDK support is tracked separately.
Role orientation — OCSS rules are not Phosra inventions. As a Phosra developer you are building against an open standard. The rule slugs in the API are OCSS identifiers — the same identifiers any other conformant OCSS provider uses. When a client sends rule_category: "addictive_pattern_block", it is invoking an OCSS rule defined at openchildsafety.com, not a Phosra feature flag.
Conformance posture. OCSS Draft 4 is an independent pre-release draft intended for standards-track submission; it is not ratified and has no official IETF Datatracker record. Phosra does not claim current certification or accreditation; certification pathways remain roadmap. Conformance evidence is something a regulator can weigh; it is not a compliance determination or a safe harbor.
Snapshot of OCSS
spec_version=ocss-v4-draft-4; authoritative copy at openchildsafety.com. Rules in this tab are defined in §6.6 of the OCSS specification.
Capability matrix
The sandbox write path accepts all 123 categories through one test transaction shape. The other columns are independent capability axes — a rule can be Gated AND typed. A sandbox result or sample signed receipt does not prove downstream enforcement.
| Rule | Write-sign | Typed params | Band | Registry tier |
|---|---|---|---|---|
addictive_design_control — Addictive Design Control | ✓ | typed (category_descriptor_list) | Open | anchored |
addictive_pattern_block — Addictive Pattern Block | ✓ | toggle-only | Open | anchored |
adult_site_av_required — Adult-Site Age Verification | ✓ | typed (av_gate) | Open | anchored |
age_appropriate_profile_mode — OCSS Child Mode | ✓ | toggle-only | Open | anchored |
age_gate — Age Gate | ✓ | toggle-only | Open | anchored |
age_signal_broadcast — Age Signal Broadcast | ✓ | toggle-only | Open | anchored |
ai_chatbot_age_assertion — AI Chatbot Age Assertion | ✓ | typed (av_gate) | Open | anchored |
ai_chatbot_tier_gate — AI Chatbot Tier Gate | ✓ | typed (numeric_threshold) | Open | anchored |
ai_companion_block — AI Companion Block | ✓ | typed (ai_interaction_mode) | Open | anchored |
ai_data_responsibility_rating_threshold — AI Data Responsibility Threshold | ✓ | typed (numeric_threshold) | Open | provisional (governance note — not a write gate) |
ai_minor_interaction — AI Minor Interaction | ✓ | typed (ai_interaction_mode) | Open | anchored |
ai_no_csam_generation — AI No-CSAM Generation | ✓ | toggle-only | Open | anchored |
ai_no_engagement_dark_patterns — AI No-Engagement Dark Patterns | ✓ | toggle-only | Open | anchored |
ai_no_personhood_deception — AI No-Personhood Deception | ✓ | toggle-only | Open | anchored |
ai_no_self_harm_promotion — AI No-Self-Harm Promotion | ✓ | toggle-only | Open | anchored |
ai_no_simulated_companionship — AI No-Simulated Companionship | ✓ | toggle-only | Open | anchored |
ai_no_unsupervised_therapy — AI No-Unsupervised Therapy | ✓ | toggle-only | Open | anchored |
ai_product_classification_gate — AI Product Classification Gate | ✓ | typed (rating_flag_gate) | Open | anchored |
ai_safety_rating_threshold — AI Child-Safety Rating Threshold | ✓ | typed (numeric_threshold) | Open | provisional (governance note — not a write gate) |
ai_synthetic_media_disclosure — AI Synthetic-Media Disclosure | ✓ | toggle-only | Open | anchored |
ai_toy_safety_cert — AI Toy Safety Certification | ✓ | toggle-only | Open | anchored |
ai_training_data_opt_out — AI Training Data Opt-Out | ✓ | toggle-only | Open | provisional (governance note — not a write gate) |
ai_transparency_rating_threshold — AI Transparency Threshold | ✓ | typed (numeric_threshold) | Open | provisional (governance note — not a write gate) |
algo_feed_control — Algorithm Feed Control | ✓ | toggle-only | Open | anchored |
algorithmic_audit — Algorithmic Audit | ✓ | toggle-only | Open | anchored |
app_install_block — App Install Block | ✓ | typed (app_targeted) | Open | anchored |
app_store_age_attestation — App Store Age Attestation | ✓ | toggle-only | Open | anchored |
autoplay_disable — Autoplay Disable | ✓ | toggle-only | Open | anchored |
cipa_filter_attestation — CIPA Filter Attestation | ✓ | toggle-only | Open | anchored |
commercial_data_ban — Commercial Data Ban | ✓ | toggle-only | Open | anchored |
commercial_pressure_threshold — Commercial Pressure Threshold | ✓ | typed (numeric_threshold) | Open | anchored |
content_allow_title — Content Allow Title | ✓ | typed (title_targeted) | Open | provisional (governance note — not a write gate) |
content_allowlist_mode — Content Allowlist Mode | ✓ | toggle-only | Open | provisional (governance note — not a write gate) |
content_block_title — Content Block Title | ✓ | typed (title_targeted) | Open | provisional (governance note — not a write gate) |
content_descriptor_block — Content Descriptor Block | ✓ | typed (category_descriptor_list) | Open | provisional (governance note — not a write gate) |
content_rating — Content Rating | ✓ | typed (numeric_threshold) | Open | anchored |
crisis_resource_surface — Crisis Resource Surface | ✓ | toggle-only | Gated (accredited-tier) | provisional (governance note — not a write gate) |
csam_reporting — CSAM Reporting | ✓ | toggle-only | Open | anchored |
data_deletion_request — Data Deletion Request | ✓ | toggle-only | Open | anchored |
data_minimization_enforce — Data Minimization | ✓ | toggle-only | Open | anchored |
digital_literacy_curriculum_link — Digital Literacy Curriculum Link | ✓ | toggle-only | Gated (accredited-tier) | provisional (governance note — not a write gate) |
dm_feature_disable — DM Feature Disable | ✓ | toggle-only | Open | provisional (governance note — not a write gate) |
dm_restriction — DM Restriction | ✓ | typed (handle_list) | Open | anchored |
dpia_request_generator — DPIA Request Generator | ✓ | toggle-only | Open | anchored |
dumbphone_migration_mode — Dumbphone Migration Mode | ✓ | toggle-only | Open | provisional (governance note — not a write gate) |
educational_credit — Educational Credit | ✓ | toggle-only | Gated (accredited-tier) | provisional (governance note — not a write gate) |
ephemeral_message_disable — Ephemeral Message Disable | ✓ | toggle-only | Open | provisional (governance note — not a write gate) |
esafety_commission_reporting — eSafety Commission Reporting | ✓ | toggle-only | Open | anchored |
firearm_content_block — Firearm Content Block | ✓ | toggle-only | Open | provisional (governance note — not a write gate) |
flagged_content_digest — Flagged Content Digest | ✓ | typed (schedule_window) | Gated (accredited-tier) | provisional (governance note — not a write gate) |
gambling_mechanics_block — Gambling Mechanics Block | ✓ | toggle-only | Open | anchored |
geolocation_opt_in — Geolocation Opt-In | ✓ | toggle-only | Open | anchored |
geolocation_precision_cap — Geolocation Precision Cap | ✓ | typed (category_descriptor_list) | Open | provisional (governance note — not a write gate) |
hard_id_verification_escalation — Hard ID Verification Escalation | ✓ | toggle-only | Open | provisional (governance note — not a write gate) |
harm_report_intake — Harm Report Intake | ✓ | toggle-only | Open | provisional (governance note — not a write gate) |
image_content_monitoring — Image Content Monitoring | ✓ | toggle-only | Gated (accredited-tier) | provisional (governance note — not a write gate) |
image_rights_minor — Image Rights | ✓ | toggle-only | Open | anchored |
infinite_scroll_block — Infinite Scroll Block | ✓ | toggle-only | Open | anchored |
library_filter_compliance — Library Filter | ✓ | toggle-only | Open | provisional (governance note — not a write gate) |
message_content_monitoring — Message Content Monitoring | ✓ | toggle-only | Gated (accredited-tier) | provisional (governance note — not a write gate) |
minor_data_sale_audit_log — Minor Data Sale Audit Log | ✓ | toggle-only | Open | anchored |
monitoring_activity — Activity Monitoring | ✓ | toggle-only | Gated (accredited-tier) | anchored |
monitoring_alerts — Monitoring Alerts | ✓ | toggle-only | Gated (accredited-tier) | provisional (governance note — not a write gate) |
named_contact_block — Named Contact Block | ✓ | toggle-only | Open | provisional (governance note — not a write gate) |
ncii_takedown — NCII Takedown | ✓ | toggle-only | Open | anchored |
not_for_minors_block — Not-For-Minors Hard Block | ✓ | typed (nfk_block) | Open | provisional (governance note — not a write gate) |
notification_curfew — Notification Curfew | ✓ | typed (schedule_window) | Open | anchored |
os_age_signal_ingest — OS Age Signal Ingest | ✓ | toggle-only | Open | anchored |
parental_attestation_cert — Parental Attestation Certificate | ✓ | toggle-only | Open | anchored |
parental_consent_gate — Parental Consent Gate | ✓ | toggle-only | Open | anchored |
parental_event_notification — Parental Event Notification | ✓ | toggle-only | Gated (accredited-tier) | anchored |
phone_free_school_hours — Phone-Free School Hours | ✓ | typed (schedule_window) | Open | anchored |
platform_liability_evidence_capture — Platform Liability Evidence Capture | ✓ | toggle-only | Open | anchored |
presence_status_hide — Presence Status Hide | ✓ | toggle-only | Open | provisional (governance note — not a write gate) |
privacy_account_creation — Privacy Account Creation | ✓ | toggle-only | Open | provisional (governance note — not a write gate) |
privacy_data_sharing — Data Sharing Control | ✓ | typed (category_descriptor_list) | Open | anchored |
privacy_location — Privacy Location | ✓ | toggle-only | Open | provisional (governance note — not a write gate) |
privacy_profile_visibility — Privacy Profile Visibility | ✓ | toggle-only | Open | anchored |
privacy_rating_dimension_gate — Privacy Dimension Gate | ✓ | typed (rating_flag_gate) | Open | provisional (governance note — not a write gate) |
privacy_rating_score_threshold — Privacy Score Threshold | ✓ | typed (numeric_threshold) | Open | provisional (governance note — not a write gate) |
privacy_rating_tier_gate — Privacy Tier Gate | ✓ | typed (numeric_threshold) | Open | provisional (governance note — not a write gate) |
privacy_seal_required — Privacy Seal Required | ✓ | typed (privacy_tier_gate) | Open | provisional (governance note — not a write gate) |
profanity_threshold — Profanity Threshold | ✓ | typed (numeric_threshold) | Open | provisional (governance note — not a write gate) |
prosocial_weight — Prosocial Weight | ✓ | toggle-only | Open | provisional (governance note — not a write gate) |
purchase_approval — Purchase Approval | ✓ | toggle-only | Open | anchored |
purchase_block_iap — Purchase Block IAP | ✓ | toggle-only | Open | anchored |
purchase_spending_cap — Purchase Spending Cap | ✓ | typed (monetary_amount) | Open | provisional (governance note — not a write gate) |
rating_age_gate — Civil-Society Age Recommendation Gate | ✓ | typed (rating_age_gate) | Open | provisional (governance note — not a write gate) |
recognized_seal_allowlist — Recognized Seal Allowlist | ✓ | typed (privacy_tier_gate) | Open | provisional (governance note — not a write gate) |
representation_weight — Representation Weight | ✓ | toggle-only | Open | provisional (governance note — not a write gate) |
role_model_weight — Role Model Weight | ✓ | toggle-only | Open | provisional (governance note — not a write gate) |
school_alert_routing — School Alert Routing | ✓ | toggle-only | Gated (accredited-tier) | anchored |
screen_time_report — Screen Time Report | ✓ | typed (schedule_window) | Gated (accredited-tier) | anchored |
search_query_monitoring — Search Query Monitoring | ✓ | toggle-only | Gated (accredited-tier) | provisional (governance note — not a write gate) |
sexual_content_threshold — Sexual Content Threshold | ✓ | typed (numeric_threshold) | Open | provisional (governance note — not a write gate) |
social_account_content_monitoring — Social Account Content Monitoring | ✓ | toggle-only | Gated (accredited-tier) | provisional (governance note — not a write gate) |
social_chat_control — Social Chat Control | ✓ | toggle-only | Open | provisional (governance note — not a write gate) |
social_contacts — Social Contacts | ✓ | typed (handle_list) | Open | provisional (governance note — not a write gate) |
social_media_min_age — Social Media Min Age | ✓ | typed (age_value) | Open | anchored |
social_media_warning_label_render — Social Media Warning Label | ✓ | toggle-only | Gated (accredited-tier) | provisional (governance note — not a write gate) |
social_multiplayer — Social Multiplayer | ✓ | toggle-only | Open | provisional (governance note — not a write gate) |
stranger_dm_block — Stranger DM Block | ✓ | typed (handle_list) | Open | anchored |
stranger_outreach_friction — Stranger Outreach Friction | ✓ | toggle-only | Open | anchored |
streaming_age_rating_enforce — Streaming Age Rating | ✓ | typed (numeric_threshold) | Open | anchored |
student_privacy_school_mode — Student Privacy School Mode | ✓ | toggle-only | Open | anchored |
substance_content_threshold — Substance Content Threshold | ✓ | typed (numeric_threshold) | Open | provisional (governance note — not a write gate) |
targeted_ad_block — Targeted Ad Block | ✓ | toggle-only | Open | anchored |
teen_minimum_age_16_gate — Teen Minimum Age 16 Gate | ✓ | typed (age_value) | Open | anchored |
third_party_tracker_block — Third-Party Tracker Block | ✓ | toggle-only | Open | anchored |
time_daily_limit — Daily Time Limit | ✓ | typed (duration) | Open | anchored |
time_downtime — Time Downtime | ✓ | typed (schedule_window) | Open | anchored |
time_per_app_limit — Time Per-App Limit | ✓ | typed (duration) | Open | provisional (governance note — not a write gate) |
time_scheduled_hours — Scheduled Hours | ✓ | typed (schedule_window) | Open | anchored |
ugc_world_age_gate — UGC World Age Gate | ✓ | typed (age_value) | Open | provisional (governance note — not a write gate) |
unrated_privacy_default — Unrated Privacy Default | ✓ | typed (privacy_tier_gate) | Open | provisional (governance note — not a write gate) |
usage_timer_notification — Usage Timer | ✓ | toggle-only | Gated (accredited-tier) | anchored |
violence_threshold — Violence Threshold | ✓ | typed (numeric_threshold) | Open | provisional (governance note — not a write gate) |
voice_chat_minor_limit — Voice Chat Minor Limit | ✓ | toggle-only | Open | provisional (governance note — not a write gate) |
web_category_block — Web Category Block | ✓ | typed (category_descriptor_list) | Open | anchored |
web_custom_allowlist — Web Custom Allowlist | ✓ | typed (domain_list) | Open | provisional (governance note — not a write gate) |
web_custom_blocklist — Web Custom Blocklist | ✓ | typed (domain_list) | Open | provisional (governance note — not a write gate) |
web_filter_level — Web Filter Level | ✓ | typed (numeric_threshold) | Open | anchored |
web_safesearch — Safe Search | ✓ | toggle-only | Open | anchored |
OCSS rule vocabulary is royalty-free per §5.5 of the specification ("Royalty-free with an unpublished audit bill is a fee schedule by another name" is the governing sentence). The canonical registry and spec text are at openchildsafety.com. If the standard and this mirror ever conflict, the standard (at openchildsafety.com) wins. Phosra's current stewardship posture and dated succession binding are published at /.well-known/ocss/succession — a signed, verifiable role binding, not a claim of accreditation or independent adoption. For the full list of callable rule categories with their API parameter documentation, see Rule Reference.