Stories

When the register is the product: building a standards body that can be checked

The Private Lending Association of South Africa publishes records that tell a stranger who is real. That makes every entry a liability, every badge a claim that travels, and the door the most important thing on the site. Here is the system, and why it runs Crossdeck for analytics and Crossdeck Trust.

Crossdeck

Summary

  • A voluntary standards body has no statutory power and no enforcement. Everything it is worth rests on one question: are the records true?
  • So the failure mode is not a missed sale. It is one false entry in a public register — which does not merely mislead the reader who finds it, it discredits every true entry beside it.
  • That makes the application path the security perimeter. Crossdeck Trust sits on it with the same doctrine we proved on Biotree: score everything, auto-block nothing, refuse rather than delete — and never a black box, because a body that publishes its methodology has to be able to say why.
  • And the badges do not sit still. Every one is served from the Association’s own domain and regenerated from the register, so withdrawing a record changes the artwork wherever in the world it is displayed.

A body whose product is a record

The Private Lending Association of South Africa is a voluntary industry association: the national education, standards and market-information body for private lending. It is not a regulator, not a government body and not a financial services provider, and it says so on every page. Credit providers are regulated by the National Credit Regulator, advice by the Financial Sector Conduct Authority, banking by the Reserve Bank. The Association has none of those powers and claims none of them.

What it has instead is public registers, a code of conduct and a published verification methodology. Somebody is approached about a private-lending arrangement, does not know the market, and wants to know whether the organisation in front of them is real and what its role actually is. The registers are the answer to that question, and they are the whole product.

Which puts the engineering problem in an unusual place. Most products fail commercially when nobody uses them. This one fails the moment somebody checks a record and finds it was not true.

A record nobody can check is a rumour with better typography.

Who is who here, said plainly

Before any of the rest: the relationships in this project overlap, and the Association publishes that openly, so we will too.

The Association was established with the funding and support of ProLend, its Founding Gold Partner, and ProLend is a Cross Constellation client. Wes Thomson is ProLend’s Managing Partner, the Association’s editor, and this organisation’s founder. Cross Constellation built the Association’s website and worked with it on the design of the system described below.

The Association does not describe itself as independent, and nor do we describe it that way. It is founder-led and says so on its governance page. What is independent is narrower and more useful: no status takes effect unless the Independent Reviewer confirms it, that Reviewer may vary or refuse any decision, and the annual report is published in full. That is the part worth building software around — a body marking its own homework is a body whose register means nothing.

Four statuses, and why blurring them is the entire risk

The Association records four different things about a name, and they are deliberately not a ladder:

Listed Organisation

That an organisation exists, who it is, and what role it says it performs. A baseline identity and eligibility check. Free — which means no fee, not open admission. It is not membership, not verification, and not an endorsement.

Member — individual or organisation

That the holder has joined and committed to the Code of Conduct. It is a fact about a relationship, annually renewed. It is not an assessment and it never produces one.

Verified Practitioner or Verified Organisation

That a named subject was assessed against published criteria, for a stated role, within a stated scope, on a stated date. It carries an expiry and annual surveillance. The fee pays for the assessment, not the result.

Partner

A disclosed commercial or supporting relationship. It is the badge money is involved in, which is exactly why it may never be displayed in a way that reads as approval.

Holding one never produces another, and only statuses actually held are shown. That sounds like a drafting nicety. It is the central control. Every fraud this market has ever run turns on upgrading a weak status into a strong-sounding sentence — a free listing described as being registered with, a membership described as approved. So the required wording travels with the record, the registers publish the unflattering states too — pending, expired, suspended — and there is no artwork at all for a status nobody earned.

A public register is an indexed database of names. That is a target.

We had seen this shape before. A link-in-bio product is a public, indexed page per user, and that is precisely why spam farms attacked Biotree — a reputable domain will lend its credibility to anything that gets published on it.

A register of lending organisations is the same shape with the stakes moved. Nobody farms backlinks here. They do something worse and quieter: get a name onto a trust register and then point at it. The listing is free, the application is open, and the entire value of the resulting entry to a bad actor is that a stranger will believe it. One fabricated entity inside a register does not cost the Association a listing. It costs the reader money, and it costs every legitimate entry on that page its meaning.

So the door is the product’s security perimeter, and it runs Crossdeck Trust on the same doctrine we hardened under live fire on Biotree, with one clause that matters far more here than it did there:

  • Score everything, auto-block nothing. Trust produces a signal on every application. The signal surfaces risk; it does not pass sentence. The machine is a witness, not a judge — which is the same principle as the Independent Reviewer, one layer down.
  • Block on facts and published rules, not on a vibe. An association that publishes its methodology cannot refuse somebody on a number it will not explain. The criteria are on the site; the evidence is what a decision rests on.
  • Enforce at the write layer. The gate lives server-side on the path that actually creates a record, because a bot does not admire the interface. It writes.
  • Refuse; never delete. Here this is not only recoverability, it is fairness. A rule will occasionally catch a real lending business, and a wrongly refused applicant is a reputational act against a working company. A refusal can be reversed and explained. A deletion cannot be undone and a suspicion, once published, cannot be unpublished.
  • A human triages the middle, and the Reviewer confirms the end. Ambiguous applications land in a review lane. No status — however clean the signal — takes effect on the strength of a score.

