Back to Use Cases
Pay data
Local model
Findings
Past ProjectFinanceCourierCourier Platform

Detect payroll discrepancies without sending pay stubs offsite

AI Pay Stub Compliance Product

Payment discrepancy detection on a self-hosted Courier stack

The situation

The problem

A founder was building a payments tracking product that used AI to discover complex payment discrepancies. The inputs were pay stubs and payroll records — data you do not casually upload to a public model.

How it usually works

The default is offsite OCR and a hosted LLM. Stubs, names, amounts, and employer details leave the product, sit in a provider's pipeline, and may be retained for abuse review or training. Privacy policy becomes a PDF, not an architecture.

How we ran it

Privacy requirements meant self-hosted AI. We ran Gemma 3 27B on Courier so analyses, extraction, and discrepancy discovery happen on infrastructure the client controls. Pay data does not need to leave the perimeter to get a finding.

Strategy

Treat payroll documents as a perimeter problem first and a model problem second. The feature has to be affordable and performant without a third party seeing the stubs.

Implementation

Self-hosted Gemma 3 27B on Courier for structured analyses, data extraction, and discrepancy discovery with clear guidelines — vLLM, OpenAI-compatible, on a stack they operate.

Results

  • A production AI feature that was affordable, performant, and ran on infrastructure the client controlled.

Tech Stack

vLLMOpenAI-CompatibleGemma 3 27BPythonCourier OS