Fulldev Search privacy policy
Last updated: October 16, 2026.
Fulldev provides Search, a Shopify app and a standalone script that speed up a theme's existing predictive search. Fulldev is based at Vismarkt 5a, 9712 CA Groningen, the Netherlands. Contact contact@full.dev with questions or requests about your data.
Data used to provide the app
Search reads product titles, vendors, product types and tags for active products published to the Online Store. It uses this catalogue to prepare likely searches. It writes a JSON product index to your store's Shopify Files and an index reference to the app installation. Search does not request access to customer records, orders or payment information.
Our server stores the shop domain, Shopify authorization sessions and the status and timing of index builds. Production access and refresh tokens are encrypted at rest. These records allow the app to authenticate, refresh its access and rebuild the index.
Shoppers' browsers
The app sends predictive-search requests directly to the store's Shopify endpoint. It keeps recent answers in browser memory for up to two minutes. It remembers a small number of native search-request URLs in session storage, which can include the query, for the browser tab's session. The Shopify app embed and the original script without a store key do not send shopper queries to Fulldev or install shopper analytics or advertising trackers. The optional managed script is described below. Shopify's own services and the merchant's other scripts operate under their respective privacy policies.
Managed script and optional learning
Merchants can register a store domain in app.full.dev, verify that the store's public homepage contains its installation script, and control that script from the dashboard. We store the organization, store domain, public script identifier, settings and domain-check results. The public identifier is not a password. The script reads configuration from Fulldev; those requests include ordinary connection information such as the IP address and browser Origin. Abuse controls keep a hash of the network address with short-lived request counts. Those rate-limit windows expire after an hour and are removed by daily cleanup; the hash is not an anonymity guarantee.
Learning is off by default. If the merchant enables it and Shopify's Customer Privacy API permits analytics for the shopper, the managed script sends submitted native search terms to Fulldev for processing. It does not send every keystroke, speculative searches, cookies or a visitor identifier. Without that permission, it neither collects terms nor uses learned predictions. Terms outside a short letters-and-spaces format are rejected; this is not a guarantee that every sensitive term can be identified.
We process the submitted term transiently and keep daily counts of two-letter patterns followed by another letter, not the full term or a visitor profile. These counts are specific to the store and expire after 30 days. The browser downloads a bounded model of common transitions to prepare likely next searches locally. A minimum observation count does not prove that different people made those searches or make the counts anonymous. Turning learning off clears the store's counts. Existing cached configuration and predictions can take up to two minutes to expire.
The merchant must describe this optional processing in its own privacy notice and choose appropriate Shopify privacy settings. Fulldev's normal hosting providers process connection metadata and their logs follow the providers' retention settings. The managed script does not send query bodies to PostHog or use search data for advertising. Removing the Shopify app alone does not remove a separately registered dashboard store; contact us or manage the store in the dashboard to stop that processing.
Technical analytics and hosting
The embedded merchant app sends page views, performance measurements and errors to PostHog's EU service to help us maintain it. It masks Shopify credentials and shop identifiers before sending these events and uses no persistent browser identifier. PostHog also stores connection IP addresses and the approximate location derived from them. Hosting providers receive technical connection information. Session recordings and automatic capture of page interactions are disabled.
Netlify hosts the app and stores app sessions and build records in its Frankfurt region. Shopify hosts the product index and serves predictive-search results. These providers process data to operate their services and may use infrastructure outside the European Economic Area. We do not sell this data or use it for advertising.
Retention and uninstalling
We keep the shop's app sessions and build records while needed to provide Search. The uninstall webhook removes access and build records; Shopify's subsequent shop-redaction webhook removes remaining app records. Technical events and hosting logs follow the providers' configured retention periods. Contact us to request their removal or information about the current retention settings.
Current and recently replaced index files remain in the merchant's Shopify Files after uninstall because Shopify has already revoked our access. The merchant can remove those files in Shopify admin. They contain product metadata, not customer records. Cached browser answers expire after two minutes; session storage lasts for the tab's session.
Your rights and contact
You can ask us to access, correct, delete, restrict or transfer your personal data, or object to its use, by emailing contact@full.dev. You can also complain to your data protection authority. We respond to Shopify's mandatory data-access and deletion webhooks. Search does not retain customer records to return through those requests.
For correspondence with Fulldev and our website, see Fulldev's privacy statement. Updates to this policy will appear on this page.