Skip to content
All articles
Security13 February 2025·3 min read

RBAC best practices

Compliance has a reputation for being paperwork.

Paycux engineering

Compliance has a reputation for being paperwork. In practice the questionnaire is a proxy for a real question: if something goes wrong inside your product, can the customer explain it to their own regulator.

This piece walks through how we think about it at Paycux, what we have changed our minds about, and where the sharp edges are.

RBAC in a nutshell

That brings us to rbac in a nutshell. Separate the record from the data. Audit events are append-only and describe what happened; user records are mutable and describe who someone is. Keeping the two apart makes retention a job over a timestamp and erasure an operation on a row, instead of a negotiation between them.

Evidence is the deliverable. Not the policy document — the artifact that shows the policy was applied on a specific date to a specific system, produced without anyone editing a spreadsheet.

Define clear roles and responsibilities

Define clear roles and responsibilities deserves its own treatment. Evidence is the deliverable. Not the policy document — the artifact that shows the policy was applied on a specific date to a specific system, produced without anyone editing a spreadsheet.

Write down the control before you automate it. A control nobody can describe in a sentence will not survive its first review, no matter how well it is implemented.

  • Keep audit events append-only and separate from user records
  • Describe each control in one sentence before automating it
  • Produce evidence automatically, not by hand
  • Decide retention per data category, in writing

Apply the principle of least privilege (PoLP)

Apply the principle of least privilege (PoLP) deserves its own treatment. Write down the control before you automate it. A control nobody can describe in a sentence will not survive its first review, no matter how well it is implemented.

Evidence is the deliverable. Not the policy document — the artifact that shows the policy was applied on a specific date to a specific system, produced without anyone editing a spreadsheet.

Use role hierarchies

Use role hierarchies is where this gets concrete. Evidence is the deliverable. Not the policy document — the artifact that shows the policy was applied on a specific date to a specific system, produced without anyone editing a spreadsheet.

Evidence is the deliverable. Not the policy document — the artifact that shows the policy was applied on a specific date to a specific system, produced without anyone editing a spreadsheet.

Evidence is the deliverable.

Review and audit roles regularly

Consider review and audit roles regularly. Evidence is the deliverable. Not the policy document — the artifact that shows the policy was applied on a specific date to a specific system, produced without anyone editing a spreadsheet.

Separate the record from the data. Audit events are append-only and describe what happened; user records are mutable and describe who someone is. Keeping the two apart makes retention a job over a timestamp and erasure an operation on a row, instead of a negotiation between them.

Implement RBAC policies

Consider implement rbac policies. Evidence is the deliverable. Not the policy document — the artifact that shows the policy was applied on a specific date to a specific system, produced without anyone editing a spreadsheet.

Separate the record from the data. Audit events are append-only and describe what happened; user records are mutable and describe who someone is. Keeping the two apart makes retention a job over a timestamp and erasure an operation on a row, instead of a negotiation between them.

Avoid over-assigning roles

Avoid over-assigning roles deserves its own treatment. Write down the control before you automate it. A control nobody can describe in a sentence will not survive its first review, no matter how well it is implemented.

Write down the control before you automate it. A control nobody can describe in a sentence will not survive its first review, no matter how well it is implemented.

Where this leaves us

None of this is exotic. It is the ordinary discipline of deciding what you own, writing down what you assume, and making the failures loud enough to notice.

If you are working through the same problem and want to compare notes, the docs cover the mechanics and the console shows the behaviour on your own data.

Everything here, already built

Sign-in, enterprise SSO, directory provisioning, roles and an audit trail behind one API. Start with the quickstart and have a working sign-in this afternoon.

Start selling to enterprise customers

Create an account, point sign-in at Paycux, and get back to the part of the product that is actually yours.