Skip to content

Repository files navigation

SightLine

SightLine is a mobile-first web MVP for score-based media authenticity analysis, starting with UAP/anomalous media.

V1 produces transparent, preliminary authenticity confidence reports with visible sub-scores, explicit score factors, intake context tracking, local report persistence, and uncertainty notes. It does not provide binary certification.

V1 Features

  • Intake form with file upload and optional context:
    • Claimed date/time, location, device/camera, source link, witness/source notes, original media checkbox.
  • Context-aware scoring: provided context transparently improves relevant scores; missing context lowers them and generates specific findings.
  • Transparent score factors: every category shows the exact rules and deltas that produced its score — no opaque "magic numbers."
  • 7 category sub-scores with category-specific rationale.
  • Weighted overall score (weights per docs/SCORING_MODEL.md).
  • Findings sections: Supports Confidence, Lowers Confidence, Cannot Determine.
  • Intake context summary on results screen.
  • Report persistence: generated reports saved in browser localStorage with a recent reports list (no raw file data stored).
  • Report export: Print / Save PDF via browser print, JSON export for archival.
  • Report metadata: report ID, timestamp, engine version, scoring model version, module versions, SHA-256 hash, container signature (JPEG/PNG/WEBP/HEIC/HEIF magic bytes), and conservative EXIF fields where supported.
  • Backwards-L watermark on score gauge.
  • "Preliminary Scoring" badge on all results.
  • Persistent disclaimer on every report.
  • Storage warnings: non-fatal UI warning if localStorage quota is exceeded.
  • Local/private processing — nothing leaves the browser.
  • Copy safety toolingnpm run copycheck scans for banned phrases.

V1 Does Not Claim

  • Event truth certification.
  • Object identity conclusions.
  • Legal or courtroom-level validation.
  • Complete synthetic media detection.
  • C2PA validation (tracked for future support).

Scoring Categories (V1)

Category Weight
File Integrity 0.20
Metadata / Provenance 0.18
Synthetic / AI Indicators 0.16
Editing / Manipulation Indicators 0.16
Motion / Physics Consistency 0.12
Environmental / Context Checks 0.10
Source Confidence 0.08

Local Run

Requirements:

  • Node.js 20+
  • npm 10+
npm install
npm run dev

Open the URL printed by Vite (typically http://localhost:5173).

Verification

npm test       # 60 unit tests
npm run test:e2e # Playwright automated core workflow
npm run build  # TypeScript check + Vite production build
npm run copycheck  # Scan for banned phrases in app-facing files

Browser Smoke Test

bash scripts/smoke-manual.sh  # Prints 14-step visual checklist

Optional: ffprobe

scripts/ffprobe-metadata.mjs uses ffprobe for video metadata if installed. The app works without it — this is a non-blocking enrichment.

Docs

Brand

The product brand is SightLine. Do not use alternate product names.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages