Security · Slides

The Safe Facility: What User Security Is, Without a Single Technical Word

Published October 5, 2026 · secureFlows

Let's forget apps, passwords and hackers for a moment. Instead, we'll design a physical facility with 100 personal safes together — and ask what it must be able to do. In the end we'll discover that the requirements we defined are exactly the basic requirements of User Security: how a system makes sure each user gets access only to what belongs to her, and only to what she is allowed to do.

A wall of closed safes, one of them gold, under the question: If you were designing a safe facility – what must it be able to do? And what does that have to do with your app?

The task

We have 100 personal safes. Each user has a safe of her own. She has to be able to open it — but she must never, under any circumstances, open anyone else's.

A grid of 100 small safes, one of them gold, next to the question: What would you demand from whoever builds it for you?

Pause for a moment before you keep reading: what would you demand from whoever builds the facility for you? Here are the requirements that come out, one by one.

1. How does the facility know who is standing in front of it?

The first requirement is almost self-evident: the facility has to identify whoever is standing in front of it. There are many ways to do that — a code, a key, a card, a fingerprint, face recognition, and even a confirmation in a phone app.

Six ways to identify who is standing in front of the facility: code, key, card, fingerprint, face recognition and phone app

In the digital world this is called Authentication — identification (or identity verification): the check that "you really are who you say you are."

2. We identified you. Now what?

The facility identified me. Can I now open all 100 safes? Of course not. My safe opens, and the safe of someone else stays locked — even if I know the facility better than anyone in the world.

Two safes: the user's own safe is marked with a green check, and someone else's safe is marked with a red X

Identification alone isn't enough. The system has to know not only who I am, but also which data I'm allowed to access. When this check is missing in an app, it's the most common bug there is — Broken Object-Level Authorization.

3. What am I allowed to do?

Even among those who are allowed into the facility there are differences: a customer opens her own safe; an employee opens only the safes assigned to her; a manager manages the entire facility.

Three roles with different permissions: a customer opens her own safe, an employee opens only assigned safes, a manager manages the facility

In the digital world: permissions (Authorization & Permissions). The difference is simple: identification answers "who are you?", and permissions answer "what are you allowed to do?".

4. And what if something suspicious happens?

Someone keeps trying to open a safe that isn't hers. A good facility doesn't only prevent — it also blocks, alerts and records. And if we never find out it happened, we have no chance of responding.

Attempt after failed attempt leads to an alarm, then three responses: block, alert and record. The question: Wouldn't we want to know it happened?

In the post Enumeration with No Rate Limit you can see what happens when nobody stops repeated attempts.

5. And what if I forgot to lock it?

I opened the safe... and just walked away. A good safe locks itself after a while.

An open safe holding a jewel, an arrow, and a locked safe. The caption: It should lock itself

In a digital system too, access isn't supposed to stay open forever.

Now we replace the safe facility with an app

Everything we defined is exactly what a digital system has to do. The safe facility is what you can see with your eyes; the app is the same thing, only this layer can't be seen.

A table matching each requirement of the safe facility to its counterpart in an app
Safe facility Application
Who are you?User identification
Which safe is yours?User separation
What are you allowed to do?Permissions
Suspicious attemptProtection & blocking
Automatic lockingAccess management
Who did what, and when?Auditing & tracking

These are exactly the things we expect a good safe facility to do. And in an app — we just don't see them.

And then AI arrived

Today you can build an app in minutes, and AI can build an app that looks amazing. But would you put jewelry in a safe just because it looks nice and has a key? A good-looking exterior and a login don't prove that the product is secure. When you build fast, it's very easy not to see the security layer that sits underneath the product.

A beautiful app login screen next to a beautiful safe, with the question: But would you put jewelry in a safe just because it looks nice and has a key?

And what if the safe doesn't hold jewelry?

Imagine that these safes hold photos of the kids, credit card details, medical information and customer details. Would you change anything in the design of the facility? This is the moment when security stops sounding like a technology term and becomes something very tangible.

Four kinds of sensitive data: photos of the kids, credit card details, medical information and customer details. The question: Would you change anything in the design?

Security is part of the design

When we design a physical product, we understand intuitively that security is part of the product. If someone were selling us a safe facility, we'd want to know exactly how it makes sure that nobody can open someone else's safe.

In the digital world it's much harder to see this. We see a nice screen, buttons and a login, but we don't see everything that happens behind them.

Security isn't something you add to a product at the end. It's part of its design from the start. And if you hold other people's data — the responsibility to protect it is part of the product.

secureFlows logo

With secureFlows, every user of your app has a "safe" of their own — a private, isolated space for their data. Hit the button below and start building.

Start Building for Free

Icons in the illustrations: Font Awesome Free, licensed CC BY 4.0.