auto·printer

Legal

Privacy Policy

Last updated: 2026-10-23

This Privacy Policy explains how Novogn LLC ("Novogn," "we," "us," or "our") collects, uses, shares, and protects information when you use Autoprinter, a three-part service consisting of a Shopify embedded application, a Desktop Utility (macOS and Windows), and a Chrome Extension (collectively, the "Service").

Autoprinter is a business-to-business tool sold to Shopify merchants. When a merchant installs Autoprinter, we act as a data processor on that merchant's behalf. The merchant is the data controller with respect to its own customers' information. This Privacy Policy describes our own practices and complements any privacy notice the merchant publishes to its customers.

1. Who We Are

Novogn LLC 14255 N 79th St STE 4 Scottsdale, AZ 85260 United States

Primary contact for privacy requests: support@autoprinter.app

Novogn has not appointed a Data Protection Officer; privacy questions should be sent to the address above. Autoprinter does not make automated decisions about individuals and does not profile merchant customers.

2. Categories of Information We Process

We process the following categories of data. Each category is listed with its source and the purpose for which we use it.

Merchant account and shop data

  • Source: Shopify's OAuth flow, completed by the merchant installing Autoprinter; and subsequent merchant configuration in the embedded app.
  • Fields: shop domain, shop name, OAuth access tokens, company logo (if uploaded by the merchant), printer assignments, template content and settings, print rules.
  • Purpose: authenticate the merchant, operate the Service on the merchant's behalf, render documents, and queue print jobs.

Store contact details

  • Source: the merchant's Shopify store settings, read through the Shopify Admin API.
  • Fields: store name, store contact email, store owner's account email, store phone number, and store address.
  • Purpose: pre-fill the business details printed on the merchant's documents (the merchant can edit or clear them in Settings), send account emails such as the welcome email and order-limit notices to the store's email address, and send Autoprinter's monthly product update email.

Product update email

  • Source: the store's email address from Shopify, or the store email the merchant entered in Autoprinter's settings.
  • Fields: the email address, kept as a contact at our email provider (Resend) in an Autoprinter mailing list.
  • Purpose: send a monthly email about new Autoprinter features. Every product update email has an unsubscribe link; unsubscribing stops product update email only. Account and service email (for example order-limit notices, billing, security and policy notices) continues while Autoprinter is installed.
  • Opt-outs: if a merchant unsubscribes and their address is later deleted, we keep a one-way fingerprint of the address (a hash, not the address itself) so the opt-out still applies if the address is added again.

Shopify order data

  • Source: the Shopify Admin API, read using the read-only scopes the merchant grants at install (listed with their purposes in "Shopify access scopes" below).
  • Fields: order identifiers, line items, product information, prices and totals, discounts, payment method names, order notes, order tags, custom attributes, fulfillment status, shipping and billing addresses, customer names, company names, phone numbers, the email address and phone number on the customer's Shopify profile, and a business customer's tax registration ID.
  • Purpose: render packing slips, invoices, pick slips, return slips, and gift receipts on behalf of the merchant, and route print jobs to the correct Print Station and printer.

End-customer personal information

  • Source: contained within Shopify order data pulled through the API above.
  • Fields: names, company names, shipping and billing addresses, phone numbers, and email addresses.
  • Purpose: display on rendered documents and shipping labels as required by the merchant's fulfillment workflow.
  • Not used: Shopify's order notifications to the Service include the buyer's IP address and browser details. The Service does not read, store, or use them, and never queries end customers' geolocation, browser, or operating system. Shopify's App Store listing describes everything its permission categories could cover.

Shopify access scopes

Every scope the Service requests is read-only. The Service never changes a merchant's orders, products, customers, or other store data.

Scope Why the Service needs it
read_orders Order details printed on documents: order number, line items, prices, notes, tags, and the customer's name, company, phone, and addresses.
read_products Product details on documents, such as product title, tags, custom product fields, and weight.
read_fulfillments Tracking numbers and fulfillment details printed on documents.
read_shipping The shipping method chosen at checkout, printed on documents.
read_payment_terms Payment terms and due date on invoices (for example, "Net 30").
read_customers The customer's name, email address, and phone number from their Shopify profile, for merchants who print them on documents, and a business (B2B) customer's company name and tax registration ID on invoices.
read_merchant_managed_fulfillment_orders Orders that ship from more than one of the merchant's own locations, so each package gets its own packing slip.
read_third_party_fulfillment_orders The same for items fulfilled by a third-party fulfillment service.
read_locations The name and address of the location each package ships from.
unauthenticated_read_product_listings The store's logo and brand colors from Shopify's brand settings, used on documents.

