Skip to content

Reputation System

How user trust scores are calculated and used in the verification process.

The reputation system ensures trustworthy behavior is rewarded and spam/abuse is discouraged. Every user has a trust score (0-100) that affects how their submissions are processed and how much their reviews count.

Trust Score = (approved_reports_ratio × 40)
+ (review_accuracy × 30)
+ (account_age_bonus × 15)
+ (verification_level × 15)
FactorWeightDescription
Approved reports ratio40%% of submitted reports that were approved
Review accuracy30%How often their reviews matched final outcome
Account age bonus15%Longer history = more trust (max at 6 months)
Verification level15%Phone verified / ID verified / expert status
Score RangeTierBenefits
0-20NewCan submit, every report goes through full verification
21-50TrustedReports skip expert review if AI confidence > 80%
51-80EstablishedReviews count 2x; can flag articles
81-100ExpertReview count 3x; can become expert reviewer
  • Report approved: +10
  • Review matches consensus: +5
  • Flagging a fake report: +8
  • Consistent activity over time: +2/week
  • Report rejected: -15
  • Spam submission: -30
  • Review against consensus: -3
  • Flagged for abuse: -50 (or ban)
CREATE TABLE reputation (
user_id TEXT PRIMARY KEY REFERENCES users(id),
total_reports INTEGER DEFAULT 0,
approved_reports INTEGER DEFAULT 0,
rejected_reports INTEGER DEFAULT 0,
reviews_given INTEGER DEFAULT 0,
reviews_accurate INTEGER DEFAULT 0,
trust_score REAL DEFAULT 0.0,
last_activity_at TEXT
);