KYC and verified listings

A badge you cannot give yourself.

One identity check, run by Didit. The result arrives on a signed webhook, and the function that writes it is reachable from nothing you or we can sign in to — which is the only reason the mark on your page means anything to a buyer.

PartnerDidit
Checkedidentity, then the licence
Kept herethe result, never the document

Anyone can put a listing and a name on a page. Buyers know it, regulators know it, and it makes every honest agent look like every other one.

Borrowed listings

Stock advertised by people who are not licensed to sell it.

Trust cost

Every buyer wonders whether the agent is real. Every conversation starts a step back.

Compliance by memory

Permit dates and licence numbers held in your head — until one is missed.

How it works

The whole workflow
Step 01

You start it, and that is all you can do to it

Your session may move your own profile to “pending” and attach the provider’s reference. It may not write an outcome, and a trigger refuses the attempt rather than ignoring it. A verified marker an agent can set on themselves is not a verified marker — it is a checkbox.

Step 02

Didit runs the check

Emirates ID and a liveness check, at the provider. Identity documents are the one category of data whose custody is expensive for everybody who holds it, so the cheapest way to protect yours is not to hold it: we receive an outcome and a reference, and that is the whole record.

Step 03

Only the signed webhook writes “verified”

The result arrives as a signed request whose HMAC is checked over the raw body before anything is parsed, and the function that moves the status is granted to no role at all. Anything the provider has not approved stays pending, including a status they invent on a Tuesday.

Step 04

The permit block prints on everything

Permit number, type, issue date, issuing licence and your broker number, on every property page and in every brochure. A listing missing any of them cannot be published: the gate tells you which one, and a check constraint refuses the row if anything else tries.

Move your own profile to pendingyes
Attach the provider’s referenceyes
Write your own outcomerefused by a trigger

The function that records a result is security-definer and its lock keys on the database role, which is the one thing a session cannot forge.

1
identity check for the life of the account
0
identity documents stored here
100%
of published pages carry a permit block
0
owner contact details, anywhere in the product

What you get

Trust that is visible, and compliance you do not have to remember.

Checked by a specialist, not by us

Didit performs the identity check and we hold the outcome and its reference. That is everything an audit needs and the least a breach could lose — and it is the reason there is no form here asking you to photograph your Emirates ID.

Runs the checkthe provider
Stored hereoutcome · reference · timestamp
A scan of your IDnowhere to put one
A licence number alone proves nothing

Every Dubai broker number is public — anyone can read one off the Land Department register. So a number on its own proves the number is real, not that the person typing it holds it. That gap is the entire reason an identity check exists, and it is why the two facts are recorded separately.

Checked against the registeris the licence real?
Checked by the provideris this the holder?
One check for bothneither implies the other
The permit block is the other half

An advertisement is compliant or it is not published — that is the gate, and it applies to a private client link exactly as it applies to your public page. Off-plan adds the project and escrow numbers and the Madmoun link, where a missing QR code is a fifty-thousand-dirham fine under Circular (02-2023).

Permit blockevery published page
Permit blockevery brochure, every client link
A Selectionno exemption for a private link
Expiry is read, not remembered

A permit’s expiry is evaluated at the moment somebody opens the page, so the day it lapses the property stops being advertised rather than advertising an expired permit. The dashboard flags the ones coming up, and a permit expiring today is valid through today.

Expiringflagged in the dashboard
Expiredthe page returns not-found
Expiring todaystill valid, through today

Unverified, or verified

Same licence · same listings
Any page with your name on itA verified Onshow page
A badge anyone can drawA status only the provider’s webhook can write
Buyer wonders whether you are realThe mark, wherever your name appears
Permit dates in your headImported, printed, and re-read on every page view
Documents kept who knows whereDidit runs the check; we keep the outcome
An expired permit still advertisingThe page stops resolving the day it lapses

What we never do

Three refusals. Two of them are the law, and the third is why the badge is worth having.

01Keep your identity documentsDidit performs the check. Onshow receives an outcome and the provider’s reference — never an Emirates ID number, never a document image, never a selfie. There is nowhere in this database one could go.
02Ask for an owner’s detailsNo owner lookup, no purchased list, no bot, no API that returns an owner’s number, and nothing sent to an owner by us. RERA Circular 02-2026 prohibits obtaining owner data through unlawful means and prohibits cold contact, and the penalty lands on the brokerage and on the broker.
03Verify your track recordWe verify an identity and a licence. We do not verify how much you have sold: Dubai has no MLS, there is no comparables source to check a figure against, and any number you state stays attributable to you rather than printed with our word behind it.

Fair questions

More on the home page, or ask a person.
Write to us

Why do you need an identity check at all?

Because a broker number is public. Anyone can read a licensed broker’s number off the Dubai Land Department register, so checking that the number is real proves only that — not that the account typing it belongs to the person it was issued to. The check closes that gap and nothing else in the product can.

Do you keep my documents?

No. Didit runs the check and we store the outcome, the provider’s reference and the time. There is no column in this database that an Emirates ID number or a document image could go into, which is a stronger answer than a retention policy.

Is the check required before I can publish?

No, and we would rather say so than imply otherwise. Publishing is gated on the permit block and on your broker number being on your profile, because a compliant advertisement is what the law requires. The identity check is what the verified state on your profile means.

What happens if the check is declined?

Your profile stays unverified and nothing else changes — no listing is removed and no page goes down. Anything the provider has not approved is treated as pending, so a check you abandoned halfway is not a rejection.

I am moving brokerage. What do I do?

Update the licence details on your profile. Your address, your clients and the Activity on your pages stay exactly where they are, and your published pages stay live while you do it.

Works with

Verified once. Printed on everything after that.

Fourteen days, no card. One check, and a permit block on every page you publish.