Device and paired-client metadata

  • Source: generated by the merchant's own Desktop Utility install and Chrome Extension during pairing.
  • Fields: Label Source / Print Station name (set by the merchant), hostname, operating-system platform, Desktop Utility and Chrome Extension versions, printer names, recent error messages, device pairing timestamps, last-seen timestamps.
  • Purpose: authenticate paired clients, route print jobs to the correct Print Station, and troubleshoot connectivity.

Shipping-label PDF URLs detected by the Chrome Extension

  • Source: the Chrome Extension observes completed browser network requests inside the Shopify admin and detects the shipping-label PDF URLs Shopify generates when a merchant prints a shipping label.
  • Fields: the shipping-label PDF URL, the associated Shopify order identifier, and the Shopify order name (for labels printed in bulk, the order numbers of the selected orders).
  • Purpose: send the URL to the Autoprinter server so the merchant's paired Desktop Utility can download and print the label on the assigned label printer. We do not use these URLs for advertising, profiling, or any purpose unrelated to the merchant-requested print automation. URLs are retained only as part of the associated print-job record and are deleted on the same schedule.

Print job records

  • Source: generated by the Service each time a merchant prints a document.
  • Fields: associated order identifier and order number, print status, timestamps, printer assignment, a history of status changes, and error messages on failure. The rendered document itself is held in the preview store described below.
  • Purpose: deliver the document to the correct printer, retry on transient failure, display job history to the merchant, and diagnose problems.

Rendered documents (preview store)

  • Source: generated by the Service when it renders a document for printing or on-screen preview.
  • Fields: the rendered document, which contains the order details printed on it, including customer names, addresses, phone numbers, and any email address the merchant's template prints.
  • Purpose: show the merchant a preview and deliver the document to the paired Desktop Utility. Retention is set out in Section 5.

Support requests

  • Source: the in-app support form, or email the merchant sends to an autoprinter.app address.
  • Fields: the reply email address the merchant enters, the message, and, for in-app requests, a diagnostics snapshot (plan, Print Station and Label Source status, Desktop Utility and Chrome Extension versions, printer names, queue counts, and recent print-job history).
  • Purpose: answer the request and troubleshoot the merchant's setup.

App subscription status

  • Source: the merchant's app subscription record in Shopify.
  • Fields: plan name, price, trial dates, and whether the subscription is a test charge.
  • Purpose: apply the merchant's monthly order limit and keep our billing records accurate.

Usage and diagnostic information

  • Source: generated by the Service when errors occur or when product-analytics events fire.
  • Fields: error details and stack traces (which may occasionally include limited order or customer details from an error message), request timing, API endpoint usage, feature-adoption events.
  • Purpose: identify and fix defects, measure feature adoption, and plan improvements.

3. Legal Bases for Processing (GDPR)

Where the EU General Data Protection Regulation or the UK GDPR applies, we rely on the following lawful bases:

  • Performance of a contract (Art. 6(1)(b)) — to deliver the Service to the merchant under the Terms of Service.
  • Legitimate interests (Art. 6(1)(f)) — to secure the Service, prevent abuse, measure feature adoption, and diagnose errors. We balance these interests against the rights and freedoms of the data subjects concerned.
  • Legal obligation (Art. 6(1)(c)) — where applicable law requires us to preserve, disclose, or delete information. Shopify platform webhooks are handled as part of performing the Service and assisting merchants with data-rights requests rather than as a legal obligation under the GDPR.

When we process the personal information of end customers on a merchant's behalf, the merchant determines the lawful basis and we act under that merchant's instructions as data processor.

4. How We Share Information

We do not sell personal information. We do not share personal information for cross-context behavioral advertising. We share data only with the subprocessors listed below, each engaged under a written contract that restricts their use of the data to our service purposes.

