Privacy Policy
Last updated: 2026-07-24
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.
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 the audit trail of who approved what and when.
- 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.
- 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 or logs, and 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 (title, description, type, materials) is sent to Anthropic’s Claude API to suggest HS codes. We send product text only — never your shop’s name, domain, or any identifier. 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).
Subprocessors
| Provider | Purpose | What they see |
|---|---|---|
| Shopify | Platform, OAuth, billing | Standard app platform data |
| Anthropic | AI classification | Product text only — no shop identity |
| Resend | Transactional email (alerts, digests) | Merchant email address and alert content |
| DigitalOcean | Hosting infrastructure | Encrypted application data at rest |
| Cloudflare | Turnstile bot check on the free lookup | Transient verification data on that page only |
GDPR and Shopify compliance webhooks
- customers/data_request: we hold no customer data, and we respond to Shopify confirming exactly that.
- customers/redact: nothing to redact — we hold no customer data.
- shop/redact (and app uninstall): all rows belonging to your shop are hard-deleted from our database within 30 days. We retain only anonymized usage aggregates that contain no shop identity.
Security
- Access tokens encrypted at rest (AES-256-GCM); TLS on every connection
- Database not exposed to the public internet
- Webhook signatures verified on every delivery
Data retention
Shop data is kept while the app is installed and deleted within 30 days of uninstall or a shop/redact request. Free-lookup rate-limit counters expire naturally — they are keyed by day and contain only a hash.
Contact
Questions or requests: support@dutylookout.com. We answer data requests from merchants directly and via Shopify’s standard processes.