Lektoro Privacy Policy: Currency Rounding
This page shows the Lektoro Privacy Policy with the section for Lektoro: Currency Rounding. Privacy policy →
Version: [1.0] · Last updated: 2026-10-08 · Applies to: all Lektoro apps for Shopify listed in section 2 and the website https://lektoro.pl.
This policy explains what personal data the Lektoro apps process, why, for how long, who receives it and what
rights you have. Section 1–14 apply to all apps. Appendix A describes, app by app, exactly which data each app
reads from Shopify, what it stores and how it handles the Shopify privacy webhooks. Each app's privacy page
(https://lektoro.pl/apps/<app>/privacy/) consists of this policy plus that app's section of Appendix A.
1. Who we are
The apps are published by:
Maciej Kaczmarczyk (Lektoro), a natural person conducting unregistered activity (Art. 5 of the Polish Entrepreneurs' Law; no entry in CEIDG, no NIP or REGON), not registered for VAT Address: ul. Warszawska 87/16, 66-400 Gorzów Wielkopolski, Poland E-mail (privacy and data protection): legal@lektoro.pl · Support: support@lektoro.pl
("Lektoro", "we", "us"). We are registered with Shopify as an individual Shopify Partner and are established in the European Union (Poland). We have not appointed a Data Protection Officer because we are not required to do so (Art. 37 GDPR) [confirm]. Contact us about privacy at legal@lektoro.pl.
2. Apps covered by this policy
| App (name in the Shopify App Store) | Short description |
|---|---|
| Lektoro: 3PL Case-Pack Picker | converts fulfillment orders into case/inner/pallet pick instructions for a 3PL |
| Lektoro: DRS Deposit & Returns | container deposits (DRS) online and in Shopify POS, container returns, deposit ledger |
| Lektoro: Accessibility Audit | static scan of theme code against WCAG 2.1 AA |
| Lektoro: EPR Packaging Report | packaging weight ledger per material and destination country for EPR reporting |
| Lektoro: Feed & Pixel Guard | Google Merchant Center feed audit, storefront price/stock check, pixel health monitoring |
| Lektoro: GPSR Safety Info | GPSR product safety information (operators, warnings, documents, incidents) |
| Lektoro: Green Claims Checker | scans store content for environmental claims restricted by Directive (EU) 2024/825 |
| Lektoro: HS Codes & Customs | audits and fixes HS codes, country of origin and weight of variants |
| Lektoro: Oversell & Sync Watch | monitors catalog settings and inventory changes that cause overselling on marketplaces |
| Lektoro: MOQ Purchase Orders | reorder proposals rounded to pack sizes/MOQ, purchase orders, receiving |
| Lektoro: Currency Rounding | rounded fixed prices per Shopify Market and currency |
| Lektoro: Textile Passport DPP | textile digital product passports, supplier data portal, public passport pages |
3. Our role: controller or processor
The apps are business tools for Shopify merchants ("Merchant", "you").
- We act as controller for data about the Merchant as our customer: the shop identity, the staff members who contact us, support correspondence, plan and subscription status, and technical/security logs of our services.
- We act as processor on behalf of the Merchant for personal data contained in the Merchant's shop and in the data the Merchant puts into an app – e.g. order references and country codes, a customer ID linked to a deposit payout, identifiers of staff members recorded in audit logs, contact details of suppliers and economic operators, data submitted by the Merchant's suppliers. The Merchant is the controller of that data. Our processing is governed by the Data Processing Agreement (https://lektoro.pl/legal/dpa/), which forms part of our Terms of Service.
If you are a customer of a Shopify store (a shopper), the store is responsible for your data. Please contact the store directly; we will assist the store in answering your request.
4. What data we process
4.1 Installation and account data (all apps). When a Merchant installs an app, Shopify provides us with the shop
domain (*.myshopify.com), an API access token (stored to call the Shopify API on the Merchant's behalf), the
granted access scopes, and the shop's Shopify ID. We record installation and uninstallation dates. The apps use
Shopify "offline" access tokens; we do not receive the name or e-mail address of the staff member using the app
from the session [confirm before publication – see README]. Some apps store the Shopify user ID of the staff
member performing an action (see Appendix A).
4.2 Plan and subscription status (all apps). Charges are handled by Shopify (Shopify App Pricing). We do not receive or store payment card or bank details. We query Shopify's Partner API for the shop's active plan, its status (e.g. trial, active) and the date it was checked, and store the last verified result.
4.3 Shop data read through the Shopify API. Each app reads only the data covered by its access scopes. Most apps read product and inventory data only, which normally contains no personal data. Two apps read order or fulfillment data, and one app stores a customer ID – see Appendix A. No app reads customer names, e-mail addresses, phone numbers or street addresses.
4.4 Data the Merchant enters. Settings, rules, mappings, notes, uploaded CSV files and documents, alert e-mail addresses, contact details of suppliers or economic operators, and similar data entered in an app.
4.5 Data from other people. Only where described in Appendix A:
- Storefront visitors: aggregated, anonymous event counts from the Feed & Pixel Guard heartbeat pixel (only with the visitor's analytics consent); requests to public product passport pages (Textile Passport DPP).
- Suppliers of the Merchant who submit data through the Textile Passport DPP supplier portal.
4.6 Support and communication. When you contact us: your name, e-mail address, shop domain, the content of the correspondence and any attachments.
4.7 Technical logs. Our servers and our hosting provider record technical request data (IP address, date and time, requested URL, user agent, response code) for security and troubleshooting. Some public endpoints use the IP address only in memory for rate limiting, without storing it (see Appendix A).
4.8 Website. The website https://lektoro.pl is a static site without accounts or contact forms. Fonts and all other files are served from our own server; without your consent the website does not connect to any third-party server.
- Server logs of our hosting provider (as in 4.7).
- Browser storage (localStorage), strictly necessary or set at your request, not sent to us: your colour theme
choice (
lektoro-theme) and your cookie choice (lektoro-consent). They stay until you clear browser data. - Language cookie (
lektoro_lang), set only when you choose a language in the language menu: it remembers EN, PL, DE or FR so the home page opens in that language. Functional, strictly necessary for the requested function, no personal data, valid 1 year. Without it, the home page follows your browser's language setting. - Google Analytics 4 – only with your consent. If you click "Accept" in the cookie banner, the website loads
Google Analytics 4, which sets cookies (
_ga,_ga_<ID>) and sends Google information about your visit: pages viewed, referring page, approximate location derived from the IP address (GA4 does not store IP addresses), device, browser and language. Advertising features, Google signals and ad personalisation are switched off. Without consent (or after "Reject") Google Analytics is not loaded at all. You can change your choice at any time with the "Cookie settings" link in the website footer.
4.9 Shopify App Store listings. When you view a Lektoro app listing in the Shopify App Store, Shopify sends our Google Analytics 4 property events about that visit: listing view, click on "Install", installation, click on an App Store ad, and the traffic source within the App Store (e.g. search phrase or category). Shopify collects this data under its own privacy policy and cookie choices on apps.shopify.com; we receive it in Google Analytics and use it only in aggregated reports, without identifying individual visitors.
5. Purposes and legal bases
| Purpose | Data | Legal basis (GDPR) |
|---|---|---|
| Providing the app functions the Merchant uses | 4.1–4.5 | Art. 6(1)(b) – performance of the contract with the Merchant; for data processed on behalf of the Merchant: the Merchant's instructions (Art. 28) |
| Determining the plan and enforcing plan limits | 4.2 | Art. 6(1)(b) |
| Sending alerts, test messages and opt-in summaries chosen by the Merchant | alert e-mail address, Slack/webhook URL | Art. 6(1)(b) |
| Customer support | 4.6 | Art. 6(1)(b) and (f) – our legitimate interest in answering enquiries |
| Security, abuse prevention, rate limiting, troubleshooting | 4.7 | Art. 6(1)(f) – legitimate interest in secure and stable services |
| Handling Shopify privacy webhooks and data subject requests | identifiers in the request | Art. 6(1)(c) – legal obligation; Art. 28(3)(e) GDPR |
| Establishing, exercising or defending legal claims | necessary data | Art. 6(1)(f) |
| Accounting and tax records [if applicable] | invoicing/payout data | Art. 6(1)(c) |
| Website statistics (Google Analytics 4 on the website) | 4.8 – GA4 data | Art. 6(1)(a) – your consent (cookie banner), which you can withdraw at any time; Art. 173 of the Polish Telecommunications Law / Art. 399 of the Electronic Communications Law [confirm] for storing cookies |
| Remembering your theme and cookie choice | 4.8 – localStorage | Art. 6(1)(f) – legitimate interest in a working website; storage strictly necessary or requested by you |
| Measuring how our App Store listings perform | 4.9 | Art. 6(1)(f) – legitimate interest in improving our listings; aggregated reports only |
What we do not do. We do not sell or rent personal data. We do not use shop or customer data for advertising, for profiling, or to train machine-learning or AI models. The apps do not use external AI services (for example, HS code suggestions are computed by a rule-based algorithm on our server). We do not make decisions based solely on automated processing that produce legal or similarly significant effects (Art. 22 GDPR). Scores and suggestions shown in the apps are aids for the Merchant, who makes the decisions.
6. Recipients
- Shopify (Shopify Inc. and its affiliates, incl. Shopify International Limited, Ireland) – the platform the apps run on. Shopify processes data under its own terms and privacy policy.
- Our subprocessors – hosting and e-mail delivery providers listed at https://lektoro.pl/legal/subprocessors/.
- Destinations chosen by the Merchant – only if the Merchant configures them: Slack incoming webhook, the Merchant's own webhook endpoint, the Merchant's 3PL endpoint, Google Merchant Center (Google), eBay. These are services of the Merchant's choice, not our subprocessors; data is sent to them on the Merchant's instruction.
- Google (Google Ireland Limited, Ireland; Google LLC, USA) – Google Analytics 4 for the website (only with consent, 4.8) and for App Store listing statistics (4.9).
- Public: data the Merchant chooses to publish on the storefront (GPSR safety information, product passports).
- Authorities and courts, where we are legally required.
7. International transfers
We host the apps and the website at SEOHOST Sp. z o.o., ul. Obornicka 330, 60-689 Poznań, Poland (KRS 0000939910, NIP 9721323212), on servers in Poland (EU). Google Analytics data may be transferred to Google LLC in the USA under the EU–US Data Privacy Framework (Google LLC is certified) and Google's Standard Contractual Clauses. Where a subprocessor or a recipient is located outside the EEA (for example, our e-mail delivery provider for Feed & Pixel Guard, Resend, in the USA), the transfer is based on an adequacy decision (e.g. the EU–US Data Privacy Framework, where the recipient is certified) or on Standard Contractual Clauses (Commission Decision (EU) 2021/914) [confirm per provider]. Shopify transfers data under its own terms. Details: https://lektoro.pl/legal/subprocessors/.
8. Retention
- While the app is installed: as long as needed for the app's function, subject to the retention periods in Appendix A (e.g. plan-dependent history).
- Uninstallation: on uninstall we delete the Shopify access tokens (sessions) immediately and stop all scheduled jobs, alerts and data collection, but keep the Merchant's business data for 48 hours, so that an accidental uninstall does not destroy compliance records; reinstalling within this period restores access.
- Full deletion: Shopify sends the
shop/redactwebhook 48 hours after uninstallation. On receipt we delete all data of that shop from the app database. Copies in backups are overwritten within [30] days. - Fallback deletion: each app records the uninstallation date. If
shop/redactis never received, an automatic clean-up deletes all data of the shop once 90 days have passed since uninstallation (unless the app was reinstalled). The clean-up runs once a day – with the app's scheduled jobs where the app has them, otherwise together with the app's regular activity (webhooks, admin page loads). - Customer redaction: on
customers/redactwe delete or anonymise data about the indicated customer or orders, where an app holds any (Appendix A). - Support correspondence: [3 years from the end of the conversation – limitation period for claims].
- Technical logs: [14] days, unless needed longer to investigate a security incident.
- Accounting records [if applicable]: 5 years from the end of the calendar year in which the tax obligation arose (Polish tax law).
Important for compliance records: some apps hold records the Merchant may be legally required to keep (e.g.
EPR packaging ledger, GPSR incident register, product passports, deposit ledger). Our deletion after shop/redact
does not extend the Merchant's own retention obligations. Export your data before uninstalling – each app
provides CSV/JSON export or printable reports.
Website and listing statistics: Google Analytics 4 data (4.8, 4.9) is kept for 14 months (GA4 data
retention setting) and then deleted automatically by Google; the _ga cookies expire after 2 years or when you
withdraw consent and clear cookies.
9. Security
We use measures appropriate to the risk, including: TLS encryption for all traffic; verification of Shopify session tokens and HMAC signatures of Shopify webhooks and App Proxy requests; minimum necessary access scopes, read-only by default, with write scopes requested only when the Merchant uses a writing feature; encryption of third-party credentials stored by the apps (AES-256-GCM for the storefront password and Google refresh token in Feed & Pixel Guard and for marketplace tokens in Oversell & Sync Watch); storing only hashes of supplier access links (Textile Passport DPP); protection of outbound requests against server-side request forgery; rate limiting of public endpoints; separation of data per shop; restricted administrative access to production systems [only the publisher, with 2FA – confirm]; encryption of data at rest by SEOHOST [confirm]; regular backups [confirm]. See also Annex II of the DPA.
10. Shopify privacy webhooks
All apps subscribe to Shopify's mandatory privacy webhooks:
customers/data_request– apps that hold data linked to the customer or to the orders listed in the request (3PL Case-Pack Picker, DRS Deposit & Returns, EPR Packaging Report) record the request and show the Merchant a notice in the app with a CSV/JSON download of the matching records, which the Merchant passes to the customer (Shopify expects a response within 30 days); the Merchant marks the request as fulfilled. The stored request contains only identifiers (customer ID, order IDs, request ID) – not the customer's e-mail or phone – and is deleted oncustomers/redactfor that customer or together with the shop's data. The other apps hold no customer data: the request is acknowledged and logged (Appendix A);customers/redact– we delete or anonymise data about the customer, where the app holds any;shop/redact– we delete all data of the shop (48 hours after uninstallation).
11. Your rights
Under the GDPR you have the right to access your data, to rectification, erasure, restriction of processing, data portability, and to object to processing based on legitimate interests (Art. 15–21). Write to legal@lektoro.pl. We will answer within one month (extendable by two months in complex cases). Shoppers and suppliers of a Merchant: the Merchant is the controller – please contact the Merchant; we will forward requests we receive to the Merchant and assist them.
You have the right to lodge a complaint with a supervisory authority, in Poland: Prezes Urzędu Ochrony Danych Osobowych (President of the Personal Data Protection Office), ul. Stawki 2, 00-193 Warszawa, www.uodo.gov.pl, or the authority in your EU country of residence or work.
Providing data is voluntary but necessary to use the apps; without the installation data an app cannot work.
12. Cookies and tracking
- Inside Shopify admin: the apps run embedded in Shopify admin and authenticate with Shopify session tokens. The apps do not set advertising or analytics cookies. The only cookie set by an app is a strictly necessary, HttpOnly security cookie valid for 10 minutes during the optional eBay connection in Oversell & Sync Watch. Shopify may set its own cookies in the admin under its own policy.
- On the storefront (visible to shoppers): only the components listed below. None of them sets cookies or uses browser storage.
| App | Storefront component | Data sent to Lektoro servers | Consent |
|---|---|---|---|
| DRS Deposit & Returns | theme app embed that adds deposit lines to the cart | none (it talks only to the Shopify cart) | not required (functional) [confirm] |
| GPSR Safety Info | theme block showing safety information | none (rendered by Shopify from metafields) | not required |
| Feed & Pixel Guard | web pixel "heartbeat" (optional, Pro plan) | shop domain, a per-shop token and the event name (e.g. product_viewed); IP address used in memory for rate limiting only | runs only when the visitor has given analytics consent (Shopify Customer Privacy API) |
| Textile Passport DPP | product passport block and public passport pages (App Proxy) | requested passport URL, preferred language; IP address used in memory for rate limiting only | not required (no tracking) [confirm] |
- Website: see 4.8. Cookies only from Google Analytics 4 and only after you click "Accept" in the banner:
| Cookie / storage | Set by | Purpose | Duration | Consent |
|---|---|---|---|---|
lektoro-theme (localStorage) | Lektoro | remembers light/dark theme | until you clear it | not required (requested by you) |
lektoro-consent (localStorage) | Lektoro | remembers your cookie choice | until you clear it | not required (strictly necessary) |
_ga | Google Analytics 4 | distinguishes visitors | 2 years | required |
_ga_<ID> | Google Analytics 4 | keeps the session state | 2 years | required |
- Shopify App Store: apps.shopify.com is operated by Shopify; its cookies and the consent for them are governed by Shopify's policy. See 4.9 for the statistics we receive.
13. Children
The apps are intended for businesses. We do not knowingly collect data of children.
14. Changes to this policy
We will publish any change on this page with a new date. We will inform Merchants of material changes by e-mail or in the app at least [30] days before they take effect, unless the change is required by law sooner.
Appendix A – App-specific information
Legend: PCD = Shopify "protected customer data" (data about the store's customers).
"Read-only" = the app does not change anything in the store unless stated.
Common to all apps (not repeated below): installation data, plan status and the shop/redact deletion described
in sections 4.1, 4.2 and 8; webhooks app/uninstalled (deletes access tokens, keeps business data until
shop/redact) and app/scopes_update (records granted scopes).
A.11 Lektoro: Currency Rounding
- Access scopes:
read_products,read_markets. Optional (requested at "Apply"/"Revert"):write_products. - Webhooks:
products/create,products/update, plus the mandatory privacy webhooks. - Data read from Shopify: variants, base and compare-at prices, contextual prices, price lists and catalogs, markets, currencies, manual exchange rates; shop name, currency, domain.
- External data: daily euro reference exchange rates downloaded by our server from the European Central Bank (public data; no shop or personal data is sent).
- Stored: rounding rules per market, every fixed price written by the app with the previous value (for revert), change log, product sync queue, exchange-rate cache.
- Written to the store (only with
write_products): fixed prices in market price lists and, if needed, an app-created catalog/price list. - Retention: until
shop/redact(the price register is kept after uninstall until then so that prices can be reverted). customers/redact/customers/data_request: no customer data – nothing to delete or report.- PCD: No.
- Storefront / cookies: none. E-mail: none.