Subprocessor Location Purpose
Railway Delaware, United States Application hosting and PostgreSQL database hosting. Stores all data at rest and handles all data in transit.
Sentry (Functional Software Inc.) Delaware, United States Error tracking and performance monitoring. Receives error details, stack traces, and request timing. Before sending, we strip request bodies, cookies, and authentication headers, and filter out email and IP addresses where we can detect them. Because error messages are free text, a report may still occasionally include limited order or customer details, such as an order number or a customer's name.
Resend Delaware, United States Email delivery from the autoprinter.app domain: account and service email, and the monthly product update email. Holds store email addresses on Autoprinter's product update mailing list.
PostHog United States (US Cloud) Product analytics. Records feature-usage events and the shop's name, domain, and plan. Does not receive order or customer data.
Google (Google Workspace) United States Business email hosting for autoprinter.app addresses, such as support@autoprinter.app and security@autoprinter.app. Holds the support requests and email merchants send us.
Shopify Canada The platform where order data originates. The merchant's relationship with Shopify and Shopify's own Data Processing Addendum govern the data's presence on Shopify.
Cloudflare United States (with global edge network) Disaster-recovery backup storage, DNS, and download hosting. Backups hold copies of merchant and customer data for disaster recovery only.
GitHub (Microsoft) United States Source-code hosting and automated jobs, including the backup job, which briefly handles backup data in transit. GitHub does not keep it.

We also disclose information when required by law, court order, or legal process, or to protect the rights, property, or safety of Novogn, our users, or others.

5. Data Retention

  • Merchant account data, template configurations, print rules, Label Source and Print Station records, and active order/print-job records are retained while the merchant's Autoprinter installation remains active.
  • Completed print job records, including any shipping-label PDF URLs forwarded by the Chrome Extension, are automatically deleted 30 days after the job was created. Failed print job records are retained for 90 days after the job was created, for diagnostic purposes. An automatic cleanup runs every hour.
  • Order-count records (order identifier and order number, used to apply the monthly order limit) are retained while Autoprinter is installed.
  • Rendered documents in the preview store are deleted automatically: on-screen previews after one hour, and documents queued to a Print Station after up to 72 hours. Using Print again on a stored document keeps it for at least another hour.
  • Shopify OAuth access tokens are retained while Autoprinter is installed and the token remains valid, and are deleted on uninstall, token rotation, or credential revocation.
  • When the merchant uninstalls Autoprinter (Shopify app/uninstalled webhook), Shopify session records are deleted and paired devices are revoked immediately. Remaining merchant configuration and print-job records are deliberately preserved through Shopify's 48-hour reinstall grace window and are then purged on receipt of the Shopify shop/redact webhook. If that webhook cannot be delivered or processed, the same data is purged automatically about six days after the uninstall once Shopify's records confirm that Autoprinter is still uninstalled. Where that cannot be confirmed, the data is kept until it can be, and the Merchant can ask us to delete it at any time.
  • On receipt of a Shopify shop/redact webhook, the specified shop's remaining data is purged from our production database immediately. The shop's email address is also removed from Autoprinter's mailing list at Resend and deleted there. That removal runs right after the purge and is retried automatically until it succeeds, normally within a day; until then the address is held only in a deletion queue. An address that another installed store still uses, or that belongs to a mailing list in the same email account that Autoprinter did not create, is removed from Autoprinter's list but not deleted. Resend keeps its own sending logs under its own retention policy.
  • On receipt of a Shopify customers/redact webhook, we delete the rendered documents and print-job records for the orders Shopify names, including shipping-label jobs matched by order number, and anonymize those orders' order-count records so the merchant's monthly count stays correct. This happens immediately, and always within 30 days, in compliance with Shopify's service-level requirement. Shipping labels we could not tie to an order ID (for example, labels printed in bulk, or orders that use a custom order-number format) cannot always be matched to a customer, and neither can the order-count records kept under the same order number. Those print jobs are removed by the normal print-history cleanup (completed jobs 30 days after they were created, failed jobs 90 days after; a label still waiting to print stays until it prints or the merchant removes it). Those order-count records hold only the order number and are kept while Autoprinter is installed.
  • Error events captured by Sentry are retained for up to 90 days.
  • Server logs are retained by our hosting provider for up to 30 days.
  • Product-analytics events in PostHog are retained for up to one year. The shop's analytics profile (name, domain, and plan) is deleted on request.
  • Support requests and email sent to autoprinter.app addresses are retained for up to two years, then deleted.
  • A one-way fingerprint (hash) of an address that opted out of product update email is kept indefinitely so the opt-out keeps working; it does not contain the address.
  • Audit log entries for print-job lifecycle events (created, claimed, completed, failed, retried, and lease events) are deleted together with their print job.
  • Deleted data may remain in disaster-recovery backups for up to 12 months, after which it is deleted automatically. Backups are used only for disaster recovery.
  • A plan change only changes the monthly order limit. Templates, print rules, Label Sources, Print Stations, and settings are kept as they are.

