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#

  1. 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.

  2. Concurrent scanning#

    Multiple scanners run concurrently on the extracted text.

  3. Location tracking#

    Each finding includes the exact page number and heading so you can locate the passage in the original document.

  4. 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.pdf

See Getting Started for installation instructions.