A kitchen table in warm afternoon light with a laptop, a phone and loose blank paperwork, a person's hands resting at the edge

Most people who lose coverage were still eligible.

Onfile pulls verified income, household and residency records straight from the source, with the applicant’s consent, and hands the caseworker a structured report instead of a folder of PDFs. It sits behind the portal your state already uses, because the proof is already on file somewhere.

Consent-based. Read-only. The applicant approves every field.

SNAP recertification, demo data

M. Alvarez
Demo data

The paperwork is the failure point.

13.3 million

More than 13.3 million people were cut from Medicaid in 2023 during the unwinding, with procedural issues cited in just over 70% of cases, according to KFF Health News.

13% and 7%

When Utah surveyed the people it had dropped, 13% said the paperwork was too difficult and 7% said they did not have the documents to prove eligibility.

$233bn to $521bn

The GAO estimates the federal government loses between $233 billion and $521 billion a year to fraud. A pay stub can now be generated convincingly in seconds.

$15 a report

The dominant commercial income verification product is the highest-cost option, at roughly $15 a report according to CBPP analysis, with per-query rates raised 126% in Colorado and 120% in Kansas over four years, and it does not cover gig workers properly.

Those last two are the same problem. A system that cannot verify anything cheaply ends up verifying nothing well.

Nine fields. She approves each one.

Demo data

What you’re sharing with the agency

M. Alvarez · Demo data

From payroll

  • Employment status

    3 days old

    Active, W-2, 1 employer
  • Hours per week

    3 days old

    31.00
  • Hourly rate

    3 days old

    $19.40

From gig platform

  • Gig income, 6-month average

    2 days old

    $412.00 / mo
  • Gig income, last 3 months

    2 days old

    Aug $618.00Sep $244.00Oct $391.00

From bank

  • Deposits match income records

    1 day old

    Match confirmed

From residency record

  • Household size

    6 days old

    3 people
  • Household member residency

    6 days old

    2 of 3 confirmed
  • Address

    6 days old

    Current, 14 months

9 of 9 fields shared.

Sent to the caseworker exactly as written.

Never shared, whatever you choose

Onfile reads these to compute the fields on the left. The agency never receives them.

  • Individual bank transactionsHeld back
  • Employer contact detailsHeld back
  • Account balancesHeld back
  • Anything from a source not listed aboveHeld back
PayrollGigBankResidencyOnfileAgencyapproved fieldsraw data held back

Nothing is pre-checked, nothing is bundled, and declining a field is not treated as a red flag.

An empty public office service counter with chairs and a queue number display on the wall

Payroll said she was still employed.

Demo data
  1. 1 · Payroll record

    Active, W-2

    Last updated 3 days ago

  2. 2 · Flag

    ! Discrepancy. The applicant has stated this job ended. The payroll record predates that, because the final pay cycle has not closed.

  3. 3 · Applicant’s context

    “This job ended on the 17th. My last check was the 24th and there won’t be another one.”

  4. 4 · Caseworker sees

    Both the record and the statement, side by side. Next payroll refresh in about 9 days will confirm it.

It does not resolve this and it does not try. A verification layer that quietly picks one version over the other is worse than a pay stub, because nobody can see it happen.

A report, not a shoebox.

Verification report · SNAP recertification

M. AlvarezDemo data
Employment statusActive, W-2, 1 employerPayroll3d! Flagged

Applicant states this job ended on the 17th. Record predates that. Next payroll refresh in about 9 days.

Hours per week31.00Payroll3d✓ Verified
Hourly rate$19.40Payroll3d✓ Verified
Gig income, 6-month average$412.00 / moGig platform2d✓ Verified
Gig income, last 3 monthsAug $618.00Sep $244.00Oct $391.00Gig platform2d✓ Verified
Deposits match income recordsMatch confirmedBank1d✓ Verified
Household size3 peopleResidency record6d✓ Verified
Household member residency2 of 3 confirmedResidency record6d! Unverifiable

The residency record for one household member is not available in this state. One document is requested for that member only.

AddressCurrent, 14 monthsResidency record6d✓ Verified

Applicant’s context, unedited

“This job ended on the 17th. My last check was the 24th and there won’t be another one.”

Document requested: proof of residency for one household member. Nothing else.

Onfile verifies records. The eligibility decision is yours.

A caseworker's desk seen from behind an empty chair, two monitors and a tray of paper

It arrives in your existing eligibility system. There is no new portal and no new login.

Every field carries where it came from and how old it is, so a caseworker can see what they are relying on.

Where we cannot verify something, we say so and ask for that one document rather than restarting the application.

The same profile, the next application.

Once the sources are linked, the next application does not start from nothing. It is already on file. The applicant refreshes the profile, approves the fields that programme needs, and that is the whole process. Consent is per programme, per field, and expires.

SNAP recertification

9 fields
  • Employment status✓ Shared
  • Hours per week✓ Shared
  • Hourly rate✓ Shared
  • Gig income, 6-month average✓ Shared
  • Gig income, last 3 months✓ Shared
  • Deposits match income records✓ Shared
  • Household size✓ Shared
  • Household member residency✓ Shared
  • Address✓ Shared

Medicaid six-month check

4 fields
  • Employment status✓ Shared
  • Hours per weekNot shared
  • Hourly rateNot shared
  • Gig income, 6-month average✓ Shared
  • Gig income, last 3 monthsNot shared
  • Deposits match income recordsNot shared
  • Household size✓ Shared
  • Household member residencyNot shared
  • Address✓ Shared
Demo data

What Onfile holds and what it does not.

  • Read-only access to every source. Onfile cannot change a record anywhere.
  • Consent is per programme, per field, with an expiry date the applicant can see and revoke at any time.
  • Agencies receive computed eligibility fields. They never receive raw transactions, credentials or source access.
  • An applicant can see every share that has ever been made from their profile, including which agency and when.
A tall stack of plain manila folders on an office desk

Priced per verified profile, not per query.

A per-profile fee that covers the initial verification and every refresh for that programme cycle, because charging per query is how verification costs end up rising 126% in four years. Agencies see the price before they integrate and it does not change mid-contract.

Employment statusActive, W-2 · Payroll · 3d

! Discrepancy

“This job ended on the 17th. My last check was the 24th and there won’t be another one.”

Flagged, not resolved. Demo data.

Walk through one recertification.

Nine fields, one flag, one document request, and the same profile reused for a Medicaid check.