Evidence methodology
How candidate incidents become public evidence
The dashboard documents online gender-based violence through a controlled publishing pipeline: platform records are collected, deduplicated, classified, reviewed, and only then represented as anonymized aggregate evidence.
Ingest
Configured X, YouTube, Apify Instagram/TikTok, and supplemental Apify X sources collect candidate platform records.
Prepare
Raw records are normalized, deduplicated, and kept out of public views while the backend decides whether they become review candidates.
Score
Classification proposes relevance, category, summary, and confidence. Records below 30% relevance are not promoted to the review queue.
Review
Threshold processing and authenticated analyst actions decide whether candidates are approved, rejected, or returned to pending review.
Publish
Only approved public-platform candidates are included in anonymized aggregate APIs and dashboard charts.
Public data boundary
Review and threshold validation
Prototype status
Publishing thresholds
Current backend values used by classification and review threshold processing.
Loading backend thresholds
Ingestion sources
Source lanes that feed candidate evidence before deduplication and classification.
X
Canonical recent search plus optional Apify-backed enrichment.
YouTube
Search-driven ingestion from configured active sources.
Instagram/TikTok
Apify dashboard ingestion for public aggregate candidates after review.
Apify validation
Validation-only records are excluded from public aggregate endpoints.
Review states and actions
Authenticated review state controls what can reach public aggregate reporting.
Collected
A candidate exists but has not completed the reviewer workflow.
Triaged
Classification has supplied decision-support metadata.
Pending review
The candidate remains available for authenticated analyst action.
Approved
The candidate can contribute to public aggregate metrics if it is from a public dashboard platform.
Rejected
The candidate is excluded from public aggregates and retained only as operational review state.
Authenticated reviewer actions
Reviewer and admin workspaces can change status or metadata without changing what the public page exposes.
Approve
Marks a candidate as approved and sets the approval timestamp for aggregate eligibility.
Reject
Requires a rejection reason and removes the candidate from public aggregate eligibility.
De-approve
Returns an approved candidate to pending review when a previous decision needs correction.
Category override
Lets analysts replace the model category with a configured taxonomy category.
Reviewer note
Stores internal review context for authenticated users only; it is never shown publicly.
Safety handling by data class
Public and internal surfaces intentionally show different levels of detail.
Incident counts
- Public
- Approved aggregate counts only
- Admin
- Aggregate counts plus review status context
Supports public accountability without exposing individual records.
Geography
- Public
- State or coarse labels
- Admin
- Reviewer caution with restricted operational context
Precise location can increase survivor or target risk.
Raw post content
- Public
- Never shown
- Admin
- Restricted authenticated review detail only
Avoids replaying abuse or exposing identifying language.
Handles, URLs, identifiers
- Public
- Never shown
- Admin
- Avoided unless required for authenticated operations
Prevents re-identification and re-targeting.
Reviewer notes
- Public
- Never shown
- Admin
- Authenticated review/admin users only
Operational context belongs to internal users.
Apify validation-only rows
- Public
- Excluded
- Admin
- May appear in operational review analysis
Validation records are not public dashboard evidence.