A third party ATProto appview
1# ============================================================================
2# INSTANCE MODERATION CONFIGURATION
3# ============================================================================
4# Configure legal compliance and instance-level content moderation
5# These settings control built-in labeling (separate from third-party labelers)
6
7# ============================================================================
8# BASIC CONFIGURATION
9# ============================================================================
10
11# Enable/disable instance moderation entirely
12# Set to 'false' to disable all instance-level moderation
13ENABLE_INSTANCE_MODERATION=true
14
15# Your App View's DID (used as the label source)
16# This identifies your instance as the labeler
17APPVIEW_DID=did:web:appview.yourdomain.com
18
19# ============================================================================
20# LEGAL JURISDICTION
21# ============================================================================
22
23# Instance legal jurisdiction (affects which laws apply)
24# Examples: US, EU, UK, DE (Germany), FR (France), AU (Australia), etc.
25INSTANCE_JURISDICTION=US
26
27# Legal contact email for DMCA and takedown requests
28# This email will be used for compliance notices
29LEGAL_CONTACT_EMAIL=legal@yourdomain.com
30
31# ============================================================================
32# AUTO-MODERATION SETTINGS
33# ============================================================================
34
35# Automatic hide threshold based on user reports
36# Content reaching this many reports will be auto-hidden pending review
37# Lower = stricter (EU typically 3-5, US typically 10+)
38AUTO_HIDE_THRESHOLD=10
39
40# ============================================================================
41# JURISDICTION-SPECIFIC EXAMPLES
42# ============================================================================
43
44# Example: US-based instance (DMCA focus)
45# INSTANCE_JURISDICTION=US
46# LEGAL_CONTACT_EMAIL=dmca@yourdomain.com
47# AUTO_HIDE_THRESHOLD=10
48
49# Example: EU-based instance (GDPR + DSA compliance)
50# INSTANCE_JURISDICTION=EU
51# LEGAL_CONTACT_EMAIL=dsa-contact@yourdomain.eu
52# AUTO_HIDE_THRESHOLD=5
53
54# Example: Germany (NetzDG compliance - 24 hour response requirement)
55# INSTANCE_JURISDICTION=DE
56# LEGAL_CONTACT_EMAIL=netzdg@yourdomain.de
57# AUTO_HIDE_THRESHOLD=3
58
59# Example: Personal/Private instance (minimal moderation)
60# INSTANCE_JURISDICTION=PRIVATE
61# LEGAL_CONTACT_EMAIL=admin@personal.instance
62# AUTO_HIDE_THRESHOLD=999
63
64# ============================================================================
65# CUSTOM LABEL CONFIGURATION
66# ============================================================================
67# To add custom labels for your jurisdiction:
68# 1. Edit server/config/instance-moderation.ts
69# 2. Copy a template from instance-moderation.example.ts
70# 3. Set enabled: true for labels you need
71# 4. Restart the server
72
73# ============================================================================
74# PUBLIC TRANSPARENCY
75# ============================================================================
76# Your instance moderation policy is publicly accessible at:
77# GET /api/instance/policy
78#
79# This shows:
80# - Jurisdiction
81# - Legal contact
82# - Enabled labels and their severity
83# - Auto-moderation settings
84#
85# Moderation statistics available at:
86# GET /api/instance/stats