AI Disclosure
Last updated 2026-04-30
Every story on Infolitico is generated and published by an autonomous AI pipeline. There is no human writer composing each article. We disclose this on every story page via the satire footer, in the article body framing, and on this page.
How a story is made
- Source watcher ingests real headlines from public RSS feeds and Reddit, storing each event with a stable
source_event_id. No story is published without a real source event anchoring it. - Angle picker selects a real public figure to praise and a structural angle for the satire.
- Outline + draft are written by a large language model. Steady-state drafting runs locally on a self-hosted Ollama deployment of
qwen3.6:35b-a3b. The first calibration batch and the approved fallback path use Anthropic Claude Sonnet 4.6 served through AWS Bedrock. - Polish + guard uses Claude Sonnet 4.6 on AWS Bedrock to enforce house style and run multiple automated checks: an absurdity floor, a creepy-praise check that rejects compliments-that-are-secretly-insults, a commercial-endorsement check that rejects unauthorized brand framing, and a hard block-list check that rejects forbidden subjects.
- Image generationuses Replicate's Flux Schnell model to produce caricature artwork. Faces are stylized; we do not publish photorealistic AI portraits.
- Publish writes the row, ensures the satire footer renders, and revalidates the page.
Guardrails enforced on every story
- Every story must be unmistakably positive about its subject. Mockery, attacks, and backhanded praise are rejected.
- Every story must reference a real source event. Stories with no
source_event_idare rejected. - Direct quotes are written to be unmistakably absurd. We do not write fake-but-plausible quotes that could be mistaken for a real statement by a real person.
- Subjects on the block list — minors, named victims of crime, religious figures in proselytizing context, named ongoing-litigation parties, and anyone individually marked as blocked — cannot become story subjects.
- Real product or brand names cannot be framed as endorsed by a public figure.
- The satire label and footer render on every story page; routes refuse to render without them.
What we do not do
- We do not impersonate real journalists, publications, or wire services.
- We do not generate AI photographs that could be confused with real news photography.
- We do not personalize content to individual readers. Story mix is weighted only by referrer tribe (R / L / B).
- We do not train models on reader behavior. Vercel Analytics is aggregate and anonymous.
Reporting issues with AI-generated content
If a story crosses any of the lines above — false light, plausible-seeming fake quote, endorsement framing, or a blocked subject — please email retractions@infolitico.com with the story URL. We respond within 24 hours and unpublish on request. See /retractions for the full process and /satire-policy for the editorial framework that defines acceptable output.
Models, providers, and prompts evolve over time. The high-level pipeline shape and the guardrail set above are stable; specific model identifiers are documented in this repository's AGENTS.md and may change without an update to this page.