Appearance
What Verity is
Verity is a KYB (know-your-business) operations tool. A merchant applies, Verity gathers evidence about them from registries and screening providers, scores the risk that evidence implies, and gives a human the material to approve, reject or escalate — with a record of what was checked and what was found.
It is not an automated decision engine. Every outcome is a person's decision; Verity's job is to make sure that person is looking at the truth.
What it actually does
Collects evidence. Commercial registration, ownership, sanctions and PEP screening, identity verification, national address, employment, bank account, domain and website signals. Each call is recorded as a provider fetch run with its raw response, a normalised summary and a sanitised request/response snapshot.
Reports verification coverage. How much of a merchant's file has been verified, on a 0–100 scale. This is a completeness measure, not a risk measure — the two are deliberately kept apart.
Assesses risk. A weighted score over configurable factors, banded into low / medium / high, with gates that recommend an outcome outright and a provenance rule that stops weak sources from lowering risk. See the risk model.
Runs reviews. A review is the unit of decision. It has a lifecycle, an assignee, notes, blockers, and an audited outcome. See Reviews and decisions.
Publishes. A read API for entities and reviews, and outbound webhooks when a review is approved, rejected, escalated or assigned.
What it deliberately does not do
- Decide on its own. Gates recommend; they do not approve or reject.
- Guess. A country risk table and a legal-form ranking ship empty on purpose — those are compliance judgements, not defaults an engineer should invent.
- Fill silence with reassurance. An unrun check, an unanswered provider, an unreadable gate and an unassessed merchant each say so plainly. See The principle.
Shape of the system
| Layer | Choice |
|---|---|
| Framework | Rails 8.1 on Ruby 4.0.1 |
| Database | PostgreSQL (primary, plus separate cache and cable databases) |
| Frontend | Importmap + Propshaft + Hotwire (Turbo and Stimulus) |
| Jobs | Solid Queue |
| Auth | Custom session-based; API keys for machine access |
| Multi-tenancy | Every query scoped to an account |
More detail in Architecture.
Countries
Verity is built around Saudi Arabia first — Wathq for the commercial registry, Elm for government identity, SPL for national addresses — with account-level country defaults that decide which checks run where. Other GCC countries are seeded but carry no provider integrations of their own yet.