All systems
Professional servicesOur own productOngoing — in production

A client portal you can only enter by invitation

Codnov.AI

The portal behind this website — enquiry, review, approval, then an account. Built after we found our own registration endpoint would mint a client account for anyone who posted to it.

This is a product Codnov built and operates, not work delivered for an external client. We label it that way because the engineering is what we are asking you to judge, and you should know exactly whose problem it solved.

01 — The problem

The registration endpoint on our own API was open. It was rate-limited to three requests a minute and nothing else — no invite, no enquiry, no review — and it was the only path that could create an account with the CLIENT role. Anyone who found it could give themselves a client account on our platform.

02 — What we built

Registration is now reachable only through an approved enquiry. A prospect submits an enquiry, a human reviews it, and approval issues the link that creates the account — so account creation is a decision someone made rather than a side effect of a public endpoint. Each client then gets their own link into the portal showing project status and approvals. We are publishing this one because the interesting part is not the portal; it is that we ran the review on ourselves and fixed what it found.

03 — What is verifiable

Registration
Invite-only
Approved enquiry is the only path in
Roles
4
CEO, admin, staff, client — one shared dependency
Audit log
Diffed
Actor, entity and change recorded on writes

Each figure above is reproducible from the repository or the live configuration. If you are running a technical review and want the command that produces one of them, ask and we will send it.

04 — Stack

Next.jsTypeScriptFastAPIPostgreSQL