Verify every signature against the person who should have signed it.

Verify every signature against the person who should have signed it.

Verify every signature against the person who should have signed it.

Detection, comparison and a verdict you can open.

SECTORS

Factoring

Cheques arrive in batches, front and back. The fields read cleanly and the signature is the half still open.

Amount

read

Drawer

read

Signature

not checked

Banking

A signatory form is signed once. Every instruction that follows is checked against that one page.

Mark 1

Signer A

Mark 2

Signer B

Mark 3

no profile

Insurance

A claim is signed by the policyholder, or by somebody else. The form looks the same either way.

Similarity

61

Verdict

sent for review

WHAT ARRIVES

Built for the documents you actually receive.

Not the clean ones. The photographed, the folded, the scanned at an angle and the ones that arrive four hundred at a time.

Wet inkSigned in person
Phone capturePhotographed on a desk
ScannerFed through a flatbed
BatchArrived as a stack
FoldCreased down the middle
How it runs

Every signature detected, compared and decided.

01
Whatever arrives is read the same way.
A scan, a photo, a generated PDF. Nothing needs preparing before it goes in.
Drop the document, or point us at the folder
account-opening-form.pdf2 pages
02
Every mark on the page is found.
Each one is scored before anything is compared. Below the threshold, nothing moves alone.
CORPORATE ACCOUNT OPENING FORM
Form no · Branch · Date
Signature #199%
Signature #299%
Signature #398%
03
Matched to the person who should have signed.
Each mark is assigned to a signer and the references enrolled for them.
04
Measured against the whole cluster.
Not one image against one image. The mark is scored against everything enrolled for that signer.
Reference
On the document
0.0%
similarity · accepted into the cluster
Mean similarity99%
Cluster cohesion99%
Centroid98%
05
Move the threshold and the verdict moves.
Nothing thin goes through. The middle outcome goes to a person, not into a pile.
No matchInconclusiveMatch
Match goes through · Inconclusive goes to a person · No match stops
Signature #1 · Managing DirectorMatch
Mean similarity99%
Cluster cohesion99%
Centroid similarity98%
#2 · Finance DirectorMatch
Mean similarity97%
Cluster cohesion96%
Centroid similarity95%
#3 · Operations ManagerMatch
Mean similarity64%
Cluster cohesion61%
Centroid similarity58%
sent to a person for review

UI AND API

Prototype in the UI. Scale with the API.

Use the Signature Verification console to enrol signers, tune thresholds and see exactly how a verdict was reached. Then move the same configuration to the REST API for production volume. Synchronous, asynchronous or batch.

Base URL is your own deployment. Endpoints and payloads are identical.

cURL

Copy

curl -X POST 'https://your-instance.orbina.ai/v1/signatures/verify' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -F 'file=@loan-agreement.pdf' \
  -F 'template_id=loan_agreement_v2' \
  -F 'match_threshold=0.60' \
  -F 'no_match_threshold=0.55'

Python

Copy

import requests

resp = requests.post(
    "https://your-instance.orbina.ai/v1/signatures/verify",
    headers={"Authorization": "Bearer YOUR_API_KEY"},
    files={"file": open("loan-agreement.pdf", "rb")},
    data={
        "template_id": "loan_agreement_v2",
        "match_threshold": 0.60,
        "no_match_threshold": 0.55,
    },
)

result = resp.json()
for sig in result["signatures"]:
    print(sig["signer"], sig["verdict"], sig["mean_similarity"])

Response

Copy

{
  "document_id": "doc_8f31c2",
  "overall_verdict": "requires_review",
  "signatures": [
    {
      "index": 1,
      "signer": "Elif Yıldırım",
      "verdict": "match",
      "mean_similarity": 0.99,
      "cluster_cohesion": 0.99,
      "centroid_similarity": 0.99,
      "bbox": [412, 1180, 664, 1262]
    }
  ]
}

INTEGRATION

Verify signatures inside the workflow you already run.

Signature Verification is one service in the platform. The same document that gets parsed, classified and extracted can be signature-checked in the same pass, and the verdict travels with the rest of the extracted data.

FAQ

Questions we get asked before a signature pilot.

Why not just compare the two images with a standard model?

Three reasons. A generic model scores visual likeness with no knowledge of how this particular person signs, so it cannot separate normal day-to-day variation from a different hand. It returns a number with no calibrated boundary, which means every team invents its own cut-off. And it gives you no record of what it compared against, so a disputed signature months later has no evidence trail. Writer-dependent verification against an enrolled reference cluster solves all three.

How many reference signatures does a signer need?

Three tiers, based on how many references are enrolled. One or two references is a Low profile. It is usable, but the comparison has little to calibrate against. Three references reaches Medium. Five or more reaches Verified, where the reference cluster is stable enough that a genuine variation and a different hand separate cleanly. You can start verifying at Low and strengthen the profile as more documents arrive; every accepted signature can be enrolled as a new reference.

What happens when the system can’t decide?

It says so. Between the Match and No Match thresholds there is a band where the honest answer is that the evidence is insufficient. That verdict is Inconclusive, and those signatures go to the review queue instead of being forced into a yes or a no. A reviewer sees the detected signature, the references it was compared against and every score behind the verdict. Only what the system could not settle on its own reaches a person.

Can it find signatures I didn’t tell it about?

Yes. Detection runs across the whole page before any comparison happens, so a signature in an unexpected position, such as an extra guarantor, an initial in a margin or a second page nobody flagged, is located and returned with its own confidence score and coordinates. In manifest mode you declare who should have signed and the system reports both missing signers and unexpected extra signatures. In open mode it simply reports everything it finds.

What file types and scan qualities are supported?

PDF, PNG, JPEG, TIFF and WebP. Scans arrive imperfect in practice, so the pipeline corrects for rotation and skew before detection, and flags low-contrast or low-quality crops rather than scoring them silently. A signature the system cannot read cleanly is surfaced as such instead of producing a confident-looking number from bad input.

Can thresholds differ per signer or per document type?

Yes, both. Match and No Match thresholds are set system-wide, then overridden per profile where a signer’s hand justifies it. A highly consistent signer can carry a stricter boundary than one whose signature varies. Verification templates carry their own configuration, so a loan agreement can demand more than an internal form. In the console you can drag the thresholds and see how the same evidence would have been decided, without changing the saved result.

Does any signature data leave our environment?

No. Signature Verification runs inside your infrastructure. The verification service, the reference store and the vector index are all deployed in your environment. Reference signatures and document images stay where you put them.

How do we prove a decision after the fact?

Every verification is stored with the evidence behind it: which references the signature was compared against, the similarity, cluster cohesion and centroid scores, the thresholds in force at that moment, and the resulting verdict. That record is retrievable per document and exportable as a report, so a signature disputed months later can be reconstructed as it was decided, not re-scored under today’s settings.

Two engines. One production discipline.

Pre-built Applications

Platforms

Industries

  • Retail & Fashion

  • Insurance

  • Banking & Finance

  • Mobility

Company

  • About

  • Contact

Get Involved

Let’s work together

Get answers and a scoped plan for your first workflow.

Book a demo

Follow us on

© 2026 Orbina Yazılım A.Ş. All rights reserved. Orbina is a registered trademark of Orbina Yazılım A.Ş. All other trademarks, service marks, and company names mentioned herein are the property of their respective owners and are used for identification purposes only. By using this site, you agree to our Terms of Service and Privacy Policy.

Two engines. One production discipline.

Pre-built Applications

Platforms

Industries

  • Retail & Fashion

  • Insurance

  • Banking & Finance

  • Mobility

Company

  • About

  • Contact

Get Involved

Let’s work together

Get answers and a scoped plan for your first workflow.

Book a demo

Follow us on

© 2026 Orbina Yazılım A.Ş. All rights reserved. Orbina is a registered trademark of Orbina Yazılım A.Ş. All other trademarks, service marks, and company names mentioned herein are the property of their respective owners and are used for identification purposes only. By using this site, you agree to our Terms of Service and Privacy Policy.

Two engines. One production discipline.

Pre-built Applications

Platforms

Industries

  • Retail & Fashion

  • Insurance

  • Banking & Finance

  • Mobility

Company

  • About

  • Contact

Get Involved

Let’s work together

Get answers and a scoped plan for your first workflow.

Book a demo

Follow us on

© 2026 Orbina Yazılım A.Ş. All rights reserved. Orbina is a registered trademark of Orbina Yazılım A.Ş. All other trademarks, service marks, and company names mentioned herein are the property of their respective owners and are used for identification purposes only. By using this site, you agree to our Terms of Service and Privacy Policy.

Create a free website with Framer, the website builder loved by startups, designers and agencies.