Skip to content

About

Local-first evidence workspace for viral claims, with Rust/WebAssembly coverage engine, contradictions ledger and exportable briefs.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

TrustTrace

Evidence before amplification.

A local-first verification workspace for viral claims. Build a traceable source ledger, record contradictions, inspect evidence coverage, and export a brief before sharing. The product does not label claims true or false and never pretends to have read a URL automatically.

Live demo · Method · Run locally

React Rust Tests License

TrustTrace dashboard

Why this matters

A viral post moves faster than careful sourcing. TrustTrace gives the person checking it a deliberate workspace: one exact claim, evidence cards with dates and publishers, a place for contradictions, and an exportable trail. The index measures how much of the ledger is documented, not whether the claim is true. This distinction is part of the product, not a disclaimer tucked away.

Features

  • One claim per ledger, with primary, independent, contradicting, contextual and unverified evidence types
  • Transparent Rust/WebAssembly scoring core; documented JavaScript fallback if WASM cannot load
  • Search/filter, source URL validation, publisher breadth, dated/direct/independent metadata
  • Export Markdown evidence brief and versioned JSON backup; import with validation and duplicate-ID checks
  • Sample case with synthetic, clearly illustrative source entries
  • Browser-local storage; no account, paid API or third-party fact-checking promise

How the index works

A source gets points according to its type, whether it is independent, dated and directly relevant. The aggregate includes publisher breadth and context, and subtracts a review penalty for contradictions. Bounds are 0-1000. The model is intentionally small and auditable in lib.rs; the JavaScript fallback in scoring.mjs mirrors it.

Important: numbers are workflow cues, not calibrated probabilities or a substitute for opening a source. A well documented false claim can have a high coverage index. Contradictions need investigation, not erasure. A repeated article that merely quotes one original source should not be marked independent.

Run locally

npm ci
npm run dev # opens the unbundled dev.html
npm test

For the Rust engine, install a stable Rust toolchain and the wasm32-unknown-unknown target, then:

cargo test
cargo build --release --target wasm32-unknown-unknown
cp target/wasm32-unknown-unknown/release/trusttrace_core.wasm trusttrace_core.wasm
npm run build

The bundled trusttrace_core.wasm is compiled from lib.rs; the loader falls back to JavaScript if it cannot be fetched or instantiated. npm run check runs the JavaScript tests and production build. No environment variables or external API keys are required.

Structure

lib.rs                Small scoring engine and Rust tests
model.mjs             Input validation, ledger calculations and Markdown report
scoring.mjs           WASM loader and equivalent fallback
main.jsx              React app and browser state
style.css             Responsive visual system
model.test.mjs        Node tests
dev.html              Unbundled development entry
index.html            Published, single-file production app
trusttrace_core.wasm  Compiled WASM binary, copied to dist/ by build

Privacy and limits

The ledger stays in the browser's local storage. Export backups before clearing browser data. Anyone using the same browser profile can read it. GitHub Pages serves the static app and may receive ordinary web-server request metadata; the app does not send claim/evidence contents to a backend. Do not put sensitive personal information in public source URLs or exported briefs. This is a research aid, not professional fact-checking or an automated truth detector.

License

MIT. See LICENSE.

About

Local-first evidence workspace for viral claims, with Rust/WebAssembly coverage engine, contradictions ledger and exportable briefs.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages