../incidents

CRITICAL MONITORING #partner-api#tokens#third-party#shoffi#authorization updated Aug 11, 2026

The Shoffi Partner Token Leak

Shopify affiliate program provider Shoffi has reported a data leak of Shopify Partner Access tokens it held.

Vendor
Shoffi
Exposed
Shopify Partner API tokens
Surfaced
Aug 8, 2026
the record — as it unfolded
  1. report

    Anonymous developer reports a leaked token

    An anonymous Shopify app developer posts in the Shopify App Founders Facebook group, claiming their Shoffi Partner API token was leaked. No further context or evidence is provided.

  2. statement

    Founder's first response downplays the report

    Within 24 hours of being tagged on an X thread, Shoffi's founder responds — pointing to five clean years and arguing a token isn't Shoffi's alone to leak.

    I don't know who this person is, but in the 5 years we've been running Shoffi, we haven't had any complaints about an access token or data leak. We take data protection very seriously and check our systems frequently.

    It's also important to note that even if this anonymous person's key was compromised, it could have been through any other service or through the partner account.

    The fact that you created an access token for Shoffi doesn't mean it's only ours to use. If it was stored or sent to someone on the team unsafely, anyone could use it to retrieve data from your partner account.

    → X — @haritanitay
  3. update

    Founder posts a public correction

    Roughly two hours after the first reply, Shoffi's founder returns to the same X thread and corrects the record. The review is complete; an issue was found and fixed; all customers are asked to rotate.

    Quick update here because we want to be transparent and correct my earlier reply based on the additional information we have now.

    As part of a broader security review, we identified and fixed an issue that, in certain cases, could have allowed Shopify Partner API tokens associated with certain apps to be retrieved.

    We have not received any evidence showing that a Partner API token was actually accessed or used without authorization, and we have no evidence connecting the issue we identified to the original anonymous post.

    As a precaution, we've asked all Shoffi customers to rotate their Partner API tokens. We've also strengthened the relevant security controls and notified Shopify's security team.

    → X — @haritanitay

What we know

Shoffi — a Shopify affiliate-program provider — has confirmed a security issue that exposed Shopify Partner API tokens it held on behalf of some of its customers. This is a confirmed leak, disclosed by Shoffi itself:

  • Shoffi says a security review identified and fixed an issue that, in certain cases, could have allowed Shopify Partner API tokens associated with certain apps to be retrieved. Some partners’ keys were exposed.
  • As a precaution, Shoffi has asked all customers to rotate their Partner API tokens, strengthened internal controls, rotated its own internal credentials, and notified Shopify’s security team.
  • By its own account, Shoffi has no evidence any token was actually accessed or misused — but the nature of Partner API tokens means it cannot independently determine whether that happened.

The timeline above is the running record. We’ll update it as more surfaces.

INFO Why we're tracking this

🦝 A leaked Partner API token isn’t hypothetical loot. It’s a standing key to your Partner org’s app and financial data. Even “we can’t be sure” is reason enough to turn the lock.

→ fix: If you're a current or former Shoffi customer, rotate your Partner API token now — precaution beats regret.

What we don’t know — including how

The leak is confirmed; the mechanism is not. Shoffi hasn’t disclosed a root cause, and we won’t invent one — though its own wording does point to a likely shape, which we flag (clearly caveated) in the next section. None of this is an accusation.

  • How the tokens were exposed is not public. Shoffi hasn’t disclosed how bad actors could have accessed the tokens it held — no root cause, attack vector, storage detail, or exposure window. We won’t invent one.
  • Whether any token was actually accessed is unknown — by Shoffi’s own account, the nature of Partner API tokens means it cannot independently determine whether misuse ever happened.
  • The original anonymous report is unverified, and Shoffi says it has no evidence connecting that post to the issue it found. The two may or may not be related.

This section stays until those blanks are filled by a first-party source. If you have verifiable detail, we’ll update the record — not the rumor mill.

