Switchboard applies four independent gates to every stream: mechanical checks on the phone, a picture review, a speech review that never sees the picture, and an audience gate that acts only on statistical evidence. All four must hold at once, every one defaults to deny, and a review that errors or expires is a rejection rather than a pass. This page is generated from the same constants the gates apply, so it cannot drift from them, and every clause has a stable id a ruling can cite.
The standard
Version v1.1.0, frozen, in force since 2026-08-29.
Served as JSON at /api/standard.json, and by every
broadcast node at /api/standard.
The current standard.
This page is generated from the constants the gates apply, at build
time, so it cannot describe a rule the code does not enforce.
1 of the 17 numeric thresholds below has been measured; the rest were chosen ahead
of a field test and are marked unmeasured one by one.
Four gates. A feed reaches air only when every one of them holds at once, and never reaches air because a check failed to run: an error is a rejection carrying the error.
What this undertakes to do
These are the two principles the reviewer is given, verbatim, above every clause below. They are published as the reviewer reads them rather than rewritten for this page, so there is one copy and it cannot drift: the second person is addressed to the reviewer, not to you.
1. The default is NOT to broadcast. If you are unsure, reject. Going dark is a normal, acceptable outcome here and carries no penalty. Putting something unacceptable to air is the only real failure. 2. You are judging THIS material, not the operator. Do not speculate about intent, and do not reject for being amateurish. Shaky, plain and dull is fine. Community broadcast is supposed to look like the community.
1. Mechanical
Judged on the publisher's own device, once a second.
bitrateat least 600kbps (unmeasured: chosen before any field test)packetLossat most 5.0% of packets lost (unmeasured: chosen before any field test)fpsat least 15 frames per second (unmeasured: chosen before any field test)frameHeightat least 480 pixels tall (unmeasured: chosen before any field test)lumamean brightness between 0.12 and 0.88 (unmeasured: chosen before any field test)clippingat most 0.2 of sampled pixels crushed to pure black or blown to pure white (unmeasured: chosen before any field test)shakecamera shake at most 0.045 (unmeasured: chosen before any field test)audioTrackLivea microphone that is actually capturing (unmeasured: chosen before any field test)audioRmsat most 0.85, above which the sound is too hot to broadcast (unmeasured: chosen before any field test)audioRmsand 0.002 or above to rank well, which costs position and never eligibility: silence is not a fault (ranks only, never refuses) (measured: one publisher in one quiet room, 995 samples reading min 0.000145, mean 0.0019, peak 0.0224 with a microphone working throughout. That is n=1 and a gym is the case it has NOT been measured against)audioClippingat most 0.05 of audio samples at full scale (unmeasured: chosen before any field test)
2. Picture
Judged on key frames, server side, with no transcript.
Held off air for any of these:
visual.not-the-eventThe camera is showing nothing at all: pointed at the floor, ceiling, a wall, the inside of a pocket, a lens cap, or a blank frame or test pattern. This is about the camera doing its job, never about what the event happens to be.visual.undressA person in a state of undress, or any content of a sexual nature.visual.medical-or-fightA medical emergency, a serious injury being attended to, or a physical fight.visual.child-distressAn identifiable child in evident distress.visual.personal-informationA readable screen, document, badge or form showing someone's personal information: an address, a phone number, a card number, a medical detail.visual.slur-or-attackText or signage in frame carrying a slur or a targeted attack on a person.visual.surveillanceAnything that reads as surveillance of specific spectators rather than coverage of the event.
And explicitly NOT grounds to refuse a feed:
visual.permitted.craftPoor framing, bad exposure, wobble, or the action leaving frame briefly.visual.permitted.ordinary-subjectThe subject being ordinary, quiet, slow, or not what you expected. A meeting, a rehearsal, a speech, a person talking to the camera and a half-empty room are all legitimate community broadcast.visual.permitted.ordinary-coverageOrdinary crowd shots, benches, scoreboards, warmups, timeouts, empty play.visual.permitted.physical-playRoutine contested physical play, a hard foul, or a player going down and getting straight back up.
A picture clause holds the PICTURE. Nothing that stream is showing reaches air, and if no other stream qualifies the blue screen does. Its sound may still be used, because the speech gate reviewed that separately and a clause governs its own modality: the two reviewers never see each other's material, so neither can overturn the other.
3. Speech
Judged on the transcript, server side, with no frames.
Held off air for any of these:
speech.slurA slur or hate speech directed at anyone, including as a quotation or a joke.speech.profanitySustained profanity, or profanity aimed at a person. Isolated mild swearing in the ambient crowd noise is not grounds to reject.speech.minor-namedNaming a minor in a negative, accusatory, mocking or sexualised way.speech.accusationAn accusation of a crime, cheating, or misconduct stated as fact about a named person.speech.medical-claimA medical claim about a specific person: naming an injury, a diagnosis, or a condition. Saying someone is hurt is fine; saying what is broken is not.speech.personal-informationSomeone's personal information read aloud: address, phone number, workplace.speech.bettingPromotion of betting, odds, or a wager on this event.speech.harassmentSustained harassment of an official, a coach or a player.
And explicitly NOT grounds to refuse a feed:
speech.permitted.partisanOrdinary partisan commentary, disappointment, or loud complaints about a call.speech.permitted.wrongGetting a name, a score or a rule wrong. Being uninformed is not a violation.speech.permitted.quietSilence, crowd noise, or a transcript with almost nothing in it.speech.permitted.garbledFragmentary or garbled transcription. Judge what is legible; if too little is legible to judge, that is not a violation, so accept.
A speech clause holds the SOUND and not the picture. A stream whose picture cleared and whose sound did not goes to air without its audio, and the audio is not sent rather than muted in the player: what the standard refused does not leave the building. What a viewer sees.
4. Audience
Judged on viewer ratings, after the fact. This is the only gate that cannot prevent first harm, because people can only rate what they have already seen. It never acts on one rating.
minRatingsat least 8 ratings (unmeasured: chosen before any field test)minRatersfrom at least 5 different viewers (unmeasured: chosen before any field test)windowMswithin 5 minutes (unmeasured: chosen before any field test)badRateThresholdand a Wilson lower bound on the bad rate above 0.35, so three bad out of three is not enough (unmeasured: chosen before any field test)zcomputed at z = 1.96, the 95% confidence level, which sets how much evidence the bound demands (unmeasured: chosen before any field test)blockMsa feed pulled this way cannot return for 2 minutes (unmeasured: chosen before any field test)
Consent, and what this says about minors
The gap here is consent, not minors. The standard already carries a clause protecting a minor from being named in a negative, accusatory, mocking or sexualised way, and nothing in it refuses a school game. What is missing is a consent flow for anybody who ends up on camera, which is as true of an adult rec league as of a school one, and until it exists this should not be pointed at an event where the people in frame have not agreed to be broadcast.
The footage the picture gate was measured on is a different matter and is why the figure can be published at all: it is public-access archive that already aired, licensed to permit adaptation, so testing against it points a camera at nobody.
How the rules are enforced
- Picture and speech never see each other's material. One reviewer holding both talks itself into excusing one, and two gates are only worth having if they fail for different reasons.
- A live feed's public output is held 60 seconds behind live, which is what makes those two gates preventive rather than retrospective. The hold exists to beat the live edge, so it covers the live entry point: material submitted as a file is reviewed before it airs at all, and there is no edge to race and nothing to hold it behind. The delay is derived from what a channel admits and is never a setting somebody chooses.
- A verdict expires. Never reviewed is not approved, and a review that errored is a rejection carrying the error rather than a check that quietly did not run.
- A human director cannot override any of it. A take is refused through the same predicate the interface uses to decide what to offer, so the controls cannot advertise a button the gate will refuse.
- The server takes its own samples, over a loopback connection to the media plane, never from the publisher. A publisher who could supply them could send clean frames while streaming something else.
The 60-second hold, and how it got there
A verdict about a moment arrives after that moment. Holding the public output behind live is what makes the picture and speech gates preventive rather than commentary: the cut lands before the material is shown, as long as the hold covers the delay.
The hold was 20 seconds. An audit this project runs against its own delay found that 20 did not cover measured gate latency, which meant the gates were retrospective while the system said otherwise. Nobody outside noticed and nothing forced the change. It is 60 seconds now, above a derived floor and inside a ceiling read from the media plane's own configuration.
The remaining limit, stated rather than omitted: at nine simultaneous feeds the worst gate measured 35.9 seconds, and no hold that fits the streaming window covers that. The binding constraint there is how many feeds one machine can review, not the delay.
Version history
Rulings cite the version they were made under. This is that list, so a citation resolves rather than dangling.
Each version is frozen at its own URL, so a ruling made under one still resolves after the rules change: that is what makes a clause id citable rather than a pointer to whatever the standard says today. When a version bumps, cached verdicts taken under the old one are DROPPED rather than carried forward, because a verdict is an answer to the standard that was in force when it was made.
These are change notes and not computed diffs, and the distinction is deliberate: the previous version's clause text is not kept, so nothing here can derive what moved. It can only report what the people who moved it said. A rendered diff built from prose would be a fabrication in a diff's clothes.
v1.1.0effective 2026-08-29
The standard broadened from a SPORTING event to any COMMUNITY event. The reviewer is now told the subject may be a game, a performance, a meeting, a march, a celebration or a person talking to the camera, and that what the event IS is never a reason to reject it. One permission was added, that an ordinary, quiet or slow subject is legitimate community broadcast, and the clause about the camera not showing the event was reworded to be about the camera doing its job rather than about what is in front of it. A minor bump because nothing that was acceptable became unacceptable. Verdicts cached under v1.0.0 were still dropped, because they were taken against a NARROWER standard and may have rejected something this one permits.v1.0.0effective 2026-08-28
The first published rubric: the reject clauses and permissions for the picture and speech gates, written for a sporting event.
A ruling you can look at
Ruled 2026-08-30 under v1.1.0 through the shipped review path, 5 of 5 draws rejected.
What the reviewer said, in its own words: Frame is an out-of-focus blur of a flat tan surface (wall/floor) with no discernible subject or event content, the camera is not showing anything.
Default is to reject when no coverage of the event is visible.
Held off air under visual.not-the-event. Held off air. Nothing about the game, the operator or the picture quality the rest of the time: only whether the camera was doing its job in that window.
Drawn five times before being published, because one draw cannot tell a ruling from a coin flip. The first candidate for this slot was a photograph this team owns, and the gate approved it thirteen times in fourteen: publishing its single rejection would have presented a seven percent outcome as the standard's behaviour.
And one we may not show you
Kept deliberately. The difference between these two entries is the argument for owning your evidence: this one is on footage belonging to somebody else, so the frame can only be described, and you are asked to take the most consequential example on this page on trust. That is the posture switchboard exists to argue against, which is why it is no longer the only one here.
Ruled 2026-08-30 under v1.1.0. The frame is not shown: the footage is somebody else's and we may not republish it.
The material: a moment from a real high school varsity basketball game, from a public access television archive, where a spectator walks in front of the camera and roughly seventy percent of the frame becomes an out-of-focus back.
What the reviewer said it saw, in its own words: The image appears to be mostly blank with some dark areas and faint light reflections. There are no discernible objects or text that can be clearly identified due to the lack of detail and clarity.
Why it held the feed: The description states the image is 'mostly blank' with 'no discernible objects or text', which meets the criteria for 'showsSomething' being false.
Clause visual.not-the-event.
Outcome: Held off air. The camera was not doing its job in that window, which is what the clause is about. It is not a judgement about the game, the operator, or the quality of the picture the rest of the time.
Appealing a ruling
There is no appeal route yet, and this page will not pretend otherwise. A published address that nobody reads is worse than none: it costs somebody the effort of writing and returns silence. Rulings carry an appeal field that is deliberately left empty for the same reason, so the code and this page say the same thing.
What a ruling does carry today is the clause it was made under, the version of these rules in force at the time, and which reviewer ruled. That is enough to argue with, and it is what an appeal route would need as its input.