Loyalty Program Fraud Monitoring Automation: Rate Limits, Conservative Anomaly Signals, and a Trail Behind Every Adjustment

Why a cashback balance needs more protection than a punch card ever did
A paper punch card can be forged, but the loss is bounded by how many cards a forger can physically hand over. A digital cashback balance is different: it is money denominated in currency, it can be reached from anywhere, and it can be adjusted by anyone at the counter with the right permission. That makes two threats real at the same time and from opposite directions. From outside, someone attempting to open a balance session without holding the actual customer's own personal-link credential — a 192-bit secret, not a guessable identifier — has to be rate-limited so an automated attempt still carries a real cost, even though guessing the credential itself is not practically feasible. From inside, a staff member with adjustment rights can move balances in small increments that no single transaction would flag. A loyalty program that only thinks about the first threat has left the more expensive one unwatched.
How the underlying problem shows up before you fix it
- A session-opening endpoint can be hit repeatedly from one address with no slowdown, so an automated attempt costs an attacker essentially nothing regardless of whether any individual attempt succeeds.
- A rate limit implemented without care for concurrency can be bypassed by simultaneous requests — a structurally different risk than simply having no limit at all, and one this exact class of endpoint has to be verified against directly, not assumed away.
- A staff member can make dozens of manual balance adjustments in a few minutes and nothing in the system treats that as unusual.
- When a balance looks wrong, there is no record of who changed it, from which address, or what the value was before the change.
- Nobody notices a slow drift — twenty small adjustments across a week reads as normal because there is no baseline for what "normal" means.
- When something clearly goes wrong, there is no single switch to stop write operations while the team investigates.
Why this keeps happening without limits, signals and a trail
Loyalty features are usually built as a growth feature, not as a financial one, so they inherit a growth feature's defenses: a session-opening endpoint with no throttle, an adjustment form with no ceiling, and a database table with no history. None of that is negligence — it is what "make it easy to use" produces when the balance is thought of as points rather than as money. The gap only becomes visible after the first incident, which is exactly the moment when a missing audit trail is most expensive, because the question that suddenly matters is who did what, and the system never wrote it down.
How Centriu Loop actually limits, watches and records
Opening a balance session is limited per IP address at the database level: too many denied attempts in a short window, or too many attempts of any outcome inside a longer one, blocks that address from opening further sessions until the window passes — the exact atomicity of that limiter (it has to hold even under simultaneous requests from the same address, not just sequential ones) is covered in full on a companion page, since it is a distinct enough mechanism to deserve its own account. Counter operations carry their own ceilings per user per minute: five manual balance adjustments, thirty cashback credits, thirty redemptions. Separately, a set of conservative heuristics reads the audit log and raises signals at defined volumes — fifty or more manual adjustments in seven days is critical, twenty or more is an attention point, and ten or more manual adjustments inside a single hour is its own critical signal. Every sensitive operation made through the Loop screens — a credit, a redemption, an adjustment, a settings change, a data export, and even a denied permission attempt — is written to the audit trail with the user, the IP address reported in the request and the user agent; redemptions, adjustments and settings changes also keep the before and after values. Writes made by the Axis CRM agent's tools do not generate audit rows. Redemption itself runs through an atomic database operation with an insufficient-balance guard, so a balance cannot be driven negative by a race.
What is actually built today
- A per-IP-address rate limit on opening a balance session, enforced atomically at the database level so it holds under concurrent as well as sequential attempts.
- Per-user, per-minute ceilings on counter operations: 5 manual balance adjustments, 30 cashback credits, 30 redemptions.
- Conservative anomaly heuristics with defined thresholds, computed from the audit log: volume of consumer access links issued over 24 hours, manual-adjustment volume over 7 days, and an adjustment burst inside the last 60 minutes — each classified as an attention point or a critical alert.
- An audit trail of sensitive operations made through the Loop screens, with user, the IP address reported in the request and user agent — including denied permission attempts and data exports — and before/after values on redemptions, adjustments and settings changes.
- A security posture view summarising the number of active controls, the attention points and the critical alerts, which reads each indicator independently so one failing query degrades to a clear verification-error state instead of breaking the page.
- Three separate permission keys — write, adjust and configure — checked on the server in the Loop screens, so crediting cashback and adjusting a balance are not the same right there; the Axis CRM agent's tools can credit, redeem, reverse and change program settings without these keys.
- A per-organization toggle that turns manual balance adjustment off in the Loop screens, and an operational kill switch: setting the program to inactive blocks write operations made through those screens — the Axis CRM agent's tools do not check it.
- Queries scoped per organization on the server, with per-organization row-level policies on the underlying tables as a second layer, so one company's balances and audit records are not shown to another.
- An atomic, idempotent redemption operation with an insufficient-balance guard, so a balance cannot go negative.
A retailer notices an adjustment pattern (illustrative scenario, not a real client)
A shop owner opens the protection view and sees the posture reading "attention" rather than "healthy", with one signal: twenty-three manual balance adjustments in the last seven days. That is above the twenty-adjustment attention threshold and well below the fifty-adjustment critical one, so nothing was blocked and no alarm fired — the system simply named a number that is higher than a healthy counter operation usually produces.
The recommendation attached to the signal is not "someone is stealing"; it is to look in the history for a pattern — the same user, the same stated reason. Checking the audit trail shows most of the adjustments came from one register, all with the same reason, all in the first hour of a shift. The cause turns out to be a training gap: a new staff member was crediting purchases at the wrong value and then correcting them by hand, one at a time.
The fix is a five-minute conversation, not an investigation. But the same view, with the same threshold, would have surfaced a genuinely bad pattern in exactly the same way — and if it had, the owner could have turned manual adjustment off for the organization from the settings, or set the program to inactive to stop write operations from the Loop screens while the situation was sorted out, with the audit trail already holding who made each adjustment and what the balance was before.
What changes operationally
The structural change is that a loyalty balance stops being an unwatched pot of money. Abuse from outside has a real cost imposed on it rather than being free, unusual internal volume gets named against a defined threshold instead of depending on someone noticing, and every sensitive operation made in the Loop screens leaves a record of who did it — with the value before and after on redemptions, adjustments and settings changes — without anyone having to reconstruct it. Centriu deliberately does not attach a figure to what that prevents — the value depends entirely on a business's transaction volume, staff count and balance sizes.
When this is not the right fit
A very small operation where the owner personally handles every transaction and there is no counter staff has far less exposure to the internal-adjustment side of this, and the anomaly thresholds — designed around a multi-staff counter operation — would rarely fire. The session-opening rate limit still applies and still matters, but the operator-side monitoring is built for a team, not for one person.
Trusting the counter vs. limiting, watching and recording it
The common approach to loyalty-program abuse is to trust the team and react after a problem is discovered, usually by someone noticing a balance that looks wrong. That works until it doesn't, and when it fails the system holds no history to explain what happened. Centriu Loop takes the other approach: define what abnormal volume looks like in advance with explicit numeric thresholds, impose a real, atomic cost on automated session-opening attempts, separate the right to credit from the right to adjust, and write every sensitive operation made in its screens down with enough context to answer the question after the fact. It is deliberately framed as anti-fraud and anti-abuse — raising the cost of trivial abuse and buying time for detection — not as a guarantee.
Related systems
Main system: Centriu Loop.
What it does NOT do
- Does not promise absolute security — the rate limits and heuristics raise the cost of abuse and create time to detect it; a determined attacker rotating addresses or accounts is explicitly acknowledged as possible.
- Does not run AI of its own — the anomaly detection is a set of deliberately conservative numeric heuristics over the audit log, not a model — although the Axis CRM agent, a language model, can credit, redeem and reverse cashback through its own tools.
- Does not send an external alert — signals and posture appear inside the Loop panel; there is no automatic email, message or campaign trigger.
- Does not include step-up authentication for sensitive actions, unusual-location login detection, or automatic session invalidation on a critical event — these are listed in the product as planned, not active. Today, sensitive actions are protected by dedicated permission keys instead.
- Does not expire a balance automatically — there is no automatic validity rule; a balance stays available unless the business defines otherwise.
- Does not integrate with a point-of-sale system or an e-commerce platform, and does not combine several stores into one shared balance — registration and redemption are entered by hand, at the counter in the Loop panel or in a conversation with the Axis CRM agent.
Security and governance
Every organization using Centriu Loop sees only its own balances, audit records and security signals — queries are scoped per organization on the server, with per-organization policies on the underlying tables as a second layer. The audit trail records the user, the IP address reported in the request and the user agent for sensitive operations made in the Loop screens, with before/after values on redemptions, adjustments and settings changes. A consumer's own balance session opens only through their personal-link credential, never through a publicly-knowable identifier. Personal data follows Brazil's LGPD (Law No. 13,709/2018). Full detail on access control and audit trails lives at /governanca and /iso.
Pricing and contracting
Available by monthly subscription, with tiered plans. Investment and terms are defined with the team, based on the scope of the operation — talk to Centriu. No number is hard-coded on this page.
Frequently asked questions
Is opening a balance session rate-limited, and does it hold up under simultaneous attempts?
Yes to both — the limit is enforced atomically at the database level per IP address, specifically so it cannot be bypassed by multiple requests arriving at the same time. The full mechanics of that atomicity fix are covered on a companion page.
What volume of manual adjustments triggers a signal?
Twenty or more in seven days raises an attention point, fifty or more in seven days is treated as critical, and ten or more inside a single hour is its own critical signal. There is also a hard ceiling of five adjustments per user per minute.
What exactly is recorded in the audit trail?
Sensitive operations made through the Loop screens — credits, redemptions, adjustments, settings changes, data exports and denied permission attempts — with the user, the IP address reported in the request and the user agent; redemptions, adjustments and settings changes also keep the before and after values. Writes made by the Axis CRM agent's tools do not generate audit rows.
Can crediting cashback and adjusting a balance be given to different people?
In the Loop screens, yes — write, adjust and configure are three separate permission keys checked on the server, and manual adjustment can also be switched off there for the organization. The Axis CRM agent's tools, however, credit, redeem, reverse and configure the program without checking these keys.
Is there a way to stop everything if something looks wrong?
Partly — setting the program to inactive in the settings blocks write operations made through the Loop screens while the situation is investigated, but the Axis CRM agent's tools do not check that switch.
Does the anomaly detection use AI?
No. The detection is a small set of conservative numeric heuristics over the audit log, written to prefer missing a subtle case over raising a false alarm. Loop has no AI of its own, although the Axis CRM agent can credit, redeem and reverse cashback through its tools.
What does Centriu Loop cost?
It is sold by subscription with published plans — exact current values are on the central pricing page.
See how Centriu Loop protects a cashback balance
Reach our commercial team directly, or leave your details below — we'll follow up with guidance for your case.