Sheetbreaker
Privacy policy
Last updated November 1, 2026
Who we are
Sheetbreaker is a Shopify app that reads a supplier price sheet and shows the product price changes for you to review before anything is written. Sheetbreaker is made by Price King. Its website is https://sheetbreaker.com, and the app is served from https://pricekingapp.com. This policy is published by Jacob Abram Stevens.
Information we process
We process information for the Shopify store that installs the app. People who buy from that store do not sign up for Sheetbreaker.
From Shopify, when the app is installed or opened, we store:
- The shop domain, the shop currency, and the access token Shopify issues for that shop, including a refresh token so work can finish after the admin is closed.
- When Shopify includes them on the session, the signed-in staff member's user id, name, and email.
- Whether the shop is on Free or Starter. Shopify charges the subscription. We do not receive card numbers.
With the read_products and write_products scopes, a catalog sync stores product and variant ids, titles, SKU, barcode, vendor, price, and compare-at price, plus a copy of the catalog export from that sync. We do not request inventory scopes, and we do not copy unit cost.
When you upload a price sheet, we store:
- The file as uploaded (a spreadsheet, CSV, a web export, or a text PDF), its name, its size, and the sheet date you enter. A text PDF is read into rows on our servers. A scan is not read.
- For a file the app does not read itself, such as Apple Numbers, the copy converted to Excel on our servers. For an Excel file, the cells a second reader on our servers shows differently from the stored value (for example a price shown rounded).
- The rows and cells we extract. Those cells can include product identifiers, descriptions, and prices, including dealer cost.
- The supplier name, the Shopify vendor you attach to it, your change threshold, whether the selling price comes from a column or from cost times a markup, the markup and rounding, and whether Ready rows may be applied automatically.
- For each run, the proposed change, the reason, the source cell, and the result of any write. A write record stores the previous price, the new price, the source cell, and either the staff user id or the shop domain.
What we do not collect
We do not request customer or order scopes. We do not store store customers, orders, or payment cards. The customers/data_request and customers/redact webhooks have no customer records to return or delete. We answer those webhooks and take no further action.
The list on the public site
https://pricekingapp.com has a list for merchants who want to install Sheetbreaker when the Shopify App Store listing is open. If you join, we store the email address, the store address, the supplier names, and the sheet formats you submit (CSV, Excel, text PDF, or a scan or photo). We use that to tell you when you can install, and to see which file formats dealers receive. A scan is still not read by the app.
This record is not part of a Shopify shop. Uninstalling an app does not delete it, and a shop/redact webhook does not delete it. Email support@pricekingapp.com and ask to be removed, and we will delete the row.
Column mapping
On a new supplier layout, column roles are found on our servers from the header titles and by matching the sheet's values with your catalog. A model running on our servers can also be given the sheet name and the first 15 rows to suggest column roles, and, for a PDF page the other readers could not agree on, that page's image and text. Those rows and pages can contain product identifiers and prices. The model returns column roles or the rows it reads; it never sets a price, every price it reports must appear in the page's text, and those rows wait for your approval.
A layout the app is not sure of is saved as unconfirmed. Every price change read with it waits for your approval, and approving one saves the layout as confirmed for that supplier.
Production does not send sheet rows to a third-party model provider. If we start sending sheet contents to a model provider, we will name that provider on this page first.
When you report a run
A run page has a button to report a problem with that run. Nothing is sent unless you tick the box that agrees to send the sheet and run to us. A note is optional. When you tick it and press Send, we copy the uploaded sheet and a summary of the run: the column mapping, the counts of Ready, Needs a look, and Problem rows, the run status, the pricing mode, the supplier name and vendor, and the file name. The sheet can contain dealer cost and other prices. We do not copy your Shopify catalog or its prices.
Only the operator of the app, Jacob Abram Stevens, can read a report. We use it to fix and test Sheetbreaker, for example by adding the sheet to the sheets we test the app against. We do not use it for anything else and we do not share it. We keep a report for 90 days, unless you ask us to delete it sooner. Email support@pricekingapp.com to ask. A shop/redact webhook also deletes your reports.
How we use information
- Match sheet rows to variants and show the review.
- Write prices you approve, or Ready rows only when you have turned on automatic apply for that supplier.
- Remember a supplier's column layout for the next sheet.
- Enforce the Free limit of 3 runs and the Starter subscription.
- Keep an audit of price writes so a run can be undone.
- Operate, secure, and debug the service.
- Email merchants who joined the public list when the listing opens, and see which sheet formats they receive.
We do not sell personal information. We do not use your catalog or your sheets to train a model for anyone else.
Who else processes it
While the site is served from a server we operate, the database on that server holds the data described above, including the public list. Amazon does not have a copy of that database during that time.
When the app is hosted on Amazon Web Services, Inc., in us-east-1 in the United States, these services hold shop data:
- The application and the worker run on AWS Fargate.
- The database is Amazon RDS for PostgreSQL.
- Uploaded files and catalog exports are stored in a private Amazon S3 bucket.
- Operational logs are stored in Amazon CloudWatch.
- Health alerts are sent to us through Amazon SNS.
- Messages to support@pricekingapp.com are received by Amazon SES and stored in a private bucket.
Those services store and transmit the shop data described above so the app can run.
Cloudflare, Inc. runs DNS for sheetbreaker.com and pricekingapp.com, and every request to the app passes through Cloudflare's network on its way to our servers. That includes uploaded files, pages, and the visitor's IP address. Cloudflare carries this traffic in transit; it does not store your catalog or sheets for us.
Shopify Inc. provides the admin where you use the app, the Billing API, and the product APIs. Your use of Shopify is covered by Shopify's own terms and privacy policy.
How long we keep it
While the app is installed, we keep this information so you can review past runs and undo a price update.
When you uninstall, we delete the access token and stop queued work. The catalog, uploads, suppliers, runs, and write history stay until Shopify sends the shop/redact webhook. Shopify sends shop/redact 48 hours after uninstall. When we receive it, we delete that shop's database rows and stored files.
Recovery backups of the database are kept for 7 days, so a deleted row can remain in a backup until that backup ages out. When a file is deleted, an older stored version of that file is removed after 90 days. We do not delete uploads on a shorter schedule while the app stays installed.
Operational logs can include the shop domain, file names, and error messages. While the app runs on a server we operate, they stay on that server; when it is hosted on Amazon Web Services, they are stored in CloudWatch. They are kept until we delete them. They do not expire on a fixed schedule today.
Deletion and other requests
Email support@pricekingapp.com to ask what we hold for your shop or to ask us to delete it. Deleting an installed shop's data means the app can no longer review or undo, so we will ask you to uninstall if you want the app to keep working. Uninstalling is the path that leads to shop/redact.
Security
The database is not open to the public internet. Files are stored in a private bucket. The access token is stored for the shop session and removed on uninstall.
Children
Sheetbreaker is a tool for Shopify merchants. It is not directed at children.
Changes
We will post changes on this page and update the date at the top.
Contact
Questions about this policy: support@pricekingapp.com. Messages to that address are stored and forwarded to Jacob Abram Stevens.