Bank-grade and boring on purpose: named, explainable methods rather than an inscrutable model. When you refuse an organisation admission to a trust register, you must be able to say why, in terms a person can audit and a court would accept. A security layer you cannot explain is not a trust layer. It is a liability wearing one’s clothes.

Badges: a claim that travels

A badge leaves the issuer’s control the moment it is embedded. It sits on a page the Association did not write, beside claims it has not seen, and it keeps asserting whatever it asserted on the day it was copied. Three things go wrong, and each one is designed out rather than discouraged.

It goes stale

A record lapses and the artwork carries on saying otherwise. So badges are not files. Every one is served from the Association’s domain and regenerated from the register, which means changing a status changes every badge displaying it, everywhere, at once.

It gets inflated

A membership badge is placed where it reads as approval. So one badge per record, the wording fixed, the families never merged into a single mark, and a verification page that leads with what the badge does not mean.

It gets forged

Somebody who holds nothing recreates the artwork. So every badge carries the holder’s name and a code, and a code that was never issued resolves to a page saying exactly that.

The withdrawal behaviour is the part we are most pleased with, because the obvious implementation is wrong. On withdrawal the hosted artwork does not vanish — a missing image reads as a website fault and invites the holder to re-upload a saved copy. It is replaced by a badge that states, in the Association’s own type, that the record was withdrawn. The verification page is kept and updated rather than deleted, so a link in a three-year-old article still resolves to the truth instead of a 404 that tells the reader nothing.

And where the artwork genuinely cannot revoke itself — LinkedIn, a PDF, a printed brochure — the answer is not to pretend. Holders are pointed at LinkedIn’s Licenses & Certifications fields, which carry an issuing organisation, a credential ID, a credential URL and an expiry date LinkedIn will enforce on its own. Every badge prints its own review date on its face for the same reason: a reader who sees a date in the past knows what they are looking at without having to trust the page it sits on.

What analytics is actually for when you are an education body

The Association publishes no estimate of the size of the South African private-lending market, and it says why: no reliable estimate exists. That refusal is worth dwelling on, because it defines what its analytics can and cannot be for. An organisation that will not publish a number it cannot stand behind does not get to quietly infer one from its own traffic.

What the readership legitimately tells it is narrower and more useful: which questions South Africans actually arrive with. Whether the people reading what would I hold go on to read risk and red flags, or stop at the first page. Which guide somebody had read before they applied for verification, and where in the application they gave up. That is editorial evidence — it tells a standards body what this market misunderstands, which is the only honest basis for deciding what to write next.

Crossdeck is there because that question needs identity resolved onto one timeline rather than split across an anonymous visit and an unrelated application. A person who reads the red-flags guide for three weeks and then applies is one person. Counted as a pageview and a form submission, they are two facts that never meet, and the single most useful thing the Association could know — what does somebody read before they trust us enough to put their name on a register — is unanswerable.

A standards body that cannot see which of its standards went unread is guessing at its own syllabus.

What we built

Cross Constellation built the Association’s website and worked on the design of the system behind it: the register model and the wording that travels with each status, the badge programme and its verification endpoints, the application paths, and the analytics and trust layer underneath.

Almost none of that is visually interesting, and that is the correct outcome. The site is plain on purpose — it is text, a sans-serif, hairlines and a lot of white space, because a body asking to be believed about other people’s claims cannot afford to look like it is selling something. The engineering went into the parts a reader never sees: that a status cannot be produced by holding another one, that a badge cannot outlive its record, that a code nobody issued has an honest page waiting for it.

The badge programme is public in full, including the conditions of use and the grounds for withdrawal, and every issued badge is listed on it — derived from the registers rather than kept beside them. If a badge is not on that page, the Association did not issue it. That single sentence is only true because the list is generated, not maintained.

The transferable part

Most organisations that publish trust signals — directories, marketplaces, membership bodies, review platforms — treat the signal as marketing collateral and the door as an admin process. It is the other way round.

  • Work out what your one false entry costs. If a single fabricated record would discredit the rest, your intake is a security system, not a form, and it should be resourced like one.
  • Never let a weak status be spoken as a strong one. Ship the required wording with the record, so the sentence cannot drift after it leaves you.
  • Generate every public claim from the source of truth. Anything maintained beside the register eventually disagrees with it, and the version out in the world is the one you cannot correct.
  • Make withdrawal say something. A deleted page and a broken image both read as a fault. A page that states what was withdrawn, and when, reads as an institution.

None of this makes an association trustworthy. It makes it checkable, which is the only part software can contribute. The rest is whether the assessments are done properly — and that is what the Independent Reviewer, the published criteria and the complaints process are for.

Publishing a trust signal other people will rely on?

The registers, the badge programme and the conditions behind them are public in full.

Questions people ask

