This is a moderator tool for Reddit built with Devvit Web.
If you are new to this repo, think of TrustSignal as a helper that:
- scans posts
- gives each post a TrustSignal score
- can apply flair based on your threshold
- keeps an audit trail of moderator actions
- shows a dashboard inside Reddit
- App type: single Devvit Web app (not old Blocks architecture)
- Runtime stack: TypeScript client + server
- Main config file:
devvit.json - Latest supported Devvit version for this project: 12.22
- A post is created or edited.
- TrustSignal runs a local heuristic scan.
- The post gets a score.
- If your subreddit setting allows it, flair is applied automatically.
- Approve/remove actions are logged against the latest scan for auditing.
src/client/: dashboard UI that moderators see in Redditsrc/server/: triggers, menu actions, settings validation, Reddit API work, storagesrc/shared/: shared TypeScript typesdevvit.json: source of truth for permissions, triggers, settings, and menu actions
- Node.js
22.12.0or newer - npm
- Devvit CLI version
12.22
Check your Devvit CLI version:
npx devvit --version- Install dependencies:
npm install- Run quality checks:
npm run typecheck
npm test- Build the app:
npm run build- Start local development:
npm run devDeploys are handled by GitHub Actions on pushes to main using .github/workflows/deploy-devvit.yml.
Required secret:
DEVVIT_TOKEN
DEVVIT_TOKEN is maintainer-only for CLI/CI upload workflows. Moderators using TrustSignal inside Reddit do not need this token.
Workflow overview:
- install dependencies
- typecheck and test
- build client/server outputs
- write token to
~/.devvit/token - upload with
npx devvit upload
Defined in devvit.json:
autoScanEnabledrescanOnEditapplyPostFlairtrustThreshold(default:50)
- This repo is the Reddit moderator product only.
- It is separate from the main TrustSignal verification API and website repos.
- Do not reintroduce deprecated Blocks-era setup (
@devvit/public-api,devvit.yaml, or a separate Next dashboard).
Canonical roles and ownership: TrustSignal/docs/REPO_ROLES.md