Our read: this has the shape of broken authorization

Shoffi hasn’t named a root cause, so what follows is inference — but it’s inference from their own words, not the rumor mill. Read the key line again:

“we identified and fixed an issue that, in certain cases, could have allowed Shopify Partner API tokens associated with certain apps to be retrieved

In a multi-tenant service holding many customers’ tokens, “tokens associated with certain apps could have been retrieved” is the signature of a broken authorization flaw: a request that’s properly authenticated — a real, logged-in user — but not properly authorized, able to read token records that belong to someone else. Change or guess an identifier, get back a credential that isn’t yours. It’s the same class as IDOR / broken object-level authorization.

To be clear: this is our assessment, not a cause Shoffi confirmed. Based on the information we’ve seen it’s the most likely shape of the bug — but Shoffi has not disclosed the mechanism, and nothing here is an accusation. They found the issue and fixed it.

WARN Your app may be vulnerable to this same style of exploit

🦝 If your app stores data or credentials for more than one merchant, ask the uncomfortable question: could one authenticated customer retrieve another’s records just by changing an ID? See our Authorization field guide for how to prevent this from happening to you.

→ fix: define, enforce, and test the ownership checks that stop one tenant from reading another tenant's data.

Partner API vs Admin API — what’s actually at risk

The single most important thing to get right: this involves the Shopify Partner API, which is a completely separate interface from the Shopify Admin API.

  • Partner API — reads and manages your Partner organization: your apps, their installs/uninstalls and charges, and your payout/financial data. Scopes like manage_apps and view_financials gate that access, and Shopify has been steadily expanding what Partner-side scopes can do.
  • Admin API — the interface to merchant data: orders, customers, products, collections. This is not affected. A Partner API token cannot read a store’s orders or customers.

So the blast radius is your app catalog and your financials — plus what those leak about the merchants who install you — not merchant PII directly.

flowchart TD
    T([If a Partner API token<br/>is exposed]) --> P[Shopify Partner API]:::bad
    P --> S1["manage_apps —<br/>installs, uninstalls, charges"]:::bad
    P --> S2["view_financials —<br/>payouts, transactions, earnings"]:::bad
    T -. no path .-> A[Shopify Admin API]:::good
    A --> C["Merchant data —<br/>orders, customers, products"]:::good
    classDef bad  fill:#1a0f0f,stroke:#FF5F56,color:#FF5F56;
    classDef good fill:#0d1a12,stroke:#7CF9A0,color:#7CF9A0;

That separation is the good news. The bad news is that a Partner API token is a bearer credential used directly against Shopify — which is exactly why Shoffi says it can’t independently tell whether one was ever misused. There’s no per-app audit trail handed back to you.

If you use (or ever used) Shoffi

Treat the token as potentially exposed and rotate it. Deleting it outright is even better if you no longer need the integration.

WARN Rotate or revoke your Partner API token

Find your tokens: Dev Dashboard → Partner Dashboard → Settings (☰) → Partner API clients. Review every token, generate a fresh one where you still need access, update it in Shoffi, then revoke the old one.

→ fix: A new token is free. A standing, possibly-exposed one is not worth keeping around.

The precise steps Shoffi is recommending:

  1. In your Shopify Partner Dashboard, generate a new Partner API token.
  2. In Shoffi, go to My Apps → Edit App → Edit Token and save the new token.
  3. Once the new token is confirmed working, revoke the previous token from your Partner account.
  4. While you’re in there, audit every Partner API client — delete any you don’t recognize or no longer use.

Then reduce the next blast radius:

  • Grant Partner API clients the minimum scopes they need. If a service only reads financials, it doesn’t need manage_apps.
  • Keep an inventory of which third parties hold which tokens, so the next “rotate everything” takes minutes, not archaeology.
  • The Admin API is unaffected here — but the same discipline (rotate on exposure, least privilege) is what keeps that surface clean too.

Straight from Shopify