mirror of
https://github.com/PR0M3TH3AN/bitvid.git
synced 2026-10-27 07:52:24 +00:00
Merge pull request #886 from PR0M3TH3AN/codex/update-guidance-in-instance-config.js
Document moderator-sourced trust seeding
This commit is contained in:
3 files changed
+14
-10
No files matched your search
@@ -192,13 +192,16 @@ export const DEFAULT_WHITELIST_MODE_ENABLED = true;
|
||||
export const ALLOW_NSFW_CONTENT = false;
|
||||
|
||||
/**
|
||||
* Baseline trusted accounts used to seed the moderation graph.
|
||||
* Emergency fallback accounts for seeding the moderation graph.
|
||||
*
|
||||
* Provide Nostr npubs for the operators and moderators you trust by default.
|
||||
* Downstream modules treat these accounts as the starting point for the F1
|
||||
* network that powers trusted reports and mutes. Operators should feel free to
|
||||
* edit the list to match their deployment; bitvid will freeze and sanitize the
|
||||
* values at runtime when reading from `js/config.js`.
|
||||
* Runtime moderation now derives its trust seeds from the Super Admin and the
|
||||
* active moderator roster, ensuring their reports shape anonymous/default
|
||||
* visitor filters automatically. The array below is kept only as a last-resort
|
||||
* fallback when the live moderator lists cannot be loaded (for example,
|
||||
* bootstrapping a brand-new deployment or recovering from relay outages).
|
||||
* Populate it with the operator keys you want to lean on during that rare
|
||||
* failure mode; under normal conditions these values are ignored. bitvid will
|
||||
* freeze and sanitize the npubs at runtime when reading from `js/config.js`.
|
||||
*/
|
||||
export const DEFAULT_TRUST_SEED_NPUBS = [
|
||||
"npub15jnttpymeytm80hatjqcvhhqhzrhx6gxp8pq0wn93rhnu8s9h9dsha32lx",
|
||||
|
||||
@@ -36,8 +36,8 @@ Thread new moderation behaviors through the same service → stage → app → U
|
||||
- Hide videos when `DEFAULT_TRUSTED_MUTE_HIDE_THRESHOLD` trusted contacts mute the author. Cards render with `data-moderation-hidden="true"`, the badge reads `Hidden · {count} trusted mute(s)`, and a "Show anyway" button becomes available.
|
||||
- Hide videos when `DEFAULT_TRUSTED_SPAM_HIDE_THRESHOLD` trusted contacts file spam reports. The badge copy escalates to `Hidden · {count} trusted spam report(s)` and the card stays hidden until the viewer overrides it.
|
||||
- Downrank author when any F1 has them in mute list (10000).
|
||||
- Opt-in admin lists (30000 with `d=bitvid:admin:*`) can hard-hide content.
|
||||
- Trust seeds from `DEFAULT_TRUST_SEED_NPUBS` count as baseline F1 contacts (toggle via `FEATURE_TRUST_SEEDS`).
|
||||
- Opt-in admin lists (30000 with `d=bitvid:admin:*`) can hard-hide content, but whitelist entries no longer bypass moderation gates—they only influence Discovery rankings when a viewer opts into that list.
|
||||
- Trust seeds now come from the Super Admin plus every active moderator, so their reports shape anonymous/default visitor filters automatically. The `DEFAULT_TRUST_SEED_NPUBS` export only activates as an emergency fallback when those live lists cannot be loaded (toggle via `FEATURE_TRUST_SEEDS`).
|
||||
|
||||
> Default thresholds now come directly from [`config/instance-config.js`](../../config/instance-config.js). Look for the exports `DEFAULT_BLUR_THRESHOLD`, `DEFAULT_AUTOPLAY_BLOCK_THRESHOLD`, `DEFAULT_TRUSTED_MUTE_HIDE_THRESHOLD`, and `DEFAULT_TRUSTED_SPAM_HIDE_THRESHOLD` to adjust the instance-wide behavior before deploying. The upstream repo currently publishes example values of 3 trusted reports for blur, 2 for autoplay blocking, 1 trusted mute to hide authors, and 3 trusted spam reports to hide videos.
|
||||
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
- 10000 mute list → downrank/hide author content.
|
||||
- 30000 categorized people → optional admin lists (see below).
|
||||
- (Optional) reputation score from a reputation source (e.g., PageRank/DVM) for **Discovery** only.
|
||||
- Super Admin + active moderators are always treated as trust seeds for anonymous/default visitors. `DEFAULT_TRUST_SEED_NPUBS` in [`config/instance-config.js`](../../config/instance-config.js) only activates when those live moderator lists cannot be fetched.
|
||||
|
||||
## Default thresholds (can be tuned)
|
||||
- `blurThumbnail = trustedReportCount(event,'nudity') >= DEFAULT_BLUR_THRESHOLD`
|
||||
@@ -28,7 +29,7 @@ Threshold constants are exported from [`config/instance-config.js`](../../config
|
||||
## Admin lists (opt-in)
|
||||
- We recognize curated lists using `30000` events:
|
||||
- `['d','bitvid:admin:blacklist']` → hard-hide when subscribed.
|
||||
- `['d','bitvid:admin:whitelist']` → always show in Discovery.
|
||||
- `['d','bitvid:admin:whitelist']` → improves Discovery ranking when subscribed but no longer bypasses moderation gates.
|
||||
- `['d','bitvid:admin:editors']` → trusted channel editors.
|
||||
- Users can subscribe/unsubscribe any time.
|
||||
|
||||
@@ -36,7 +37,7 @@ Threshold constants are exported from [`config/instance-config.js`](../../config
|
||||
|
||||
1. **Personal blocks win first.** If a viewer blocks an author or reporter, we ignore their content and reports regardless of admin lists.
|
||||
2. **Admin blacklist applies next.** Entries on `bitvid:admin:blacklist` are hard-hidden and their reports suppressed before looking at thresholds.
|
||||
3. **F1 thresholds run last.** Blur/autoplay gating only evaluates trusted-report counts after personal blocks and admin blacklists. Admin whitelists may bypass Discovery gating, but never override a viewer block.
|
||||
3. **F1 thresholds run last.** Blur/autoplay gating only evaluates trusted-report counts after personal blocks and admin blacklists. Admin whitelists contribute to Discovery ranking when a viewer subscribes, but they never override moderation gates or a viewer block.
|
||||
|
||||
## Pseudocode
|
||||
|
||||
|
||||
Reference in new issue
Block a user