Back to work
Case Study · Sinatra · 2025

Sinatra Promotions Guardian

How I led the design of a double-checking system to eliminate critical errors, implement a commercial governance layer, improve the auditing process and close the door to insider fraud in VTEX promotions and coupons. The e-commerce platform behind major LATAM retailers.

Role
Product Designer
Team
Product · Engineering
Timeline
2025 Q1 -> Q2
Platform
Sinatra (VTEX)
Impact
0
Promotions with errors reaching production within 90 days of launch
35%
Of the enterprise teams at Sinatra adopted the feature in the first week
10s
Average time to detect anomalous promotion with potential risk
100%
Traceability of revisors and approvers across all active promotions.
01 — Problem

VTEX doesn't record who creates a promotion.

VTEX is the e-commerce platform behind major LATAM retailers. At the core of these companies' commercial strategy are promotions: discounts, coupons, special conditions. The problem is that VTEX, by default, doesn't record who created a promotion.

Any user with access to the admin panel can log in, create a promotion, and log out. No trail. No review. No control.

Inside the Sinatra ecosystem — an AI Agents hub integrated with VTEX — we monitor commercial anomalies in real time. As we expanded our coverage, it became clear that the biggest risk wasn't only in the algorithms, but in the human processes around promotions.

VTEX's official audit exists, but requires opening a request and can take weeks or even months until it gets concluded.

VTEX promotions admin — point of risk.
The case that kicked it all off

In 2025, we detected an anomaly at a client with a suspicious pattern: a promotion with no minimum purchase value, no per-customer usage limit, and an 80% discount across an entire category. The promotion stayed live for hours before being noticed; dozens of orders went through, and thanks to the alert that was triggered, the damage was contained.

That case was the starting point for an investigation in which we uncovered a Product Governance failure.

No human review

Promotions went straight from creation to production with no second pair of eyes.

Frequent errors

~23% of monthly created promotions had configuration errors.

Slow and costly audits

Triggering a VTEX promotion creation audit took 4 to 8 weeks.

02 — Discovery

Three groups. Three realities. The same blind spot.

Before thinking about a solution, we needed to understand the different profiles living with this problem. We mapped three distinct groups and ran interviews and observation sessions over two weeks.

Research artifacts
Interview synthesis, journey maps, and stakeholder mapping.
Groups interviewed
Group 01

Marketing & Ops teams

Responsible for creating promotions. Manual process — spreadsheets, screenshots, WhatsApp with the manager. There's no official internal approval flow.

We simply create the promotions that the manager authorizes via Email and send it to production when the campaing starts.

Group 02

Commercial managers

E-commerce heads and coordinators. There's no real-time visibility into which promotions are active and who created them.

Group 03

Product & CS teams

Internal Product and Customer Success. Most issues came in through support, not through proactive alerts.

I only find out when a client calls to complain. By then it's already too late.

Insights

The approval process exists, but it's informal. Every team had some way of giving an "ok" before activating a promotion — always over WhatsApp or Slack. The system recorded none of it.

Internal fraud is the scenario that scares them most. "It happens more than you'd think" came up in more than one interview.

03 — Framing

Three questions guided the exploration.

HMW 01

How might we turn the informal approval process into something traceable and part of the natural workflow?

HMW 02

How might we ensure no promotion reaches production without at least two pairs of eyes, without creating excessive friction?

HMW 03

How might we offer real-time audit traceability without depending on VTEX's slow processes?

Constraints that shaped the solution

  • VTEX offers no native hooks — any interception had to happen in the Sinatra layer.
  • Teams are lean — any flow with more than 3 clicks would be ignored.
  • We can't block at the source — we can only act after creation. That reshaped our entire approach.
04 — Solution

The Promotions Guardian: Pull Request + MFA applied to e-commerce.

The solution is a double-review system inspired by two well-known mechanisms MFA and Pull Requests.

The logic: no promotion created in VTEX can be activated unless two members of the team registered in Sinatra review and approve it. If one rejects, the promotion is disabled. Sinatra acts as an intermediary — it detects the created promotion, places it in a review state, and only releases it to production once the approval quorum is met.

Design analogy

ReferenceParallel
Pull RequestNo code goes to main without review. No promotion goes to prod without approval.
MFAOne factor isn't enough. Two independent approvers form the second factor.
Single vetoOne rejection is enough to disable. Intentional asymmetry.
State flow diagram
VTEX → Pending → Partial → Approved / Rejected.
System states
StateDescription
PendingPromotion detected, no reviewer has weighed in. Inactive.
PartialOne reviewer approved. Awaiting second. Still inactive.
ApprovedTwo approvers validated. Released to production. Approvers logged.
RejectedA single veto closes the process. Promotion disabled immediately.

Design decisions

Why two approvers?

A single approver creates the same problem we're trying to solve. Two independent approvers make collusion exponentially harder.

Why does one veto bring it all down?

Approving releases money. Rejecting protects. In security, we always favor the conservative side.

Active notification, not passive

The system doesn't wait for the reviewer to log in. The promotion comes to them — eliminating the 'nobody saw it' scenario.

Zero creation restrictions

Creating in VTEX stays free. The freedom to create remains; the freedom to publish without review does not.

Reviewer interface
Approval dashboard — quorum status, diff, and audit trail.
05 — Impact

Before and after the Guardian.

Before
  • ~23% of promotions hit prod with critical errors
  • Audit via VTEX ticket — Up to 8 weeks to start
  • 0% traceability over creators and approvers
  • Review over Email, Teams etc. — no record, no accountability
After
  • 0 promotions with errors in production (90 days)
  • Real-time promotions review, approval and audit
  • 100% with approver records
  • 47 blocked in the 1st month — 12 potentially fraudulent

Before, I'd find out about the problem from the client. Now I know before the client does.

Head of E-commerce, 30 days after launch
06 — Learnings

What this project leaves behind.

Governance Design is key

The Guardian isn't a security feature. It's a governance layer that changes how teams relate to their promotions.

Engineering analogies make alignment easier

Referencing Pull Requests and MFA was the single decision that accelerated internal alignment the most.

One real case is worth more than 10 decks

The internal case that motivated the project was the most powerful argument in the buy-in journey.

Platform constraints shape the right solution

Not being able to block creation in VTEX forced us into a post-creation model that's more robust. The constraint became a principle.