<?xml version="1.0" encoding="UTF-8"?><oembed><type>video</type><version>1.0</version><html>&lt;iframe src=&quot;https://www.loom.com/embed/856bebba84cb445db263f78e0e5065ef&quot; frameborder=&quot;0&quot; width=&quot;960&quot; height=&quot;720&quot; webkitallowfullscreen mozallowfullscreen allowfullscreen&gt;&lt;/iframe&gt;</html><height>720</height><width>960</width><provider_name>Loom</provider_name><provider_url>https://www.loom.com</provider_url><thumbnail_height>720</thumbnail_height><thumbnail_width>960</thumbnail_width><thumbnail_url>https://cdn.loom.com/sessions/thumbnails/856bebba84cb445db263f78e0e5065ef-22a179e2a91bf61e.gif</thumbnail_url><duration>281.0808</duration><title>Providence Guard: AI Content Detection Backend</title><description>A Flask backend that classifies whether submitted text was AI-generated or human-written. It returns a calibrated confidence score and a plain-language transparency label, with an appeals path for creators who think a classification is wrong.

- Multi-signal detection: an LLM-based semantic judgment (Groq/Llama 3.3 70B) combined with independent stylometric heuristics (sentence variance, punctuation density, connector-phrase usage), merged via log-odds combination.
- Asymmetric confidence thresholds: deliberately harder to reach a confident &quot;AI&quot; verdict than a confident &quot;human&quot; one, since a false accusation is worse than a missed detection.
- Appeals workflow, structured audit logging, rate limiting, and a small analytics dashboard.

This walkthrough shows the detection pipeline live: a clearly-AI submission, a clearly-human one, and a genuinely human but formally-written one that the system correctly avoids misflagging, plus the appeals flow, audit log, analytics view, and rate limiting in action. For the full write-up and design rationale: see README.md and planning.md in the repo.</description></oembed>