Promotion Black Fridayjusqu'à 60% de réduction
  • 60% de réduction sur votre première année d'abonnement annuel
  • 45% de réduction sur les licences à vie
Se termine dans
Profiter de l'offre

Who Can Do What? Permissions That Still Work on a Busy Monday

A temporary promotion, a self-approved refund and an unread log: build clear roles, scoped access, independent approvals and evidence your team can use.

Auteur

Anichur Rahaman

il y a 1 mois9 min de lecture168 vues
Who Can Do What? Permissions That Still Work on a Busy Monday

On Monday morning, a shop owner notices a USD 184 refund requested and approved by the same account. The cashier received shift-lead access to cover a weekend; nobody set an expiry. This is an illustrative scene, not a customer incident. The refund might be legitimate. The control has nevertheless failed: nobody independent checked it.

Growing teams need access that follows the job without making every ordinary sale wait for the owner. Start with one sensitive workflow, make its rules understandable, then prove that the same rules survive a direct API call, a background task and a change of shift.

A job title is only the start

A permission names an action, such as viewing an order, requesting a refund or exporting customer records. A role bundles permissions for a job. An assignment gives a named person that role within a scope and time window. “Shift lead at Outlet 2 until Friday” is more precise than “manager”. A move to Outlet 3 must deliberately end or revise the old assignment.

Role-based access control, or RBAC, is useful for these job bundles. It still needs rules about the tenant, outlet, record, field, amount and current business state. Separate view, create, edit, approve, export and administer: permission to see sales is not permission to download every customer address. NIST AC-6 describes least privilege; it does not prescribe one universal retail role template.

Authentication establishes a sign-in identity. It does not make a request authorised or prove the person is acting honestly. Use individual identities, appropriate strong authentication and restricted service accounts. An “Owner” label must not silently bypass the business controls you intend to enforce.

Check the record, not just the menu

OWASP’s authorisation guidance recommends deny-by-default decisions and validation on every request. Hiding a button helps the interface; the server must also protect lists, detail views, search, exports, downloads, API endpoints and background work. An unguessable record identifier is not permission.

For an Outlet 2 refund, check that the actor currently has the required action within that tenant and outlet, that the order belongs there and that its payment and refund state allow the requested change. Do not accept an outlet identifier supplied by the browser as proof. Shared caches, generated reports and file links must not reveal another scope’s data.

A disabled optional module should offer no operation or data through its routes and integrations. Enabling it must not grant every manager access. A shared calendar or dashboard also needs each source’s view and action rules; permission to see a calendar is not permission to read payroll or reschedule a product. These are design requirements to verify in your installation, not claims that any product already enforces them.

Two people means two accountable people

NIST distinguishes static and dynamic separation of duties. Static rules prevent one person holding conflicting assignments. Dynamic rules can allow a manager to request and approve refunds generally, while preventing that manager approving their own request. Choose and document the model; do not claim both permissions are universally forbidden while granting both to every owner.

For the teaching policy here, a permitted refund up to and including USD 50 needs no separate approver. Above USD 50 through USD 300 needs one independent approver. Above USD 300 needs two distinct approvers, each different from the requester. Amounts and currency are illustrative business choices, not legal thresholds. A second login controlled by the same person is not independence.

The table gives workflow responsibilities, not a ready-made list of software permissions. In a small team, an authorised external accountant may provide independent review where appropriate. If the required approver is absent, hold or reroute to an approved substitute. Any emergency exception needs narrow authority, expiry, an alert and independent follow-up; it must not become a permanent bypass.

WorkflowRequest/preparationIndependent decisionScope and constraint
Refund ≤USD 50Assigned cashierNone under this sample policyOwn outlet; payment checks still apply
Refund >USD 50 to USD 300Assigned requesterOne authorised personSame scope; cannot approve own request
Refund >USD 300Assigned requesterTwo distinct authorised peopleNeither is requester; exact action approved
Supplier paymentApproved vendor maintainer / payment preparerIndependent authorised payment releaseNo self-created vendor paid alone
Stock discrepancyAssigned stock recorderIndependent adjustment approvalInspection and location-specific evidence
Customer exportSpecifically permitted requesterPolicy-defined approval where requiredNecessary fields, scope and secure delivery
Role changeRestricted access administratorAuthorised role ownerNo silent self-escalation; log change

Approve the exact action, then verify what happened

Our USD 184 request goes to another authorised person at Outlet 2. The approver sees the order, captured payment, already-refunded amount, reason, currency and proposed destination. A change to USD 196 or a different destination requires fresh approval. Split requests must not evade cumulative limits or exceed the remaining refundable payment.

OWASP’s transaction-authorisation guidance supports binding approval to significant transaction details and checking the authorised state before execution. Recheck current permissions and expiry when committing the action; an old open browser tab is not continuing authority. Handle concurrent requests so two approvals or clicks cannot spend the same remaining balance twice.

