All articles

Identity checks: what actually stops fake listings

8 min read

A directory dies of fake listings before it dies of anything else. Recycled photographs, one agency posting under twenty names, telephone numbers that ring nowhere. Visitors work it out in about two visits and stop coming back, and the honest advertisers leave with them, because their listing is sitting next to the fakes and being judged by the same people. By the time the pattern is obvious in your traffic figures, it has been obvious to your users for a month.

The good news is that the problem is well understood and the countermeasures are boring. Three checks, applied in the right order, remove most of it. They cost very different amounts, they prove very different things, and the cheapest one does most of the work. What follows is the order to build them in, and what to do with the results, which is the part almost everyone gets wrong.

What a fake listing actually costs you

Start with the direct cost, which is the smallest part. A fake listing occupies a slot, appears in searches and takes enquiries away from someone real. If your ranking rewards recency, the account posting twenty variants of the same advert pushes everyone else down the page, and the advertisers who actually pay you are the ones losing the position they paid for.

The larger cost is what it does to the visitor. Someone who calls two numbers that never answer concludes that the site is not maintained, and that conclusion is very hard to reverse. They do not complain and they do not leave a review. They simply do not return, and nothing in your analytics will tell you why the share of returning visitors quietly fell.

The third cost arrives later and hurts most. Payment providers, advertising networks and regulators all read a directory full of unverifiable listings as a directory that does not know who its users are. That is the moment the problem stops being a quality issue and becomes an existential one, because the account you use to charge advertisers depends on the answer you can give.

The three checks, in order of what they cost

The cheapest is the telephone. A code by message, once, before the listing goes live. It costs a few cents, it takes twenty seconds and it removes the bulk of the noise, because whoever posts the same advert on forty sites is not going to hold forty numbers. It proves nothing about who the person is, and that is fine. It is a filter, not an identity.

Two details decide whether it works at all. Reject disposable virtual numbers, which are free by the hundred and defeat the entire purpose, using any of the number intelligence services that classify a line as mobile, fixed or virtual. And re-verify whenever the number on the listing changes, because otherwise an account verified in January can be quietly repointed to a different phone in March, which is exactly what somebody reselling accounts does.

The second check is the photograph, and it is a check on the image rather than on the person. Has this exact file already appeared on this site under another account, or anywhere on the open web? A perceptual hash computed at upload and compared against everything you already hold catches the agency recycling one shoot across accounts. That is the most common form of fake listing and the first one visitors notice.

Reverse image search against the open web catches the other half, which is photographs lifted wholesale from social media or from a competing directory. Neither check should reject anything automatically. A duplicate is a strong signal, not proof: the same photograph can legitimately appear on two sites belonging to the same person. Send it to a human queue instead, and let whoever reviews it see the new upload and the older one side by side.

The third check is identity, and it is the one that costs. A government document plus a live selfie, matched by a specialist provider, with a liveness test that a printed photograph or a screen cannot pass. A few tens of cents per check. It settles what phone and photograph cannot: this person is an adult, this person exists, and this is the same person who verified last month. It is also what a payment processor will ask you to show.

Buy this one, do not build it. The document formats, the fraud patterns and the model retraining behind a working identity check are a full time business, and running one badly is worse than not running one at all, because it produces a badge that means nothing while looking like it means something. What you build is the part around it: when the check is triggered, what happens when it fails, who can review a borderline case, and how long a result stays valid.

What to do with the result

The mistake almost everyone makes is to keep the check invisible. If verification lives only in your database, you have paid for it and nobody can see it. Put a mark on the listing, in the search results as well as on the listing page itself, and make it visually distinct from the badges that only mean the advertiser is paying you. Those two things being confusable devalues both.

Let visitors filter for it. A filter is worth more than a badge, because it turns the check into traffic: verified advertisers get more views, they notice, and the ones who have not verified ask how. That is the mechanism by which a voluntary check becomes near universal without anybody being compelled, and it is the reason to put the filter somewhere obvious rather than at the bottom of an advanced panel.

Say plainly what the mark means, on a page you can link to. Verified here means a document and a live photograph were matched by a named provider on a given date. It does not mean the site endorses the advertiser, it says nothing about the services offered, and it does not mean that a listing without the mark is fraudulent. A badge nobody understands generates support tickets first and complaints later.

Then let the incentive do the work. Rank verified listings above unverified ones where everything else is equal, and say so openly. Advertisers respond to position far more reliably than to policy, and a rule that pays off is followed voluntarily by the same people who would have argued for a month about the identical rule imposed as an obligation.

The mistakes that undo all of it

Do not make it mandatory on day one. A new directory with three advertisers and a hard requirement stays a directory with three advertisers. Make it optional, make it visible, make it pay, and raise the requirement later, when the verified listings are already the ones collecting the enquiries. The market closes that gap faster and more cheaply than a rule does.

Do not store the documents. There is no reason to keep a copy of anybody's passport on your own servers: keep the outcome, the date, the provider's reference and nothing else. Identity documents are the most sensitive category of personal data you will ever handle, the obligations that follow them are heavy, and a copy you never needed is the thing that turns an ordinary security incident into a reportable disaster.

Do not verify once and forget. An account verified two years ago and since sold, shared or handed to a manager is verified in your database and unverified in reality. Re-run the check on a schedule, and immediately on the events that suggest the account changed hands: a new phone number, new payout details, a long dormancy followed by a sudden burst of activity.

Where this is heading

The direction of travel is one way. Several jurisdictions now require age assurance for adult content, and the wording increasingly covers the people who publish as well as the people who browse. The specific rules differ and will keep changing, but no legislature anywhere is moving towards asking for less. Building the process now costs a fortnight of work. Retrofitting it against a deadline, with advertisers who never expected it, costs considerably more than that.

The commercial pressure points the same way. A payment processor deciding whether to underwrite you asks how you know your advertisers are adults, and reads the answer as evidence of whether the whole operation is run seriously. Advertising networks ask the same question in different words. A verification process is now part of what makes a directory bankable, not merely part of what makes it pleasant to use.

So do the cheap ones first. Phone verification and duplicate detection will remove most of the problem for almost nothing, and both can be running this week. Identity checking costs real money for every advertiser who passes through it, so put it where it earns that money back: visible on the listing, filterable in search, and rewarded in the ranking. Then the advertisers who want to be found do the persuading for you.

Try the DEMO

Escort directory software, ready to go