What is the Private Lending Association of South Africa?
It is a voluntary industry association that publishes education, standards and public registers for South Africa’s private-lending market. It is not a regulator, a government body or a financial services provider, and it has no statutory powers — credit providers are regulated by the National Credit Regulator, financial advice by the Financial Sector Conduct Authority and banking by the South African Reserve Bank. It was established with the support of ProLend, its Founding Gold Partner.
Does membership of an industry association mean someone has been assessed?
Not by itself, and conflating the two is the most common misuse of an association’s name. Membership records participation and a commitment to a code of conduct. Only a completed assessment against published criteria produces a verification, and it applies to a stated role within a stated scope, with an expiry date. A listing is narrower still: it records identity and stated role, and nothing more.
How do you keep a public trust register free of fraudulent entries?
Treat the application path as a security perimeter rather than an admin form. Score every application for risk, but block only on published criteria and facts, enforced server-side on the write path rather than in the interface. Make every refusal recoverable and explainable, route ambiguous cases to a human, and require an independent confirmation before any status takes effect. A register’s value is destroyed by one false entry, so the intake deserves the engineering.
How should an organisation issue badges that can be revoked?
Serve the artwork from your own domain and generate it from the register rather than distributing image files, so a status change propagates everywhere the badge is displayed. Give every badge a unique code and a public verification page, keep that page alive and updated after withdrawal instead of deleting it, and replace withdrawn artwork with a badge that states the withdrawal — a missing image reads as a website fault and invites a saved copy to be re-uploaded.
Why would a standards body need product analytics at all?
To know which of its material is actually read, and where people stop. For an education and standards body the readership is editorial evidence: it shows what the market misunderstands and therefore what to write next. It is not a substitute for market data — the Association publishes no estimate of the size of the private-lending market, because no reliable one exists, and site traffic is not a proxy for it.
Did Cross Constellation build the Association’s website?
Yes. Cross Constellation built the website and worked with the Association on the design of the system behind it — the register model, the badge programme and its verification endpoints, the application paths, and the analytics and trust layer. The relationships overlap and are disclosed: the Association was established with ProLend’s support, ProLend is a Cross Constellation client, and Wes Thomson is ProLend’s Managing Partner, the Association’s editor and this organisation’s founder.

Every product named here is built and operated by Cross Constellation.


The standard

Software cannot make a body trustworthy. It can make every claim it publishes checkable.

Read next

The second product is found by operating the first
A forecast engine built to put wind on a cycling route turned out to be most of what runners needed, pointed at a different problem. Not a pivot and not a feature — a sister product, on one engine, for an enemy that is not wind.

A thousand kilometres, counted for you
Most December challenges hand you a weekly leaderboard and leave the sum to you. The Windline 1000 counts every ride from 16 December, puts your running total on Strava, and sends a finisher card on 1 January.

Wind against the road, not the town
Every tour group chat asks the same question the night before, and the honest answer to “thirty from the west” is “at the start, or at Sutherland?” A forecast for a place cannot answer it. So we built one for a road.

Building an AI assistant that cannot lie about its work
Digital Hank reported a client meeting as arranged and produced a joining link. There was no meeting, no email, and the link led nowhere. Nothing had broken — the model had done what models do. So we stopped asking it not to, and rebuilt so it cannot.

We cut a client’s application rejections by 90% — by letting the documents fill in the form
ProLend was not losing applications because the applicants were wrong. It was losing them because a human retyped what was already printed on a document, and got a digit wrong. So we stopped asking people to retype documents, and had the documents populate the profile instead.

Why we built Crossdeck — and why every product we build helps test it
We thought the App Store Connect wait was the problem. The real problem was fragmentation — the same person scattered across a dozen disconnected tools. So we put one SDK and one customer timeline underneath everything we operate.

Every product is a test environment for the one beneath it
A habit tracker on the App Store, a link-in-bio product carrying anonymous global traffic, and a book catalogue on two platforms. None of them was built to test anything. That is exactly why they work as tests.

The Firebase bill that taught us to see
A runaway Firestore read bill sent us chasing ClickHouse. The real fix was not a new database — it was being able to see where every read came from. What we learned, and why we open-sourced Buckets.

The email address you’re keying on is not the person
Why email is a fragile anchor for user identity, how keying on the wrong id forks one person into many records, and how an identity graph converges every key onto one canonical customer.

We got our connector rejected. It was the best product spec we received all year.
A marketplace review rejected our connector with roughly a dozen findings. Instead of a failure, it read like a spec — the exact definition of a production-grade third-party integration we would never have written ourselves.

The black box blinks: seeing App Review happen in your own data
App Review is a black box. Identity-joined session data reveals when a reviewer starts testing your build, where they connect from, and the exact path they walk — plus the line we will not cross.

Why Biotree needed Crossdeck Trust — and how we stopped the SEO spam farms
Public, indexed link-in-bio pages are a magnet for spam farms and bot signups. The attack Biotree faced, why the obvious defences backfire, and the signup firewall that stopped it without punishing real users.

Why we are building Crossdeck Sales
Cold outbound is miserable because the seller is blind. We were not — we already saw who landed, what they read, and why. So we are building the tool that turns that journey into outreach that lands.