<<< Back to all work ~/work/amex-cornerstone.md
Enterprise UX

Cutting data access from ten days to forty-eight hours

Cornerstone is American Express's internal portal for requesting access to data. I redesigned how employees ask for it, so the process got faster and safer at the same time, not one at the cost of the other.

>>> Role
UX Design Lead
>>> Skills
UX Design UI Design User Testing & Research
>>> Company
American Express · Contract
>>> Platform
Cornerstone · internal portal
Cornerstone entitlement request portal onboarding screen on a tablet
/// American Express Cornerstone
48h
Access turnaround, cut from up to ten business days
1-click
Clone a colleague's already-vetted access instead of itemizing a request
Self-serve
A guided flow replaced the ticket-and-email approval chain

I led the redesign of Cornerstone, American Express's internal portal for requesting access to data. The brief sounded simple: make requesting access faster. The real work was doing it without making access less safe.

01 Background

At a bank, almost every job runs on data, and almost no one can touch it without permission. Cornerstone is where employees request that permission: the entitlements that let them pull reports, query databases, and make decisions on real numbers.

The problem was the wait. Getting a single entitlement approved could take up to ten business days. That is two full weeks of tickets and chasing the right approver, before anyone could start the work the access was for.

02 The problem

Fast and safe pull in opposite directions

The obvious fix, fewer approval steps, was also the dangerous one. Every shortcut that sped a request up made it easier to over-grant access, and at a bank an over-granted entitlement is a security liability, not a convenience. So speeding things up naively would have traded one problem for a worse one.

  • Too slow: up to ten business days from request to access.
  • Too manual: requests lived in tickets and email, with no single place to track them.
  • Too much guesswork: people couldn't tell what access they actually needed, so they over-asked.
>>> Objective

Build one place to request and review data access that cuts the wait from days to hours, while reducing request volume and the security risk of over-granting. Neither half of that could be traded away for the other.

03 The approach

I started by mapping how access actually moved, for two very different people: the new hire who has no idea what to request, and the returning employee who just needs one more entitlement. Then I tested those flows with the engineers and business stakeholders who lived in the system every day.

10 days
Typical wait for a single entitlement
Tickets
Requests scattered across email and tickets
Over-asking
Users requested more than they needed, to be safe

The first flows assumed people knew what to ask for. Testing said otherwise. The slowest, riskiest part wasn't the approval queue, it was users guessing at access they didn't understand and over-requesting to be safe. That insight reshaped the whole design: the fastest request is the one you don't have to figure out from scratch.

The new-hire path is the long one. Here it is as a spine, with the real decisions and Step 2's sub-steps kept in:

>>> Returning users skip the wizard entirely. Their access is migrated in, so they edit roles straight from the dashboard, the same place everyone lands to track a request.

View the full flow map
Full access-request flow map: the complete Cornerstone flow with every decision point and optional branch
/// The complete flow I mapped, decision points and optional branches included. Long on purpose: it's the proof that every shortcut in the design was a deliberate cut, not an oversight. Scroll to explore, or open full size ↗

04 Decision 1 · Clone entitlements

Copy a vetted set instead of building one from scratch

The biggest lever came straight from that insight. Instead of asking each person to itemize the access they think they need, Cornerstone lets them clone the entitlements of a colleague in the same role, an access set that was already reviewed and approved.

It solves both problems at once: the request becomes one decision instead of a guessing game, and what gets requested is a known-good set, not an over-stuffed wishlist.

  • Faster: a complete request in a click, no itemizing.
  • Safer: people inherit access that's already been vetted for the role.
/// The clone flow in motion: find a colleague in your role, preview the exact access set you'd inherit, and submit it as one vetted request.
Clone entitlements — copy a colleague's vetted access set and submit it as one request
/// Clone a colleague's vetted access set in a single step: preview exactly what you'd inherit, then send the whole role-appropriate request for approval, no itemizing.

05 Decision 2 · A guided new request

For everything cloning can't cover

Not every need maps to a colleague, so the manual path had to be good too. I replaced the ticket-and-email request with a guided flow that walks you through choosing an entitlement type, scoping it, and routing it to the right approver automatically.

  • Every request lands with the right approver the first time.
  • Status is visible end to end, so there's nothing to chase.
Guided new request — choose an entitlement type, scope it, and route it to the right approver
/// The guided request: choose an entitlement type from a structured catalog, add only what the approver needs, and route it automatically, with status visible end to end.

06 Decision 3 · Teach before asking

The fix for guesswork was education, not more fields

The research insight earned its own feature. Before anyone submits a request, Cornerstone explains the entitlement categories in plain language, so the choice is informed instead of a guess. Fewer wrong requests upstream means fewer rejections and less over-granting downstream.

/// A short primer on entitlement categories, shown before the request begins. Teaching people what to ask for turned out to be a faster fix than streamlining the ask.

07 Outcome

Together, the three moves attacked the wait from both ends: fewer, better-formed requests going in, and a faster, automatically routed path for the ones that did. Access that used to take up to ten business days came through in a maximum of forty-eight hours.

  • Speed was a downstream problem. The biggest time savings didn't come from a faster approval queue, they came from stopping bad requests before they started. I spent the first few weeks looking at the wrong end of the pipe.
  • The constraint was the design. "Make it faster" had an easy answer that was wrong. Holding speed and safety together, at the same time, is what made the solution worth anything.
  • Borrow what's already vetted. Cloning a known-good set beat asking everyone to be their own access architect, and it gave the security reviewers something they already recognized.
/// End of case study. The clone button did most of the work.
>>> Thanks for reading this far

Say hi

/// No newsletter, no funnel. /// Just email me if this resonated. /// I always write back.
Contact me →