"Is this manipulation?" — answered in seconds, with philosophical precision.
ARGOS analyzes text through 11 philosophical frameworks and a Gemini AI semantic layer to detect persuasion and manipulation techniques. No prompt engineering. No black box. Paste text, get a verdict.
When you ask ChatGPT "is this manipulative?", you get a paragraph. ARGOS gives you:
- A structured verdict: MANIPULATIVE / PERSUASIVE / MIXED / CLEAN
- A score with confidence level
- A breakdown by philosophical framework — not just what is manipulative, but why, through the lens of Aristotle, Foucault, Kant, Orwell, and 7 others
- Reproducible results — the 11 rule-based detectors always give the same answer for the same text
- Evidence: exact phrases flagged as signals, per detector
| # | Philosopher | Framework | What it detects |
|---|---|---|---|
| 1 | Aristotle | Rhetorical Appeals | Imbalance between ethos, pathos, and logos |
| 2 | Foucault | Power Dynamics | Asymmetric power language, threats of exclusion |
| 3 | Bakhtin | Polyphony & Voice | Monologism, absolutist language, propaganda patterns |
| 4 | Goffman | Frame Analysis | Emergency framing, false consensus, catastrophism |
| 5 | Searle | Speech Acts | Directives disguised as facts, unverifiable promises |
| 6 | Toulmin | Argument Structure | Claims without data, manipulation through bare assertion |
| 7 | Lakoff | Conceptual Metaphors | War/disease/cleansing metaphors that constrain thought |
| 8 | Carnegie | Interpersonal Manipulation | False familiarity, flattery, artificial urgency |
| 9 | Kant | Categorical Imperative | Instrumentalizing people, bypassing rational autonomy |
| 10 | Habermas | Communicative Action | Strategic action disguised as dialogue, consensus faking |
| 11 | Orwell | Politics & Language | Euphemisms, passive voice erasing agency, weasel words |
Plus a Gemini 2.5 Flash semantic layer that catches what exact-match rules miss: paraphrase, morphological variants, implicit threats, and informal constructions.
- Journalists — analyze political speeches and press releases
- Researchers — study propaganda and rhetorical techniques at scale
- Educators — teach critical thinking with concrete, labeled examples
- Individuals — understand why an email or message feels "off"
- Developers — integrate via API for content moderation pipelines
- Backend: FastAPI (Python) — deterministic
fractions.Fractionarithmetic for rule detectors - Frontend: React + TypeScript + Tailwind + Framer Motion
- ML layer: Google Gemini 2.5 Flash via AI Studio API
- Deployment: Vercel (serverless Python + static build)
- Languages: English and Spanish (bilingual detection and UI)
Text input
│
├── 11 Rule-Based Detectors (deterministic, no API calls)
│ Aristotle · Foucault · Bakhtin · Goffman · Searle
│ Toulmin · Lakoff · Carnegie · Kant · Habermas · Orwell
│
└── Gemini 2.5 Flash (semantic layer — catches what rules miss)
│
▼
Weighted Aggregate Score
(only fired detectors count — silent ones don't dilute signal)
│
▼
Verdict + Score + Confidence + Per-detector breakdown
Scoring logic: only detectors that fire (score ≥ 1/10) contribute to the weighted average. A convergence bonus is added when ≥ 3 detectors independently flag the same text. Lakoff is contextual only and does not affect the final score.
# Backend
pip install -r requirements.txt
GEMINI_API_KEY=your_key uvicorn main:app --reload
# Frontend
cd frontend
npm install
npm run dev| Variable | Required | Description |
|---|---|---|
GEMINI_API_KEY |
Yes | Google AI Studio API key — get one here |
{
"text": "You MUST act now — there is no other option."
}Response:
{
"verdict": "MANIPULATIVE",
"score": "9/10",
"score_float": 0.9,
"confidence": "HIGH",
"summary": "Multiple high-confidence manipulation techniques detected...",
"detectors": [
{
"name": "searle",
"philosopher": "Searle — Speech Acts",
"score": "11/12",
"signals": ["HIGH_DIRECTIVE_DENSITY", "FINANCIAL_BAIT_PATTERN"],
"evidence": ["MUST act now", "no other option"],
"label": "Commanding and pressuring — text acts as authority instrument"
}
]
}Returns a pre-loaded example text with full analysis.
{ "status": "ok", "version": "0.1.0" }Philosophical rigor. Python fractions. A bit of Gemini.