Requested, approved, sent to provider and confirmed refunded are different states. A timeout leaves an unknown outcome, not proof of failure. Keep the operation reference, query the provider and use its documented idempotency/recovery contract with bounded retries and backoff. Escalate unresolved cases rather than blindly sending a new refund. A refund also does not automatically put a damaged jacket back into saleable stock.

Five checks for an illustrative USD 184 refund: current scoped authority, independent exact approval, safe execution, provider verification and protected linked evidence. Failed gates deny or hold.
The checks are separate. The diagram does not promise that two approvals, a hash or an owner role makes a transaction safe.

Write an evidence trail, not a convincing sentence

Record a stable event and operation reference; timestamp with timezone; actor and any delegated service; action; target and scope; safe reason code; relevant amount/currency; policy version; requester and independent approver references; and the actual result. Link request, approval, execution and later reconciliation as separate events. Preserve corrections as new events rather than rewriting the story.

An entry at 09:41 cannot truthfully say a refund was completed when approval happened at 09:42 and the provider had not confirmed it. Label attempted, denied, pending, failed, unknown and confirmed outcomes accurately. An application’s own “success” message is not independent proof of a bank settlement or physical stock receipt.

OWASP’s logging guidance covers security-relevant events and protection of sensitive data. Capture important denials, role changes, exports and administrative exceptions without copying passwords, tokens, full card details or unnecessary personal data into logs. Sanitise untrusted text, restrict log readers and protect export files. Address collector outages and storage exhaustion; for high-risk actions define whether unavailable audit evidence must block execution or use an approved durable fallback.

Tamper evidence has a trust boundary

Append-only application permissions reduce casual editing. They do not prevent a database superuser or compromised infrastructure administrator changing storage. A hash chain can reveal inconsistencies when verified against trusted evidence, but an attacker who can rewrite the chain and its reference can recompute it or remove its tail.

Use a separately controlled collection/retention boundary and protected checkpoints or signatures as appropriate. Define who may write new events, who may read them and who may alter retention. A collector can append to a destination without gaining rights to rewrite retained events. Test deletion, gaps, clock problems and verification failures, not only a pristine sample.

Set retention, review frequency and access from your actual risk, privacy and contractual requirements. PCI SSC’s current document library provides PCI DSS v 4.0.1 for applicable payment environments; it is not a universal rule that every retail log must be retained forever or reviewed on the same schedule. Confirm your applicable standard and assessment scope. This article’s suggested workflow is not a compliance certificate.

Access changes when the job changes

For a joiner, approve a job-based role and scope, verify identity, enrol the required authentication and test both allowed and denied actions. Do not copy every exception from a long-serving employee. Give temporary coverage an explicit end time and verify that expiry affects the next protected request, including cached decisions.

For a mover, coordinate removal of superseded access and activation of the new assignment. If a handover genuinely needs overlap, approve a short expiry and conflict review. For a leaver or a compromised identity, revoke at the effective time required by policy, promptly contain risk, end sessions, revoke personal tokens and delegated access, and reassign pending work. Waiting for a quarterly review is not offboarding.

Service credentials need a named business/technical owner and minimal purpose-specific access. Changing a human password may leave API tokens or running integrations active. Rotate shared secrets the person could use where needed, with dependency testing; do not indiscriminately rotate unrelated encryption keys or destroy records. Retain necessary audit identity while applying the organisation’s lawful personal-data lifecycle.

Make Monday’s review useful

Start with the refund workflow: list current assignments and exceptions, nominate an owner, test a wrong-outlet view and a direct self-approval attempt, then check that the denied attempts leave protected evidence. Also test an expired role, an unavailable module, a revoked API credential and a pending refund whose provider response times out. A friendly screen alone cannot prove these controls.

Review high-risk alerts promptly and assign a realistic periodic access review. Quarterly may suit one team; it does not replace stricter applicable requirements or event-driven removal. Confirm each role, scope, temporary expiry and service-account owner with the responsible manager. Investigate dormant accounts before disabling according to policy; “no interactive login” can be normal for a service identity.

Suppose 60 assignments are reviewed and 9 unnecessary grants removed:9÷60=15% of reviewed assignments. That is not 15% of employees, a fraud rate or proof that the remaining grants are safe. Track unresolved conflicts, expiry enforcement, time to revoke access and audit-collection gaps. Compare unusual refunds with workload and legitimate returns before accusing anyone.

Back at the counter, the goal is simple: the cashier can help the customer, another authorised person can assess this USD 184 request, and the owner can trace the actual outcome. Clear roles make work easier to delegate; precise checks and honest evidence make that delegation defensible.

Reviewed 5 November 2026. Anichur Rahaman is the creator of StoreConsole. Scenarios, thresholds and review figures are illustrative; verify the controls and obligations in your own installation.

À propos de l'auteur

Anichur Rahaman

Continuer la lecture