Skip to content
Centriu
Centriu Gauge

Payment Approval with Segregation-of-Duties Automation: The Person Who Touched It Doesn't Clear It

Payment approval, in Centriu Gauge, runs against a versioned policy — flexible, controlled, or strict — and, when segregation of duties is configured, actively blocks a payment from being approved by whichever of its own creator, the person who settled it, whoever uploaded its receipt, or whoever last modified it the policy names, checked on the server every time, not just hidden in a frontend rule. A payment can require more than one approver before it clears, can be approved with a written reservation instead of a flat yes, and every decision — approve, reject, return, or cancel — is recorded permanently in an append-only history with who did it, when, and why, so the trail is never rewritten after the fact.
Multi-approver, server-verified
Segregation of duties enforced
Team collaborating around a table with a laptop
The person who touched it doesn't clear it.

Why "someone has to approve it" usually means "whoever is free"

A payment approval step only means something if the person approving genuinely could have said no — and that assumption quietly breaks the moment the same person who entered the payment, settled it, or uploaded its receipt is also the one clicking approve. Without an actual rule stopping that, "requires approval" becomes a formality that happens to be true on paper while doing nothing to catch a mistake or a bad-faith entry, because the one person checking the work is the same person who did it.

How the underlying problem shows up before you fix it

The same person who registered a payment also approves it, because nobody enforces that those have to be two different people.

A payment above a certain size gets the same single-click approval as a five-dollar reimbursement, with no extra approver required.

Two people click approve on the same pending payment within seconds of each other, and it is unclear afterward which decision actually stuck.

An approval history exists, but entries can be edited or deleted after the fact, so "who approved this and why" is not a reliable record months later.

An approver wants to clear a payment despite a minor open issue and today that means approving with no record of the judgment call they made.

Why a checkbox on the payment record is not real segregation of duties

A single "approved" flag on a payment record cannot, by itself, express who is allowed to flip it — that requires knowing, at the moment of the decision, who created the payment, who marked it settled, who uploaded its supporting receipt, and who last touched it, and then comparing that history against the specific person clicking approve right now. Multi-approver thresholds face the same structural gap: without a server-side count of how many DISTINCT approvals have actually landed, a policy requiring two approvers is trivially satisfied by one person clicking twice, or by a race between two people that a naive read-then-write pattern would let both "win" inconsistently.

How Centriu Gauge enforces approval on the server

Every organization can activate one versioned payment policy at a time — flexible, controlled, or strict — and a new version never silently overwrites an old one; each payment approval permanently snapshots which policy version actually applied to it, so a later policy change can never rewrite what a historical decision meant. When segregation of duties is turned on, an approval decision is checked against the payment's own recorded creator, settler, receipt-uploader and last-modifier — whichever of those the policy names is blocked from approving that specific payment, verified server-side against the actual authenticated user, not trusted from whatever the browser sends.

A payment can require more than one approver before it actually clears; the decision function locks the specific approval row before touching it, so two simultaneous decisions on the same payment cannot both partially apply and leave an inconsistent state. An approver can also clear a payment "with reservation" instead of a flat approval, but only by supplying an actual written reason — a bare click is not accepted for that path. Every decision of any kind — approve, approve-with-reservation, reject, return, cancel — is written to a permanent, append-only history alongside who made it, the status it moved from and to, and any reason given; that history has no update or delete path available to anyone, so it cannot be cleaned up or rewritten after the fact.

What is actually built today

Versioned payment policies (flexible/controlled/strict) with only one active version per organization at a time; a new version never overwrites the prior one.

Segregation of duties enforced server-side: a configured policy can block a payment's own creator, settler, receipt-uploader, or last modifier from approving it.

Multi-approver thresholds — a payment only clears once the required number of distinct approvals has actually landed.

A row-level lock during every approval decision, preventing two simultaneous decisions on the same payment from both partially applying.

An "approve with reservation" path that requires a genuine written reason, distinct from a flat approval.

A permanent, append-only decision history — no update or delete path exists for it — recording actor, prior and new status, and reason for every decision.

A payment the entry clerk cannot clear alone (illustrative scenario, not a real client)

