Quadrant IntegrityLens#
A tool for teachers to detect AI-generated text in student submissions.
Quadrant IntegrityLens analyses PDF documents for patterns that are characteristic of AI-generated text. It works entirely offline using rule-based heuristics — no data is sent to external services.
flowchart LR
A[PDF Document] --> B[Text Extraction]
B --> C[Concurrent Scanners]
C --> D[Findings with Page & Heading]
D --> E[Terminal Display]
D --> F[PDF Report]What it detects#
Quadrant IntegrityLens looks for a wide range of AI indicators:
- Unicode characters that AI models insert but students rarely type (em dashes, smart quotes, invisible spaces)
- AI vocabulary patterns — overused connectors, significance inflation, formulaic summaries
- Swiss German violations — Eszett (ß) usage, which Swiss German never uses
- Umlaut digraphs — ae/oe/ue where ä/ö/ü should appear
- Rhetorical patterns — negative parallelism, vague attribution, promotional language
- Structural artifacts — bold overuse, label lists, rule-of-three patterns, heading level skips
- Chatbot residues — ChatGPT markup, collaborative phrases, unfilled placeholders
How it works#
Text extraction#
The PDF is converted to structured text. Word PDFs use the embedded text layer (fast). LaTeX PDFs with broken text layers are automatically detected and re-extracted with OCR.
Concurrent scanning#
Multiple scanners run concurrently on the extracted text.
Location tracking#
Each finding includes the exact page number and heading so you can locate the passage in the original document.
Results#
Results are displayed in the terminal and optionally exported as a PDF report.
Quick start#
# Analyse a document
integritylens document.pdf
# Generate a PDF report
integritylens --report report.pdf document.pdfSee Getting Started for installation instructions.