Detailed retention rules are set out in our Data Retention Policy.

6. Your Rights

Rights under the GDPR (EEA, UK, Switzerland)

  • Access — obtain a copy of the personal information we hold about you.
  • Rectification — request correction of inaccurate or incomplete information.
  • Erasure — request deletion of your personal information, subject to legal exceptions.
  • Restriction — request that we limit processing in specified circumstances.
  • Objection — object to processing based on our legitimate interests.
  • Portability — receive your personal information in a structured, machine-readable format.
  • Lodge a complaint — with your local supervisory authority.

Rights under the CCPA / CPRA (California residents)

  • Right to know what personal information we collect, use, disclose, and share.
  • Right to delete personal information we have collected about you.
  • Right to correct inaccurate personal information we maintain about you.
  • Right to opt out of the sale or sharing of personal information. We do not sell or share personal information as those terms are defined under the CCPA.
  • Right to limit use of sensitive personal information. We do not use sensitive personal information for purposes that trigger this right.
  • Right to non-discrimination for exercising any of these rights.

How to exercise your rights

End customers of a Shopify merchant. We act as a processor on the merchant's behalf. Send your request to the merchant from whose store you purchased. The merchant will forward the request to us if our assistance is needed. We also respond to authenticated Shopify customers/data_request webhooks by providing the merchant with the responsive customer and order data that remains in Autoprinter, and to authenticated customers/redact webhooks by deleting or anonymizing the identified data as described in Section 5.

Merchants and all other individuals. Email support@autoprinter.app. We respond within 30 days. We may request identity verification before acting on a request.

7. International Data Transfers

Our servers and primary subprocessors are located in the United States. Where a merchant or end customer resides outside the United States, personal information is transferred to the United States for processing. For transfers from the European Economic Area we rely on the European Commission's Standard Contractual Clauses (Commission Implementing Decision (EU) 2021/914), with Novogn LLC acting as data importer. For UK transfers, the UK International Data Transfer Addendum (version B1.0) to the EU Standard Contractual Clauses, issued by the UK Information Commissioner's Office, applies. For Swiss transfers, the EU Standard Contractual Clauses apply with the adaptations required for Swiss data-protection law and recognized by the Swiss Federal Data Protection and Information Commissioner. Further detail is set out in our Data Processing Agreement.

8. Security

We protect your information using administrative, technical, and physical safeguards, including:

  • TLS 1.2 or higher for all data in transit.
  • PostgreSQL at-rest encryption provided by Railway.
  • SHA-256 hashing of device pairing tokens; raw tokens are returned to the paired client once and never stored.
  • Stripping of request bodies, cookies, and authentication headers, and filtering of email and IP addresses, before error reports are sent to Sentry.
  • OAuth-scoped, read-only Shopify API access, limited to the scopes listed in Section 2.
  • Rate-limiting of public endpoints to prevent abuse.

No method of transmission or storage is perfectly secure. We cannot guarantee absolute security of the information you provide to us.

9. Cookies, Chrome Extension Data Use, and Chrome Web Store Limited Use

The Autoprinter embedded Shopify app does not set tracking cookies and does not use third-party advertising identifiers. Authentication relies on short-lived Shopify session tokens managed by Shopify's App Bridge runtime, used solely to authenticate requests. The Chrome Extension and Desktop Utility do not set browser cookies.

The Autoprinter Chrome Extension uses browser data only to detect Shopify shipping-label PDF URLs and forward them to the Autoprinter server so the merchant's paired Desktop Utility can print the label. The use of information received from Google APIs and from the Chrome browser adheres to the Chrome Web Store User Data Policy, including the Limited Use requirements. We do not sell or transfer Chrome Extension user data to third parties for advertising, creditworthiness, or data-brokerage purposes, and we do not use Chrome Extension user data for any purpose unrelated to the merchant-requested print automation.

10. Children

Autoprinter is a business-to-business service sold to Shopify merchants. It is not directed at or intended for individuals under 13 years of age, and we do not knowingly collect personal information from children. If you believe a child has provided personal information to us, contact support@autoprinter.app and we will delete it.

11. Changes to This Policy

We may update this Privacy Policy from time to time. Material changes will be posted at autoprinter.app at least 30 days before they take effect. The date at the top of this policy reflects the most recent revision.

12. Contact

Questions or requests under this Privacy Policy:

Novogn LLC 14255 N 79th St STE 4 Scottsdale, AZ 85260 United States Email: support@autoprinter.app