PrintKit

Last updated: 26 September 2026

PrintKit ("PrintKit," "the app," "we," "us," "our") is software operated by Big Chato's Apparel LLC, Reva, Virginia, USA. This policy covers PrintKit as a whole — both the PrintKit Shopify app and PrintKit running on your own website. This policy explains what data PrintKit collects, why, how we protect it, how long we keep it, and how merchants and their customers can have it deleted.

This policy covers two groups of people:

  • Merchants — print shops who add PrintKit design builders to their storefront, whether through the Shopify app or on their own website.
  • Shoppers — the merchant's own customers, who use those builders to design a product and place an order.

PrintKit is a data processor acting on behalf of each merchant (the data controller) for the shopper data it handles. Merchants remain responsible for their own privacy notices to their shoppers; this policy describes what PrintKit does with the data on their behalf.

1. Who we are

PrintKit is built and operated by Big Chato's Apparel LLC, a working print shop in Reva, Virginia. We built PrintKit for our own storefront first and packaged it for other print shops.

Privacy / data-request contact:support@printkit.tech

2. What data we collect and why

We collect only what the app needs to do its job. We group it below.

a) Shop configuration data (merchant)

When a merchant installs PrintKit and runs setup, we store the store's configuration: the Shopify shop domain, the merchant's selected plan, which builder modules and products are enabled, and the merchant's production settings — the presses/machines they own, print areas, roll widths, cut-line spot color, turnaround and rush settings, pricing tiers, and file/quality preferences.

Why: to make each builder adapt to the merchant's actual equipment and to render their storefront builders correctly.

b) Customer-designed artwork and saved designs (shopper)

When a shopper designs a product in a builder, PrintKit processes their uploaded artwork and design state (text, images, placement, sizing, product/color/size selections). If the shopper is signed in to the merchant's store and chooses "save my design," we store that design so they can return to it later. Saved designs are tied to a lookup token and may include the shopper's email or customer ID for retrieval.

Why: to generate the production-ready print file, to show live previews, and to let shoppers save and resume a design.

c) Order data for the work ticket (shopper)

When a shopper finishes a custom product in a builder, they submit their design choices along with the order details the builder collects — the customer name and contact email, and the line items they configured (product, quantity, options). On the Shopify app, PrintKit uses this submission to create a draft order in the merchant's store so the job can go through Shopify's native checkout; on PrintKit for your own website it is stored as an order or quote in the merchant's PrintKit portal. Either way it is used to build the merchant's work ticket. The work ticket includes the customer name, the resulting order/draft number, and the line items ordered, together with the print specifications and the production file(s) generated by the builder.

Why: the merchant needs to know who ordered what, and with which specs, in order to print and ship the job. This is the core purpose of the app.

These order details come from the shopper's own builder submission. On the Shopify app, PrintKit reads back only the order that its own draft order becomes — to record what the buyer actually paid (including shipping chosen at checkout) and whether it has been paid. It does not browse, export or change the merchant's other orders. Because the submission includes the customer name and contact email (personal data), PrintKit's handling of this customer data follows Shopify's Protected Customer Data — Level 2 requirements, and we comply with the associated data-protection obligations (encryption at rest, access controls, retention limits, and this published policy). On the Shopify app we deliberately do not put customer email, phone, or shipping/billing address on the work ticket — Shopify holds those. On PrintKit for your own website there is no Shopify order, so the work ticket also shows the contact email, an optional phone number and note the shopper typed, and — for card-paid orders — the delivery address entered at Stripe checkout. Each is encrypted at rest with the merchant's own key, and every time one is opened it is written to an access log.

d) Order-direct requests (shopper)

Under each builder a shopper can send the store a request instead of designing online. The form collects the shopper's name, email, an optional phone number, what they want, and their message. PrintKit stores the request encrypted at rest with the shop's own key and shows it only to that store, in PrintKit → Orders → Requests. The store is emailed that a request arrived — the shopper's details are not in that email.

