LVNDRby Toolfora

HelpData and privacy

Data and privacy

What is stored

DataWhy
Snapshots of products, collections, pages, blogs, posts, menus, metafield definitions and theme settings files, with the differences between versionsThe change log and undo
Shopify admin event entries for those records, which may name a staff member as Shopify renders itAttribution
Raw event deliveries from ShopifyProcessing and retries; kept 30 days
Undo runs, restore points, alerts, restore proof reportsThe features themselves
Agent runs: the agent's name, its task, its Shopify API client id when given, and which changes belong to itReviewing and undoing an agent's work
The reason an agent or API client gives for an undo or restore point, and the agent name it sendsShown in the history and the audit log
The Shopify staff user id of whoever runs an undoSo the undo is attributed in the history
API keys as a SHA-256 hash, with label, prefix, scopes, expiry and last use; for OAuth connections also the client's nameAuthenticating the API, MCP and CLI
OAuth refresh tokens and one-time codes (hashed), and the name and redirect addresses of each registered agent clientConnecting agents through OAuth
Stored answers to write requests that sent an Idempotency-Key; kept 24 hoursReplaying a retried write instead of running it twice
Your optional alert webhook URL and its signing secretSending alerts to your own systems
Your optional alert email address and proof store domainAlerts and the restore proof
Your optional backup bucket settings (endpoint, region, bucket, folder, access key id; the secret key encrypted) and a record of each backup runOff-site backups
The store's myshopify domain and the access token Shopify issues to the appTalking to the Admin API

Orders, customers, addresses and payment details are never read. The app does not request access to them.

When summaries are on, the diff of each change is sent to Anthropic to write one sentence. Nothing else from the store is sent.

Retention by plan

Changes older than the plan's window are pruned, together with the snapshot versions only they referenced. Version 1 of every record and its newest version are always kept, and so is anything an undo still points at.

The window is never cut below the longest one the store had in the last 30 days. Moving from a 365-day plan to a 90-day plan keeps the full year for 30 days before pruning to 90. A store without an active plan, or with a plan LVNDR does not recognise, is not pruned at all.

PlanProductsHistoryAlertsAPI, MCP, CLI (reads/writes per minute)Multi-store
Development storeunlimited365 daysyesyes (120/20)yes
Starter1,00090 daysnoyes (60/10)no
Growth5,000365 daysyesyes (120/20)no
Scale20,000365 daysyesyes (300/60)yes
Early access (before managed billing)unlimited365 daysyesyes (300/60)yes

Above the product limit the app warns and keeps tracking. Plans are chosen and billed through Shopify; Settings links to the plan picker.

Export

Settings has download links for the whole change log as CSV or JSON, and for the app's own audit log. The same export is available over the API; see REST API.

Each row holds the change's id, time, record, action, actor tier and kind, actor name, app title, summary and the diff as JSON.

Settings > Backups downloads the current state of every tracked record as a ZIP, or uploads it on a schedule to a bucket you own. See Backups and exports.

Delete

Settings > Data has “Delete all history”. It removes every change, snapshot, undo, restore point, alert, agent run, admin event entry and delivery held for the store, then takes a fresh first snapshot. You confirm by typing the store's myshopify.com domain.

Your store itself is not touched. API keys, store links and the audit log stay. The deletion cannot be undone, so export first if you may need the history.

To have everything removed, including keys and the store record, uninstall the app or email support.

Restore proof

The weekly restore proof writes sample copies of your records to a proof store and deletes them again. It only ever writes to a Shopify development store: this store, if it is one, or another development store that has LVNDR installed, has given this store a link code from its own Stores page (entering the code here needs a plan with multi-store), and has then chosen “Allow restore proofs” for this store there. A read link alone is not enough, and the other store can press “Stop” at any time. Before every run LVNDR asks Shopify, with the proof store's own access, whether it is a development store, and stops if it is not.

Audit log

Separate from the change log, the audit log records what the app itself did on your behalf: undos, rollbacks, API calls, key changes, exports, deletions. It is shown in Settings and can be exported there.

Uninstall

When the app is uninstalled, polling and checks stop and the session is removed. Every API key and OAuth connection is revoked at once, so no agent keeps access; after a reinstall, make new keys. Data stays for 48 hours.

Shopify then sends a redaction request and LVNDR deletes every row it holds for the store: changes, snapshots, events, deliveries, undo runs and undo jobs, restore points, alerts, agent runs, API keys, OAuth codes and refresh tokens, stored idempotent answers, store links and link codes, the audit log, proof reports, backup run records, and the store record itself with its settings (including the backup bucket settings).

If the app is reinstalled before that request arrives, the data is kept and the history continues.

Where it lives

  • Railway (application hosting and the Postgres database, United States).
  • Resend (email delivery, only when an alert address is set).
  • Anthropic (summaries, only when the server has an API key).
  • The webhook address you set, if any: each alert is sent there. It must be https on a public host.
  • The backup bucket you set, if any: each scheduled or manual backup is uploaded there.
  • Shopify (the platform the app runs on).

The full policy is at /privacy.