use cases · KYC verification

Read the file before a person has to

Onboarding a customer means reading an ID, a company deed, a utility bill and a form, and checking that the four agree. It is documentary work, it is the bottleneck in every account opening, and it involves the documents you least want to send anywhere.

how it works

How it is built.

Three steps, with the component that does the work in each one.

step 01

Read the documents as images

gemma-4-26b

A multimodal model reads the photo of the ID, the scanned deed and the phone picture of a bill, and returns structured fields. No separate OCR stage to tune, and the awkward inputs customers actually send are handled as they arrive.

step 02

Cross-check the four sources

deepseek-v4-flash

Name against name, address against address, company against the person claiming to represent it, dates against validity. Most files agree and pass. The value is in reliably catching the ones that do not.

step 03

Hand the analyst a reason

review queue

A flagged file arrives with the mismatch pointed at and the two values side by side, so the review is a decision rather than a search. Nothing is approved or rejected without a person, because that decision is regulated and it is theirs.

drop-in

Change one line. Keep your code.

Point the OpenAI SDK, or LangChain, LlamaIndex, your own pipeline, at Helmcode. Same calls, same shapes, private models on EU infrastructure.

read_the_docs
verify.py
from openai import OpenAI

client = OpenAI(
    api_key="sk-...",
    base_url="https://api.helmcode.com/v1",  # one line changes
)

# 1 · read the ID, the deed and the bill as images
fields = client.chat.completions.create(
    model="gemma-4-26b",
    messages=[{
        "role": "user",
        "content": [
            {"type": "text", "text": RETURN_JSON},
            {"type": "image_url",
             "image_url": {"url": scan}},
        ],
    }],
    response_format={"type": "json_object"},
)

# 2 · cross-check against the form, flag what disagrees
mismatches = client.chat.completions.create(
    model="deepseek-v4-flash",
    messages=[{
        "role": "user",
        "content": fields + form,
    }],
)

why here

Why on Helmcode.

What changes when you run it on open models, on infrastructure you control.

01

Identity documents are the worst thing to send away

A folder of ID photos is the single most attractive target in your systems. EU-only inference with zero logs keeps it out of a third party, and the on-premise deployment keeps it inside the network where it already lives.

02

Onboarding comes in peaks

A campaign or a product launch multiplies the queue for a fortnight and then it drops. A flat rate absorbs the peak without a conversation about budget, and without the queue becoming the reason the campaign underperforms.

03

What this is not

This is the documentary check, not sanctions and PEP screening. Those are list-matching problems, dedicated providers do them properly and we are not going to pretend otherwise. This sits before them and feeds them clean data.

industries

Where it is used.

The sectors where this case has traction, each with its own page and its own regulation.

all_industries →

In production at

// faq

KYC verification, answered.

What onboarding and compliance teams ask before a model reads an identity document.

Does this replace our KYC provider?

Not the screening part, and probably not the liveness and document-authenticity checks either, which are a specialised field. It replaces the manual reading and cross-checking that sits around them, which is usually where the days go.

Can it detect a forged document?

It can notice that something is inconsistent: a font that does not belong, a date that cannot be right, a field that contradicts another document. It is not a forensic authenticity check, and treating it as one would be the wrong way to use it.

Is an automated onboarding decision allowed?

Keep a person on the decision. Beyond the anti-money-laundering rules that govern who may approve a customer, an automated decision with legal effect on someone brings GDPR Article 22 into play. The sensible design is a model that prepares the file and a person who signs it.

// get started

START BURNING TOKENS

Skip the AI infra work. Deploy your first private inference endpoint today.

Flat rate. EU data. OpenAI API compatible.