A team activates a "controlled" policy requiring segregation of duties and two approvers for payments above a set threshold. An operations assistant registers a large vendor payment and uploads its receipt. When they open the approval screen, the approve action is blocked for them specifically — the policy recognizes they created the payment and uploaded its receipt — while a manager and the finance lead, neither of whom touched the original entry, each approve it independently; the payment only clears once both approvals have actually landed, and the full sequence — who approved, in what order, with what timestamp — remains on permanent record.

What changes operationally

Approval stops being a formality that the same hands can both request and grant, and starts meaning that a genuinely different, policy-defined set of people has to sign off before a payment clears. A multi-approver requirement is enforced by an actual count of distinct decisions rather than trusted to habit, and a permanent, unmodifiable history means "who approved this and why" stays answerable long after the fact, not dependent on anyone's memory or an editable log.

When this is not the right fit

A team that has not activated any payment policy sees none of this — the mechanism is deliberately a no-op until a policy is actually turned on, so a business relying on this page's protections needs to configure and activate one first. A team wanting segregation of duties enforced against roles or departments rather than the specific creator/settler/uploader/modifier of a given payment will find the current rule scoped to those four recorded actions on that exact payment, not a broader role-based separation.

A trust-based approval click vs. a server-checked segregation rule

A single "approved" checkbox trusts whoever has access to click it, with no structural check on whether they are the same person who created or handled the payment in the first place. Centriu Gauge instead checks the payment's own recorded history against the person deciding, right on the server, and requires an actual count of distinct approvers before anything clears — turning "requires approval" from a formality into a rule that a single person genuinely cannot satisfy alone when the policy says so.

Related systems

Main system: Centriu Gauge.

What it does NOT do

  • Does not enforce segregation of duties or multi-approver thresholds unless an organization has activated a payment policy — a fresh organization experiences no behavior change from this mechanism until one is turned on.
  • Does not let an already-decided approval be decided again — the status guard rejects a second decision on the same approval.
  • Does not accept "approve with reservation" without an actual written reason — a blank or trivially short reason is refused.
  • Does not allow a historical approval's meaning to change when the policy is later updated — each approval permanently snapshots the policy version that applied to it.
  • Does not offer role- or department-based segregation beyond the specific creator/settler/receipt-uploader/modifier recorded on that payment.
  • Does not claim a confirmed integration with another Centriu product's dashboard or automation engine — this page describes Gauge's own approval mechanism.

Security and governance

Approval decisions run through a SECURITY DEFINER function that revalidates organization membership, admin requirements and segregation-of-duties rules on the server for every call — never trusted from the client. The decision history has no update or delete path available to any role, making it a genuine append-only record. Any personal data referenced in a payment or its approval trail follows Brazil's LGPD (Law No. 13,709/2018). Full detail on access control lives at /governanca and /iso.

Pricing and contracting

Available by custom proposal, arranged directly with the team. Values and terms come from the official pricing table at /precos (Centriu's central source — never restated here).

Frequently asked questions

Can the person who entered a payment also approve it?

Not when segregation of duties is configured — the policy can block a payment's own creator, settler, receipt-uploader, or last modifier from approving it, checked on the server.

What happens if two people try to approve the same payment at once?

The specific approval row is locked during the decision, so two simultaneous decisions on the same payment cannot both partially apply.

Can an approval decision be edited or deleted later?

No — the decision history is append-only, with no update or delete path available to any role.

What is "approve with reservation"?

A way to clear a payment despite a minor open issue, but only with an actual written reason on record — a blank or trivial reason is refused.

Does changing the policy later rewrite old approval decisions?

No — each approval permanently records which policy version applied to it at the time, so a later policy change never rewrites a historical decision.

What does Centriu Gauge cost?

It is offered by custom proposal rather than a published self-service plan — current terms are arranged directly with the Centriu team.

See how Centriu Gauge enforces segregation of duties on payment approval

Reach our commercial team directly, or leave your details below — we'll follow up with guidance for your case.

Sources

  1. Centriu Gauge — public product page — Centriu, 2026-07-20 · link(primária)
  2. Centriu Gauge — public factsheet (API, JSON) — Centriu, 2026-07-21 · link
  3. Law No. 13,709/2018 — Brazil’s General Data Protection Law (LGPD) — Presidência da República (Brazil), 2018-08-14 · link

Last material update on .

By · AI-assisted production, with human review