Why: so a shopper's request reaches the store reliably, instead of depending on the shopper's own email app.

e) What we do NOT collect

  • We do not collect or store payment-card data. On the Shopify app, checkout and payment happen inside Shopify's own checkout; on PrintKit for your own website they happen in the payment provider's hosted checkout. Either way PrintKit never sees card numbers, CVVs, or bank details.
  • We do not build advertising profiles, and we do not track shoppers across other websites.

f) Visitors to our marketing website (printkit.tech)

Sections above describe data PrintKit handles for merchants and their shoppers. This covers a third group: people who simply visit our own marketing website at printkit.tech.

We count page views there so we can tell which pages and which ads bring people to us. For each view we record the page path (for example /builders) the campaign tags if you arrived through a campaign link (utm_source, utm_medium, utm_campaign), whether the device looks like a phone or a computer, whether the request looks like an automated crawler, and a visitor code that changes every day — a salted, one-way hash computed on our server, so we can tell one visit from two on the same day without being able to recognise you on another day. We do not store your IP address or browser details with these counts.

  • No cookies. The counter sets none.
  • No identity. We do not know who you are, and these counts are not linked to any merchant or shopper record.
  • No cross-site tracking and no advertising profiles — consistent with (d) above. Nothing is shared with an ad network.
  • First-party. The counter is our own code on our own server. It is not Google Analytics or any third-party tracker.
  • Session-only memory. If you arrive from a campaign link, those campaign tags are held in your browser's sessionStorage for that browsing session so a later page view is credited to the same campaign. Closing the tab clears it.
  • Server logs. Like almost every website, our web server keeps standard access logs — IP address, browser user-agent, time and page requested — for up to 30 days, for security and to count visits. They are not combined with the page-view counts above and are not used for advertising.

This applies to our marketing site only. It is not part of the builders a merchant embeds and it does not run on a merchant's storefront.

Shopify permissions (scopes) we request and why

ScopeWhy PrintKit needs it
write_draft_ordersTo create the order/draft order for a shopper's custom design so it can go through Shopify's native checkout.
write_online_store_pagesTo create or update the one storefront page that hosts your builder, when you use the one-click setup, and to find that page again by its handle so we never create a duplicate. PrintKit does not read or change any other page, and does not request theme access.
write_productsTo create one hidden, draft preview product per order that carries the shopper's own mockup, so the checkout line shows a picture of what they designed. These are tagged, never published, and removed automatically. PrintKit does not change your existing products.
read_shippingTo read your delivery rates so PrintKit can warn you when a heavy order would get free or no shipping at checkout. Read-only: PrintKit never changes a rate.
read_ordersTo read the order that PrintKit's own draft order becomes, so your PrintKit record shows what the buyer actually paid (including shipping) and whether it is paid. PrintKit does not browse or export your other orders.
These are the only permissions PrintKit requests. It does not request access to your customer list or your theme files.

3. How your data is stored and protected

Protecting merchant and shopper data is core to how PrintKit is built.

  • Encryption in transit. All traffic runs over HTTPS/TLS.
  • Encryption at rest (envelope encryption). Shopper design states and uploaded artwork are encrypted at rest using AES-256-GCM. Each shop has its own random data key; that per-shop data key is itself stored wrapped (encrypted) by a master key that lives only in the server environment — never in the database and never in source control. A database dump alone therefore decrypts nothing.
  • Hashed lookup tokens. The tokens used to resume a saved design are never stored in raw form. We store only a SHA-256 hash of the token; the raw token exists only in the link sent to the shopper.
  • Crypto-shredding on deletion. Because each shop's design data is encrypted with that shop's own key, deleting the shop's wrapped data key renders any remaining ciphertext for that shop permanently unreadable, in addition to deleting the underlying rows.
  • Multi-tenant isolation. Each merchant's data is scoped to their own shop record; one merchant cannot access another merchant's configuration, designs, or orders.
  • Access controls. Access to production systems is limited to Big Chato's Apparel personnel who need it to operate and support the app.

