Community moderated red cameras #54

Open
opened 2025-10-17 02:51:20 +00:00 by kirsle · 0 comments
Owner

Currently, viewers can send anonymous hints to a broadcaster that their camera should be marked as Explicit/red, which is only forwarded to the broadcaster when they have at least 2 viewers so they can't tell for sure who sent it. But mischievous users can simply ignore those hints and never set their camera red unless an admin is able to do so for them.

To expand on this:

  • If at least 3 people within a range of 15 minutes sends you a red camera hint...
  • The server will set your camera to red with a special message as to why, in lieu of having an admin available to set their camera red for them.
  • And to deter the broadcaster from immediately turning it blue, impose a time delay of 5 minutes where they can not remove the explicit tag from their camera (even if they turn it off and back on again). Ideally, the server should remember it externally to their connection so even if they refresh the page, the chat server still imposes the red camera rule for 5 minutes.

All bolded values would be configurable to dial in the right balance easily.

Implementation notes:

  • On the Subscriber object, keep a map of usernames who've sent the explicit hint to the time.Time it came in.
    • A function to CountFlags() would scan the list, delete any keys with expired times and count the ones that happened in ~last 15 minutes.
  • Server keeps a global map of users with the temporary red cam rule applied
  • Like the red cam rule, any time the user tries to set their camera blue, set it red again and deliver a custom message about how their camera is temporarily locked red because of too many community flags. Don't say exactly how long the lock will last for, so they will hopefully give up trying and find it not worth it to remove the explicit label.

Rate limit:

  • If a user is under the 'forced red camera' period and repeatedly tries to turn their camera blue, their waiting period should increase proportionally.
  • First attempt is free (gets another warning from the chat server explaining why their cam is locked red)
  • Then add like 30 seconds * the number of attempts.
    • When their cam was first turned red by the server from too many community flags: cooldown window is say 5 minutes.
    • The first time they click to turn their cam blue, they're given one warning.
    • Second try: add +30 seconds (5:30 total)
    • Next: add +60 seconds (6:30)
    • Next: add +90 (8:00) etc.
Currently, viewers can send anonymous hints to a broadcaster that their camera should be marked as Explicit/red, which is only forwarded to the broadcaster when they have at least 2 viewers so they can't tell for sure who sent it. But mischievous users can simply ignore those hints and never set their camera red unless an admin is able to do so for them. To expand on this: * If at least **3 people** within a range of **15 minutes** sends you a red camera hint... * The server will set your camera to red with a special message as to why, in lieu of having an admin available to set their camera red for them. * And to deter the broadcaster from immediately turning it blue, impose a time delay of **5 minutes** where they can not remove the explicit tag from their camera (even if they turn it off and back on again). Ideally, the server should remember it externally to their connection so even if they refresh the page, the chat server still imposes the red camera rule for 5 minutes. All bolded values would be configurable to dial in the right balance easily. Implementation notes: * On the Subscriber object, keep a map of usernames who've sent the explicit hint to the time.Time it came in. * A function to CountFlags() would scan the list, delete any keys with expired times and count the ones that happened in ~last 15 minutes. * Server keeps a global map of users with the temporary red cam rule applied * Like the red cam rule, any time the user tries to set their camera blue, set it red again and deliver a custom message about how their camera is temporarily locked red because of too many community flags. Don't say exactly how long the lock will last for, so they will hopefully give up trying and find it not worth it to remove the explicit label. Rate limit: * If a user is under the 'forced red camera' period and repeatedly tries to turn their camera blue, their waiting period should increase proportionally. * First attempt is free (gets another warning from the chat server explaining why their cam is locked red) * Then add like 30 seconds * the number of attempts. * When their cam was first turned red by the server from too many community flags: cooldown window is say 5 minutes. * The first time they click to turn their cam blue, they're given one warning. * Second try: add +30 seconds (5:30 total) * Next: add +60 seconds (6:30) * Next: add +90 (8:00) etc.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: apps/BareRTC#54
No description provided.