Who’s at the Gateand what they are allowed to see
Everything you have built has had one user, and it was you. This is what changes the moment somebody else needs to get in — and it is the last session in the series.
By the end of today you will know how a thing works out who somebody is, how to keep one customer out of another’s business, and where the line is between what to do yourself and what not to.
Presented by Emile du Toit
brainitconsulting.com
Here is an overview of the last two sessions in five lines.
- Your work is on the internet at a real address, and you can take it back down in two seconds.
- Paddock, training ring, open road — and only the last one has the public on it.
- You have a short list of things that must never quietly stop being true.
- A machine checks them on every change, before anything reaches a customer.
- And all of it still has exactly one user.
Today that stops being true.
Contents
- The moment a second person arrivesTwo different gates, and which one this is.
- How it knows who you areSomebody else checks, and tells you.
- What they are allowed to seeThe question people skip.
- Sending mail without youThe one that fails quietly.
- The end of the trailTwelve sessions, and what to do next.
Then the questions this always raises, the whole glossary, and the picture to photograph.
The moment a second person arrives
Everything so far had exactly one user, and it was you.
Eleven sessions, and every single thing you have built has had one user. You opened it, you were allowed, and the question of who you were never came up because there was nobody else in the building.
Then Dale's daughter needs to mark a job as sent from the office. Then a customer asks whether they could just look up their own estimate instead of ringing. And a set of questions arrives all at once that were not questions yesterday.
Session five's gate was the horse stopping to ask you before it changed something. That gate faces inward and it is still there.
Today's gate is at the road, and other people arrive at it. It faces outward, and the questions are different: who is this, and what should they be allowed to see?
Same word, two jobs. Worth saying plainly rather than letting it blur.
Go back to session nine and the question you answered there — who is going to use this? The three answers each lead somewhere different, and today is where that difference finally costs something.
- Just me. Then none of today applies and that is a genuinely fine place to stop. Put a password on the whole thing if you like; it is a setting, not a build.
- Me and the people who work for me. Two or three people who all trust each other. This is the common case and it is the easy one.
- My customers, each seeing their own. This is a real step up, and it is worth knowing that before you start rather than three weekends in.
The second person is the expensive one. The third is nearly free.
How it knows who you are
The short version: somebody else checks, and tells you.
Working out who somebody is has a name — authentication — and one piece of advice that matters more than everything else in this chapter put together. Do not build it yourself, and do not store passwords. Not because it is hard to write, but because it is hard to keep right for years, and the day it goes wrong it goes wrong in the newspaper.
What you do instead is let somebody who does this for a living do the checking, and simply be told the answer. There are two shapes of it and you have used both this week without thinking about it.
- Sign in with Google — or Apple, or Microsoft. They already know who this person is. They check, and hand you back a name and an email address. The password never comes near you.
- A magic link — they type their email address, you send them a one-time link, they click it. If they can open that inbox, they are who they said. Nothing to remember, nothing to leak.
For a small business, magic links are often the kindest answer. Your customers do not want another password for the plumber, and you do not want to be the reason they have one.
Less than you would think. It is a service you switch on, the same way the well was — a few settings and a page that says sign in. Free at small numbers, and it is an afternoon's work rather than a project.
What it is not is something to write from scratch because it looks simple. It looks simple for about a week.
Once somebody is in, the thing needs to remember it let them in — otherwise they are asked again on every page. That memory is a session, it is handled for you, and the only decision you will make about it is how long it lasts. A day is usually right.
You are not in the password business. Do not let anybody talk you into it.
What they are allowed to see
The question people skip, and the one that actually bites.
Knowing who somebody is and knowing what they may do are two entirely separate questions, and almost everybody who gets into trouble got the first right and never asked the second. The second one is called authorization.
Here is the failure, and it is so common it has a shape. You build the customer page. It works beautifully. Brody signs in, and the page shows Brody his job. Then somebody changes the number at the end of the address by one, and it shows them Tanner's.
Nothing was hacked. The page simply never asked whose.
The rule that prevents all of it is one sentence, and it goes on the wall.
Every question the well is asked must end with “— and only this person's rows.”
Not most questions. Not the ones that look sensitive. Every single one, including the ones you are sure about, because the one you are sure about is the one that gets copied into a new page in March by somebody in a hurry.
And a second rule underneath it, which is about people rather than pages: give everybody the smallest access that lets them do their job. Dale's daughter needs to mark jobs as sent. She does not need to be able to delete customers. That is least privilege, and the reason for it is not that you distrust her — it is that a mistake can only reach as far as the permissions allow.
How to check it, since you cannot read the code. Session eleven, applied here. Make two accounts. Sign in as one, note the address of something you can see, sign out, sign in as the other, and paste that address in. You should be turned away. Write that down as a check, and it will be tested forever.
The page knew who Brody was. It never asked whose job it was showing him.
Sending mail without you
The quiet workhorse, and the one that stops working without telling you.
Once other people are using the thing, it has to talk to them. Not marketing — the ordinary notes a business sends because something happened. Your estimate is ready. Here is the link you asked for. We got your message and Dale will call Tuesday.
That is transactional email, it is a service you switch on like the others, and there are three things worth knowing before you do.
- Send from your own name. There is a setting-up step where you prove you own your email domain, and it is worth doing properly on day one. Mail from dale@daleandson.com arrives. Mail from a service pretending to be Dale goes to spam.
- Keep it to things that happened. A receipt, a confirmation, a link somebody asked for. The moment you start sending newsletters through the same route you put the important mail at risk, and the important mail is the one that must arrive.
- It will fail silently. This is the one. Mail does not bounce back to you with a red light — it quietly stops arriving, and you find out from a customer six weeks later. It is exactly the fence from last session, and it belongs on your list of checks.
Email is the piece people most underestimate, because sending one is easy and having them reliably arrive is not. If any part of today is worth an afternoon of somebody else's time, it is usually this one.
Nobody tells you the mail stopped arriving. That is the whole trouble with it.
The end of the trail
Twelve sessions. Here is what you can actually do now.
This is the last one, so it is worth being plain about what has happened rather than finishing on a flourish. Twelve sessions ago the whole thing was a chat box you were slightly suspicious of.
Use one properly — steer it, give it standing instructions, and know when it is confidently wrong.
Work in your own project folder, with an editor, with an assistant sitting in it that reads and writes real files.
Describe a job so you get the thing you meant, and make it ask you the questions you had not thought of.
Undo anything, and stop working on copies.
Keep your information in one place and ask it questions in English.
Put something on the internet, at a real address, and take it back down in two seconds.
Write down what must never quietly stop being true, and have a machine check it forever.
That is not a beginner's list. It was twelve ordinary steps, taken in order.
What to do next
Pick one real thing in your business — small, annoying, and yours. Write the map for it. Build it badly. Put it on the internet where only you can see it. Then use it for a fortnight and fix what actually irritates you, rather than what you imagined would.
That fortnight will teach you more than another twelve sessions would, and you now have everything you need to survive it, including the undo.
Where I come in, briefly
Some of this is worth your evenings and some of it is not, and the line moves depending on what your time is worth.
Below the line: the map, the checks, the small changes, and anything where knowing your own business is most of the job. Nobody can do those better than you, and you should not pay anybody to.
Above it: the pieces where somebody who has done it fifty times takes an afternoon and you would lose a fortnight. Moving a working business onto a well without dropping anything. Logins that still hold up in two years. The specialised parts, where the tools stop being general and start being particular to your trade.
You now know enough to tell which is which, and that was always the real point of the series. If you would rather hand a piece over, or you would like somebody alongside you for a week while you do it yourself, that is what I do — and I would much rather you asked than quietly stopped.
Before you leave
- Write down the one thing you are going to build. One line. Now, before the room empties.
- Put a date on it — the day you will have the ugly first version working, only for you.
- Tell somebody in the room what it is. That is the whole trick to actually doing it.
- Keep the class folder. It is at github.com/brainit-consulting/ai-workshops and it is not going anywhere.
Thank you for coming. It has been a pleasure, and I mean that in the ordinary way rather than the way people say it at the end of things.
Questions people actually ask
Six that come up every time this session is taught.
Can I just put one password on the whole thing?
One key, one gate, everybody uses it.
Yes, and for a staff-only tool that is often exactly right. It is a setting rather than a build, it takes two minutes, and it is far better than an amateur login screen. Its limit is that everybody sees everything — the moment that stops being true, you need chapter three.
Is “sign in with Google” safe for a small business?
Let the man who knows the faces stand at the gate.
Safer than anything you or I would build. They handle the password, the stolen-account checks and the two-factor codes, and you never see any of it. The one thing to remember is that some customers will not have a Google account, which is why magic links usually sit alongside it.
How do I know somebody cannot see another customer's job?
Try the wrong gate yourself, before somebody else does.
Test it, the way chapter three describes: two accounts, and try to open one's page while signed in as the other. Then write it down as a check so it is tested forever. This is the single most valuable check you will ever write.
Do I need all of this to start?
You do not fit the gate before the yard exists.
No, and building it early is a common way to waste a month. Start with the thing only you use. Add sign-in when a second real person actually needs it, not when you imagine they might.
What if I want to charge people?
The market has its own rules, and they are not ours today.
Taking money is its own subject and we have not covered it. The short version: use a company that specialises in it, never handle card numbers yourself, and expect the paperwork to take longer than the building. Ask me if it comes up — it is usually simpler than people fear.
Is that really the end?
The end of the marked trail. Not the end of the riding.
It is the end of the series, yes. The class folder stays where it is, the pages stay online and printable, and every marker is still there. What comes after this is your own work, which was the point — and I am around if you want a hand with a particular piece of it.
Plain words
Everything the series has named so far. Today's are marked.
This list grows every session and always shows the lot, so you never need last week's handout to read this week's.
- Large language model (LLM) 001
- The engine that predicts the next word. The horse.
- GPT 001
- Generative — it makes new text rather than looking up a stored answer. Pre-trained — all its learning happened in advance. Transformer — the design of the machinery underneath. A breed name, not a job title.
- Knowledge cutoff 001
- The date its training stopped. It knows nothing after it, and doesn't know that it doesn't. The last day the horse was out in the world.
- Prompt 001
- What you type. A pull on the reins.
- Chatbot 001
- A model you can talk to, turn by turn. Horse plus bridle.
- System prompt / instructions 001
- Standing orders sent with every message, whether you type them or not. The saddle.
- Context window 001
- How much of the conversation it can hold at once. How far it can see on this ride.
- Token 001
- A chunk of a word — how length is counted, and how you're billed. Sugar cubes.
- Hallucination 001
- Making something up and sounding certain. Shying at a shed snakeskin.
- Tool 002
- A specific action it's allowed to take in the real world. A saddlebag.
- MCP 002
- An agreed standard for plugging tools into a model. Standard-size buckles.
- Agent 002
- A model given a goal, tools, and permission to keep going. A working horse, not a show pony.
- Agentic loop 002
- Look, decide, act, check, repeat. The ride itself.
- Human in the loop 002
- A person approves before something real happens. A hand on the reins.
- Automation 002
- The same work happening without you starting it each time. The horse knows the route.
- File 003
- A thing with a name and contents. A single piece of gear.
- Folder (directory) 003
- A box holding files, and sometimes other folders. A shelf.
- Project 003
- One folder holding one job's worth of everything. The room, with the door shut.
- Path 003
- The written address of a file — which boxes it sits inside. Directions to the shelf.
- Editor (VS Code) 004
- A window showing you one folder and everything in it. The tack room.
- Terminal 004
- A panel where you type an instruction to the computer directly. Talking to the stable itself.
- Install 004
- Putting a program on your own machine, once. Building the room.
- Permission prompt 005
- The stop before it changes anything, showing what it plans to do. The gate, and your hand on the latch.
- Approval mode 005
- Whether it asks every time, works on its own, or only shows a plan. How loose you're holding the reins.
- Interrupting 005
- Stopping it mid-job with the escape key. A pull on the reins. Ordinary.
- Project instructions 006
- A plain-English file of standing rules that lives in the folder. The saddle, hanging in the room.
- Run a command 006
- Doing something on the computer rather than writing words about it. Actual work, not conversation.
- Working on copies 006
- Duplicating a file so the original can't be harmed. Schooling in the paddock, not on the road.
- Version control 007
- Keeping every previous version of everything, so any of them can come back. A trail you can ride back.
- Git 007
- The program that keeps the trail. It runs on your own machine. What drives the markers in.
- Commit 007
- One marker, with a short note saying what you had just done. A gate you can ride back through.
- Repository (repo) 007
- A folder that keeps its own history. The field, with the trail marked in it.
- GitHub 007
- A copy of the repository kept online — a real backup, and a way to hand it to somebody. The shared stable at the trailhead.
- Push and pull 007
- Sending your markers up to that copy, and fetching down anything that is there and not here. Riding to the trailhead and back.
- Spec (brief) 008
- One page describing a job well enough to hand it over. What it must do — not how to build it. The trail map. Where you are going, not which foot the horse leads with.
- Scope 008
- What is in this job, and what is deliberately not. Where the map stops. The country past the edge is not today's ride.
- Acceptance 008
- How you will know the thing is right when you see it. How you know you arrived.
- Plan mode 008
- A setting where it works out what it would do, and shows you, before touching anything. Reading the map aloud before anyone mounts up.
- Assumption 008
- Something you took to be true and never checked. A stretch of map you drew from memory rather than from riding it.
- Database 009
- One place the information lives, built to be read and written by several things at once without ever disagreeing with itself. The well.
- Table 009
- A list of one kind of thing, with the same facts recorded about each one. One list on the slate: every job, every time.
- Row 009
- One of the things. One job, one customer, one invoice. A single line on the slate.
- Column 009
- One fact, kept about every row. Customer. Status. Date received. The same question asked of every line.
- Query (SQL) 009
- A written question put to the database. SQL is the language they are written in. Lowering the bucket, and what you asked it to bring up.
- Connection string 009
- One line of text that says where the well is and unlocks it. Treat it as a key, because it is one. The key to the pump house.
- Postgres (Neon) 009
- The most widely used serious database; Neon is a company that runs one for you. A well somebody else dug, and maintains.
- Deploy 010
- Sending a copy of your work to a machine that is always on, so other people can reach it. Loading the wagon and driving it to market.
- Production 010
- The version the public sees. There is only ever one. The open road.
- Preview 010
- The same work, live on the internet, at an address only your people can open. The training ring — real ground, fence round it.
- Rollback 010
- Putting the previous version back as the public one. Seconds, not a repair job. Turning the wagon round.
- Domain 010
- The name people type. Yours, rented by the year, pointed at your work. The name over the stall.
- Environment variable 010
- A secret kept on the machine that serves the page, never inside the page itself. The key stays in the driver's pocket.
- Test 011
- One thing that must always be true, written so a machine can check it. One fence post you ride out to.
- Test suite 011
- All of them together, run in one go. The whole round.
- Regression 011
- Something that used to work and quietly stopped. A gap that opened where you had already mended it.
- Continuous integration (CI) 011
- The machine running the round for you, on every single change. Somebody rides the fence every time, without being asked.
- Edge case 011
- The odd situation nobody thought about until it happened. The corner of the field where the ground goes soft.
- Authentication (sign-in) 012
- Working out who somebody is. The gate at the road, recognising a face.
- Authorization 012
- Working out what that person is allowed to do. A different question, and the one people skip. Which gates on the property open for them.
- Session 012
- The thing that remembers it let you in ten minutes ago, so you are not asked again on every page. The gateman knowing you are already in the yard.
- Magic link 012
- Signing in by clicking a one-time link sent to your own email. No password to forget or leak. A one-time key posted to your own letterbox.
- Transactional email 012
- Mail your thing sends because something happened — a receipt, a confirmation, a reset. The note the yard sends when the job is done.
- Least privilege 012
- Giving each person the smallest access that lets them do their job, and no more. Not everybody needs a key to the feed store.
Everything on one page
If you photograph one thing today, photograph this.
1 · Who is it?
Let somebody else check. You are not in the password business.
2 · Whose rows?
Every question ends with “and only this person's”.
3 · Did it arrive?
Mail fails quietly. Put it on your list of checks.
4 · Twelve markers
Ordinary steps, taken in order. Go and build the thing.
And the sentence from today worth keeping: every question the well is asked must end with “— and only this person's rows”. Everything else in this session is a service you switch on. That one is a habit, and it is yours to keep.
Twelve of twelve
Every session stays online, stays printable, and stays free. The class folder keeps a marker for the end of each one, so you can pick up anything you missed whenever it becomes useful rather than whenever it was taught. Nothing here expires.
The only thing left: go and build the small annoying thing you wrote down. Badly, at first, where only you can see it.
I do this for a living, and love to help people.
Thirty-plus years in enterprise software and a computer science degree — which mostly means I have watched a great many horses bolt, and I can usually tell you which ones are worth saddling before you spend money on the saddle.
In person
Your team, your room, your actual work on the whiteboard instead of somebody else's examples.
Over video
The same session, at your desks, with fewer chairs to stack afterwards.
Built for real
When the idea survives the workshop and somebody has to go and build the thing — that part I do too.
Fun fact — I rode to school on horseback as a kid in South Africa. So the metaphor isn't borrowed. I've done the falling off in person.
Emile du Toit brainitconsulting.com
Workshop #012 · Who’s at the Gate
© 2026 Emile du Toit, BrainIT Consulting
Print it, download it, share it with your team. Just leave my name on it.