4. How long we keep data (retention)

  • Saved shopper designs auto-delete after a retention window the merchant chooses in setup: 7, 30, or 90 days (default 30). After that window, the design and its artwork are purged by an automated daily job.
  • Shop configuration and order records are retained while the app is installed, so the merchant can operate their shop.
  • Order-direct requests are deleted automatically 30 days after they arrive; the store can delete one sooner.
  • On uninstall / shop deletion, we delete the merchant's PrintKit data as described in Section 5.
  • Feedback and support messages you send us through the app are kept for 12 months, then deleted automatically. They are our own record of a conversation with us rather than shop data, so they are retained if you uninstall — they are not removed by the shop/redact deletion described in Section 5. They are never used for advertising, and you can ask us to delete yours sooner at the address in Section 1.

5. Your data-deletion rights (merchants and shoppers)

PrintKit honors data-deletion and data-access requests. On the Shopify app, Shopify's mandatory privacy webhooks are wired in to fulfill them automatically:

  • customers/data_request — When a shopper (via the merchant, through Shopify) requests the data we hold about them, this request is received and logged so it can be fulfilled.
  • customers/redact — When Shopify instructs us to erase a shopper's data (e.g. the shopper exercised their right to erasure), PrintKit deletes that shopper's saved designs, uploaded artwork, Order-direct requests, and associated personal data, and scrubs the corresponding stored order details.
  • shop/redact — When a merchant uninstalls PrintKit and 48 hours have passed, Shopify sends this request and PrintKit deletes the shop's records — configuration, designs, artwork, order logs, and the shop's encryption key (crypto-shredding).

Every one of these requests is recorded in an internal audit log (gdpr_requests) so we can demonstrate the request was received and actioned.

Merchants can also request deletion of their PrintKit data directly. Shoppers who want their data deleted should contact the store they ordered from; the merchant can trigger deletion through Shopify, which reaches PrintKit via the webhooks above. Anyone may also contact us at the privacy address in Section 1.

6. Sub-processors and hosting

PrintKit uses a small number of trusted service providers to run the app. We do not add sub-processors casually.

Sub-processorRoleData handled
ShopifyShopify app only: the platform PrintKit runs on; handles authentication, checkout, payments and the app subscription billing.Store, order, and customer data within Shopify's own systems.
Hostinger (VPS hosting and email)Runs the PrintKit application server and database, stores encrypted design/artwork files, and relays PrintKit's account emails (sign-up codes, password resets) from support@printkit.tech.Encrypted shopper designs/artwork, shop configuration, order records; merchant email addresses for account emails.
StripePrintKit on your own website: bills the merchant's PrintKit subscription. If a merchant connects their own Stripe account, their shoppers' card payments run on Stripe's hosted checkout under that merchant's account (PrintKit takes no fee).Merchant billing contact and payment method (held by Stripe); for connected merchants, the shopper's payment and the delivery address entered at checkout.

Hosting region: United States. The PrintKit application server, database, and encrypted file storage are hosted on a Hostinger VPS in the United States.

We do not sell, rent, or trade merchant or shopper data to anyone, and we do not share it except with the sub-processors above as needed to run the app, or where required by law.

7. We do not sell your data

PrintKit does not sell merchant or shopper personal data. We never have and we don't intend to. We do not share data for third-party advertising.

8. Children's data

PrintKit is a business tool for merchants and is not directed at children. We do not knowingly collect data from children.

9. Changes to this policy

If we make material changes to this policy, we'll update the "Last updated" date above and, where appropriate, notify merchants through the app or by email. Continued use of PrintKit after a change means you accept the updated policy.

10. Contact us

Questions or privacy requests:

Big Chato's Apparel LLC — Reva, Virginia, USA
Privacy & support: support@printkit.tech