Privacy Policy
Last updated 5 August 2026
Who this covers
Sideby is an application for OpoShop stores, published by Found. This policy describes what Sideby does with a merchant's store data and with data arising from shoppers who use the comparison feature on that merchant's storefront. Contact: brandon@tryfound.io.
Where Sideby processes data on behalf of a merchant, the merchant is the data controller and Found is a processor acting on their instructions.
Merchant store data
When a merchant installs Sideby, it is granted exactly two read-only OAuth scopes:
| Scope | What it is used for |
|---|---|
users:read | Confirming that the person opening the app actually owns the store they are opening it for, and reading the store's display name and owner email so the admin can address them. |
products:read | Reading the product catalogue once to discover which attributes exist across the merchant's products, and listing products in the admin so the merchant can fill in gaps. |
Sideby holds no write scope of any kind. It cannot change a product, an order, a customer or a setting on the store. It does not read orders or customers at all, and it subscribes to no webhooks.
What is stored, and where
- The store's identifier, subdomain, display name and owner email.
- An OAuth access token for the store, used only to make the two reads above.
- The merchant's compare-sheet configuration: their rows, labels, wording and styling.
- Any product values the merchant typed in by hand, keyed by product slug.
- Counters (see below).
All of it lives in a database dedicated to Sideby, scoped per store. A merchant who installs Sideby on two stores gets two entirely separate records; one store can never read another's configuration, values or counters.
Shopper data
Sideby does not store anything that identifies a shopper. There is no shopper record in the database because there is no shopper record to keep.
What is recorded
- Integer counts per store per calendar day: how many times a Compare control rendered, was used to add or remove a product, opened a comparison, led to a click through to a product, or hit the maximum-products limit.
- Per-product counts: how often a product was in a comparison, and how often it was clicked through to.
- Per-pair counts: how often two products appeared in the same comparison.
What is not recorded
- No name, email address, account or customer identifier.
- No IP address, user agent, device or browser fingerprint.
- No session identifier, and no cookie set by Sideby.
- No cart, order or purchase data.
The shopper's own selection
The products a shopper has tagged for comparison are held in that browser's own
localStorage, under a key scoped to the store. It never leaves their device
and is never transmitted to us as an identified set. Clearing site data removes it. A
merchant can switch this persistence off entirely, in which case the selection lasts only
for the current page.
Where product information comes from
The prices, images, stock and specifications shown in the comparison drawer are read by the shopper's own browser directly from the merchant's storefront — the same public product endpoint the product page itself uses, on the same origin, with no credentials. Sideby's servers do not proxy, cache or store a copy of the merchant's catalogue for this purpose.
That public product response also carries the merchant's own cost, margin and profit figures for each variant. Sideby never reads or renders those fields. They are denied by name both in the storefront script and in the server-side settings validator, so a merchant cannot accidentally configure a row that would expose them.
Payment data
Sideby never sees, handles or stores card or payment details. It has no checkout surface and no access to orders.
Analytics
Found uses PostHog for product analytics on the merchant admin — which pages an operator opened, which settings were changed. These events are keyed to a store identifier, never to a shopper, and no personally identifying information is sent. The storefront widget sends no analytics to any third party.
Sharing
Sideby does not sell data, and does not share it for advertising or any other purpose. Data is disclosed only to the infrastructure providers required to run the service (application hosting, the database, the analytics provider named above), and where legally compelled.
Retention
- Configuration and hand-written product values are kept for as long as the app is installed, and preserved on uninstall so that a reinstall restores the merchant's exact sheet.
- Counters are aggregate integers with no personal content and are kept indefinitely for the merchant's own historical view.
- A merchant may request deletion of everything held for their store by emailing brandon@tryfound.io; it is removed within 30 days.
Uninstalling Sideby immediately stops the storefront widget from rendering anything at all, whether or not a browser still has the script cached.
Security
All traffic is served over TLS. Store tokens are held server-side only and are never exposed to a browser. Every merchant API route is authenticated and scoped to the store the session belongs to. See the security page for detail.
Children
Sideby is a tool for merchants and is not directed at children.
Changes
Material changes to this policy will be reflected here with a new "last updated" date.