Software Development · IT & Software

Design an authentication and authorisation system

Design sign-in, sessions and permissions for my application that are secure and simple to use. An expert, step-by-step prompt with inputs, method, deliverables, rules and a quality check.

Your prompt is ready 5 brackets to fill
You are a security engineer who designs identity systems.
I work in IT & Software: a software company that ships a SaaS product. This work matters to engineering leads, developers and IT buyers.

## Goal
Design sign-in, sessions and permissions for my application that are secure and simple to use.

## What matters in IT & Software
- Rules and standards that usually apply: data-protection law (GDPR in the EU, the DPDP Act 2023 in India, CCPA in California); SOC 2 or ISO 27001 security audits; OWASP secure-coding practice; open-source licence terms; the uptime and support promises in customer SLAs.
- Common risks to plan for: outages; data breaches and security holes; vendor lock-in; scope creep; knowledge held by one person; churn after a bad release.
- Tools commonly used: GitHub or GitLab; Jira; Slack; AWS, Azure or GCP; Datadog or Grafana; PostgreSQL or MySQL.
- Words people in this field use: SaaS; multi-tenant; SLA; incident; sprint; release; tech debt; API; ARR.
- Rules differ by country. If I have not said where I work, ask me, and do not present one country's law as if it applied everywhere.

## What I will give you
- App type: [web, mobile, API, or all]
- Users and roles: [ROLES]
- Sign-in methods wanted: [email and password, Google, OTP, SSO]
- Stack: [STACK]
- Anything else you should know: [EXTRA CONTEXT, or "none"]

## How to work through it
1. Restate the technical problem, the constraints (language, framework, versions, runtime) and what "done" means. List what you need to see that I have not given you.
2. Choose session cookies or tokens for each client and explain why.
3. Design password storage, reset and email verification flows.
4. Add multi-factor authentication and rate limiting on sign-in.
5. Design roles and permissions as a table and enforce them on the server.
6. Handle session expiry, sign-out everywhere and device lists.
7. Protect against CSRF, XSS session theft, credential stuffing and account enumeration.
8. Plan audit logging of security events.
9. List the edge cases, failure modes and security risks you considered, and how the solution handles each.
10. Explain how to verify the result: the exact commands, tests or checks to run, and what a pass looks like.

## What to deliver
- Auth flow descriptions
- A role and permission matrix
- Database tables for users, sessions and roles
- Middleware code for checking permissions
- A security test checklist

## Expert rules
- Write production-quality code: clear names, small functions, error handling, no placeholder comments such as "..." or TODO.
- Prefer the standard library and the tools already in my stack; justify any new dependency in one line.
- Never weaken security for convenience: validate input, use parameterised queries, keep secrets out of code.
- Respect uptime, security and data-protection requirements. If anything in my plan or inputs conflicts with them, say so plainly and suggest a fix.
- Do not invent facts, figures, laws, sources or quotes. Label anything you had to assume with "Assumption:" and tell me how to check it.

## Format
- Put each file in its own fenced code block, headed with its full path.
- Explain decisions in short bullets after the code, not as long paragraphs.
- If the answer is long, give a one-paragraph summary first.

## Before you answer
Check your draft against this list and fix anything that fails:
- The code works as written: no invented libraries, functions or APIs, and versions are named where they matter.
- Every item under "What to deliver" is complete, specific to my inputs and usable as it is, with no placeholders left for me to guess.
- Where it applies, it shows the likely effect on deployment frequency and uptime.

If something essential is missing, ask me up to 3 short questions first. Otherwise, start.
Open in ChatGPT Claude Perplexity

How to use this prompt

  1. Copy the prompt. Press Copy prompt and the full text goes to your clipboard.
  2. Fill the brackets. Use the form above, or replace [web, mobile, API, or all], [ROLES], [email and password, Google, OTP, SSO], [STACK], [EXTRA CONTEXT, or "none"] with your own details.
  3. Paste and send. Paste it into ChatGPT, Claude, Gemini and DeepSeek and send. Ask follow-up questions to refine the answer.

Why this prompt works

The “Design an authentication and authorisation system” prompt tells the assistant exactly what to hand back: auth flow descriptions; a role and permission matrix; database tables for users, sessions and roles; middleware code for checking permissions; and a security test checklist. It makes the assistant work through 10 steps in order, starting with "restate the technical problem, the constraints (language, framework, versions, runtime) and what "done" means. List what you need to see that I have not given you", instead of jumping straight to an answer. Before replying, the assistant checks its draft against 3 tests and fixes anything that fails.

If an important detail is missing, the assistant asks you up to 3 short questions before it starts, so it does not build on guesses.

How to get the best answer

  1. Fill every bracket with real detail: [web, mobile, API, or all], [ROLES], [email and password, Google, OTP, SSO] and the rest should hold real names, numbers and dates, not placeholders.
  2. Paste real material: where the prompt asks for notes, data or text, paste the actual content rather than a summary.
  3. Refine in the same chat: ask "make it shorter", "turn it into a table" or "add more detail on step 2".
  4. Check the result: test what it builds or writes before you rely on it.

FAQ

Frequently asked questions

Which AI assistant works best with the “Design an authentication and authorisation system” prompt?

The “Design an authentication and authorisation system” prompt works in any chat assistant and suits ChatGPT, Claude, Gemini and DeepSeek best. Paste it in, send it, and ask follow-up questions in the same chat to refine the answer.

What do I fill in before sending the “Design an authentication and authorisation system” prompt?

Replace the 5 highlighted brackets – [web, mobile, API, or all], [ROLES], [email and password, Google, OTP, SSO], [STACK], [EXTRA CONTEXT, or "none"] – with your own details. The more specific you are, the better the answer.

Who is the “Design an authentication and authorisation system” prompt for?

Anyone who wants a complete, working result from an AI assistant. Replace the brackets with your own project details.

Is the “Design an authentication and authorisation system” prompt free to use?

Yes. First AI Prompt prompts are free to copy and use in personal and business work, with no sign-up, no account and no daily limit.

Can I trust the answer the “Design an authentication and authorisation system” prompt gives?

Treat it as a strong first draft: the prompt tells the assistant not to invent facts and to mark its assumptions, but check figures yourself, especially anything with legal, financial or safety consequences.

Keep exploring

Browse more IT & Software prompts