Skip to content

Privacy Policy

Last updated: October 22, 2026

This policy describes how DutyLookout, a product of Altered Horizon Ventures Inc. (“we”, “us”), handles data for merchants who install our Shopify app and for visitors who use the free HS lookup on this site.

The short version: we store product catalog data, never shopper data. DutyLookout does not request access to your customers or orders, and no customer personal information ever reaches our systems. This is by design, not by policy alone — the app’s Shopify permissions are read products and write inventory, and the only thing it ever writes is the HS code on your inventory items.

What we store (merchants)

  • Shop identity: your shop’s myshopify domain, the app access token (encrypted at rest with AES-256-GCM), your plan, and the merchant contact email used for alerts.
  • Product catalog data: product titles, descriptions (trimmed), product types, vendors, tags, declared materials, and origin countries — the text needed to classify each product.
  • Classification results: suggested and approved HS/HTS codes, confidence scores, rationales, and an audit trail of whether each code was set by you or the system, and when.
  • Existing Shopify identifiers and codes: the HS codes already on your products, Shopify product and inventory-item IDs, and your Shopify shop ID.
  • Usage aggregates: counts and token totals for the AI classification service, used for capacity planning and billing sanity.

What we never store

  • Shopper / customer personal information of any kind
  • Orders, addresses, payment details, or checkout data
  • Anything from Shopify scopes we did not request — we ask for product read and inventory write access only

The free HS lookup

  • We store the product description you type, without any identifier linking it to you, so that repeated queries can be answered from cache. Your description is sent to Anthropic’s Claude API to classify it, and kept for 30 days so your result link keeps working.
  • For daily rate limiting we store a one-way keyed hash (HMAC-SHA-256 with a server-side secret) of your IP address and a counter. The raw IP address is never written to our database. Our web server keeps standard access logs, which include IP addresses, for security and troubleshooting; they are rotated automatically. The hash cannot be reversed without the secret.
  • After two lookups in a day, a Cloudflare Turnstile check may run to deter abuse; Cloudflare processes the verification transiently under its own terms.

How classification uses AI

Product text is sent to Anthropic’s Claude API to suggest HS codes: title, description, product type, materials, vendor and tags. We never send your shop’s name, domain, account or any customer data. Note that Shopify defaults a product’s Vendor field to your store name unless you change it, so if you have left it at the default, that value travels with the product text like any other product field. Classification results are cached by a hash of the product text so identical products are never re-sent. Duty rates and duty math never involve AI: they come from a versioned database built from official sources (USITC, Federal Register, CBP). Under Anthropic’s commercial API terms, inputs are not used to train its models.

Subprocessors

ProviderPurposeWhat they see
ShopifyPlatform, OAuth, billingStandard app platform data
AnthropicAI classificationMerchant product text (incl. vendor and tags) and free-lookup descriptions — no account or customer data
ResendTransactional email (alerts, digests)Merchant email address and alert content
DigitalOceanHosting (server and database) and offsite backups (Spaces)All stored application data; offsite backups are encrypted before upload
CloudflareTurnstile bot check on the free lookupTransient verification data on that page only
Google AnalyticsWebsite usage measurement — only if you accept cookiesPage addresses (redacted, see below), referrer, approximate location, device and browser, and anonymous interaction events (install-button clicks, lookup submitted / shown / blocked). Never the text you type into the HS lookup.

GDPR and Shopify compliance webhooks

  • customers/data_request: we hold no customer data, so there is nothing to provide; we acknowledge the request and record it.
  • customers/redact: nothing to redact — we hold no customer data.
  • shop/redact (and app uninstall): shop data is deleted from our live database when Shopify sends its shop/redact request (48 hours after uninstall), and in any case within 30 days of uninstall. Database backups that contain it expire within a further 30 days. We keep anonymised billing counts.

Cookies and analytics

This website uses Google Analytics 4 to measure which pages are useful. It runs only after you accept — analytics storage is denied by default, nothing is loaded or measured until you choose, and declining is a single click that carries the same weight as accepting. You can change your mind at any time via “Cookie settings” in the footer; declining afterwards switches the tag off and deletes its cookies.

What is never sent to Google. The product description you type into the free HS lookup is yours and is never transmitted to Google in any form — not as a page address, not as a page title, not as an event parameter. Result pages carry an unguessable token in their address; that token is replaced with redacted before anything is measured, and the page title of a result page is replaced with a generic one. Query strings are filtered by allow-list, so only campaign and ad-click parameters (utm_*, gclid, fbclid, msclkid) survive and everything else is discarded.

Google Signals, advertising features and ad personalisation are all disabled. We run no advertising on this site and do not use analytics data for advertising. Analytics is not loaded at all inside the Shopify admin or on the embedded app — it exists on these marketing pages only.

Cookies used: dl_consent stores your choice for one year and is strictly necessary for us to honour it. If you accept, Google Analytics sets its own _ga cookies; if you decline, they are never set, and any existing ones are deleted.

Security

  • Access tokens encrypted at rest (AES-256-GCM); TLS on every connection over the network
  • Database not exposed to the public internet
  • Webhook signatures verified on every delivery

Data retention

Shop data is kept while the app is installed. It is deleted from our live database when Shopify sends its shop/redact request (48 hours after uninstall), and in any case within 30 days of uninstall. Database backups that contain it expire within a further 30 days. Cached classification results — keyed by a hash of product text and carrying no shop identity — are kept and reused across stores. We keep anonymised billing counts. Free-lookup requests and rate-limit counters are deleted after 30 days; webhook delivery logs (shop domain, topic, delivery id) after 30 days.

Where data is processed

Our application server and database run in DigitalOcean’s Toronto, Canada data centre; encrypted offsite backups are stored in DigitalOcean Spaces in the United States. Anthropic (classification), Resend (email) and Google Analytics (site analytics, only with consent) process data in the United States. Where data about EU/UK users is transferred, we rely on the providers’ standard contractual clauses.

Your rights

The controller of your data is Altered Horizon Ventures Inc., Beaconsfield, Québec, Canada. Merchants and visitors may request access to, correction of, or deletion of their personal information, and may object to its processing, by emailing support@alteredhorizonventures.com. Canadian users may complain to the Office of the Privacy Commissioner of Canada or Québec’s Commission d’accès à l’information. EU/UK users may complain to their local data protection authority.

Our legal bases are performance of our contract with merchants and our legitimate interest in operating and securing the free tool; analytics run only with consent.

Contact

Questions or requests: support@alteredhorizonventures.com or 514-312-8757. We answer data requests from merchants directly and via Shopify’s standard processes.