Patina Privacy Policy

This policy explains what personal information the Patina app collects, why, how long we keep it, and the choices and rights you have. It covers:

1. Who we are

Patina is a Shopify app made by Occam Studio. If you need our company details, contact us at support@occamstudio.io.

2. Our role: merchant as controller, Occam Studio as processor

Patina helps a Shopify merchant run buyback, trade-in and consignment. The merchant decides whose data goes into Patina and why.

Our commitments to merchants as their processor (instructions only, confidentiality, security, subprocessors, help with requests, breach notice, deletion and audits) are in the Data Processing Addendum, section 9 of our Terms of Service.

3. What we collect

Patina gets data through Shopify's APIs, from what merchant staff enter in the Shopify admin and Shopify POS, and from consignors who use the Consignments page in their customer account. Patina asks Shopify only for the permissions (access scopes) its features need. They are listed in section 4.

3.1 Shop data

3.2 Staff data

3.3 Seller and consignor data (Shopify customers)

Every seller is a customer in the merchant's Shopify store. Patina stores or reads:

Merchants should not type full bank account numbers or other sensitive data into free-text fields such as notes or payment references.

3.4 Order and sale data

When a consigned item sells or is refunded, Shopify sends Patina an order or refund webhook. Patina uses only the order and line IDs, the sold price and refund amounts for the merchant's Patina items. A webhook payload can include details about the buyer (for example name, email or address) because Shopify sends them. Patina keeps raw payloads only while it processes them, then deletes them 30 days after processing (see section 8).

3.5 POS cash drawer data

If the merchant uses cash reconciliation, Patina reads POS cash drawer sessions (cash added and removed, by location) and compares them with Patina's cash payouts.

3.6 Technical data

3.7 What we do not collect

4. Shopify permissions Patina requests and why

Permission Why Patina needs it
Products, publications Create and update listings for intake items (product data, metafields, tags) and publish them to the merchant's sales channels
Inventory, locations Stock items at the intake location, record their cost and track them
Orders (read only) Find out when consigned items sell or are refunded, so consignors are owed the right amount
Customers (admin and customer account) Find or create the seller as a Shopify customer, and show a consignor their own Consignments page
Gift cards Issue a trade-in as a gift card, and replace a card that never reached the seller
Store credit accounts and transactions Give trade-in credit and store-credit payouts (with bonus)
Cash tracking Compare cash payouts with POS cash drawer removals
Files Store the item photos staff take as files in the merchant's Shopify store, so they are kept until the item is listed

5. Why we use data, and our legal bases

Purpose Data Legal basis (EU/UK GDPR)
Run Patina for the merchant: intakes, listings, ledger, payouts, statements, contracts, labels, aging markdowns, reports, exports, Shopify Flow triggers, consignor portal Shop, staff, seller and consignor, order and sale data For seller and consignor data, we act on the merchant's instructions, and the merchant chooses the legal basis (usually its contract with the seller and its legal record-keeping duties). For merchant and staff data, performance of our contract with the merchant.
Roles, PINs and audit log Staff data Contract, and our legitimate interest (and the merchant's) in protecting money and preventing fraud
Billing (charged by Shopify) and plan limits Shop data, plan status, payout volume totals Contract
Support, and keeping the service secure and working (error monitoring, uptime checks, backups) Technical data, plus the minimum shop data needed Legitimate interests in running a secure, reliable service
Meeting legal duties, including privacy requests passed on by Shopify Any of the above Legal obligation

We do not use seller or consignor data for our own purposes. We do not sell it. We do not use it to train AI models, and we do not combine it across merchants.

6. Where data is stored, and subprocessors

Patina runs in the United States.

Subprocessor What it does Location
Shopify The platform Patina runs on. It also handles app billing (Patina charges only through Shopify's managed pricing). Canada, US and others (Shopify's own policy applies)
Vercel Inc. Hosts the app and runs scheduled jobs United States
Neon (Postgres database) Stores Patina's database and backups, encrypted at rest United States
Functional Software, Inc. (Sentry) Error and uptime monitoring. Personal details are removed before reports are sent. United States
Google Workspace Support email at support@occamstudio.io United States

We will update this list before adding a subprocessor that handles personal data. Merchants can ask us at support@occamstudio.io to be notified of changes.

International transfers. When personal data from the EEA, UK or Switzerland is handled in the United States, we use appropriate safeguards with our subprocessors. For details, contact us at support@occamstudio.io.

7. Security

8. How long we keep data

Data How long we keep it
Shop, staff, seller, item and money records While Patina is installed
After uninstall Shopify sends a shop redaction request 48 hours after uninstall. We then delete all of the shop's data, unless the merchant has reinstalled Patina by then.
Raw webhook payloads (orders, refunds and similar) 30 days after processing, then deleted
Seller after a customer redaction request See section 9
Database backups Deleted data leaves point-in-time backups when the backup window ends (up to 7 days)
Error reports (Sentry) For Sentry's retention period, and they contain no names or contact details
Our own billing and support records about merchants As long as tax and accounting law requires

9. Your privacy rights and how we handle requests

Depending on where you live (for example under the GDPR, UK GDPR, or California's CCPA/CPRA), you may have the right to access, correct, delete or port your personal information, to object to or restrict some processing, and not to be discriminated against for using these rights. We do not sell or "share" personal information as the CCPA defines those terms.

Sellers and consignors: contact the store you dealt with. The store is the controller and can send your request to us through Shopify. You can also email support@occamstudio.io, and we will pass your request to the store.

How Patina handles Shopify's privacy webhooks:

Merchants and staff: email support@occamstudio.io. We will answer within the time the law sets (for example one month under the GDPR, or 45 days under the CCPA). We may need to verify who you are first. You also have the right to complain to your local data protection authority.

10. Data breaches

If we learn of a security incident affecting personal data, we will:

  1. contain it and investigate;
  2. tell the affected merchants (and Shopify, where Shopify's terms require it) without undue delay, so that merchants can meet their own deadlines (for example 72 hours to notify a regulator under the GDPR). We will say what happened, what data is affected, and what we are doing about it;
  3. help merchants notify regulators and individuals where needed, and notify them directly where the law requires us to.

11. Children

Patina is a business tool for merchants. It is not directed at children, and we do not knowingly collect data from children under 16. Merchants are responsible for following local law when they buy from or consign for minors. If you think a child's data is in Patina, contact the store or support@occamstudio.io.

12. Changes to this policy

We may update this policy as Patina changes. We will post the updated version on this page. For significant changes, we will tell merchants in the app or by email before the change takes effect.

13. Contact

Occam Studio Email: support@occamstudio.io Web: https://occamstudio.io