Privacy Policy
Pickup Points CZ/SK/HU
Effective Date: February 9, 2026 Last Updated: February 9, 2026
Data Controller: SoundsGood Agency s.r.o. Contact Email: integrace@soundsgood.agency
1. Introduction
Section titled “1. Introduction”This Privacy Policy describes how SoundsGood Agency s.r.o. (“we”, “us”, “our”) collects, uses, stores, and protects information when you use the Pickup Points CZ/SK/HU application (“the App”). This policy applies to all merchants (“you”, “Merchant”) who install and use the App through the Shopify App Store, as well as to end customers (“Customers”) of those merchants whose data may be processed through the App.
By installing and using the App, you agree to the collection and use of information in accordance with this Privacy Policy.
2. Information We Collect
Section titled “2. Information We Collect”2.1 Merchant (Shop) Information
Section titled “2.1 Merchant (Shop) Information”When you install and configure the App, we collect and store the following information about your Shopify store:
Account & Authentication Data:
- Shopify store domain (used as your unique identifier)
- Shopify OAuth access token (for API authentication)
- Granted API permission scopes
- Account creation date
- Terms and conditions acceptance timestamp
Store Profile Information (from Shopify):
- Store name and owner name
- Store contact email and customer-facing email
- Store phone number
- Store physical address (street, city, province, country, zip code)
- Store geographic coordinates (latitude, longitude)
- Store domain and myshopify subdomain
- Currency and money format settings
- Timezone and primary locale
- Shopify plan name
- Store creation and last update timestamps
App Configuration Data:
- Shipping method names and carrier configurations
- Multi-carrier setup preferences (Packeta/Zasilkovna, GLS, DPD, PPL, Balikovna)
- Zasilkovna API credentials (API key, API password) for carrier integration
- Order status and fulfillment configuration
- Order confirmation email settings
- Reminder configuration preferences
- Billing plan selection and subscription status
2.2 Customer Order Data
Section titled “2.2 Customer Order Data”The App accesses and processes the following order information to provide pickup point selection and fulfillment services:
Order Data Accessed via Shopify API:
- Order ID and order number
- Order fulfillment and cancellation status
- Shipping method title (used for carrier detection)
- Order custom attributes (pickup point selections)
- Order tags (pickup point status tracking)
Customer Data Accessed via Orders:
- Customer name (from shipping address)
- Shipping address (street, city, country, zip code)
- Billing address (street, city, country, zip code)
- Customer email address
- Customer phone number
- Browser IP address (as provided by Shopify in order data)
Data Written to Orders:
- Custom attribute:
CarrierPickupPointId(pickup point identifier — always written regardless of carrier) - Custom attribute:
PickupPointName(human-readable pickup point name) - Custom attribute: carrier-specific ID (e.g.,
PickupPointIdfor Zásilkovna,GLS idfor GLS,DPD idfor DPD,PPL idfor PPL,Balikovna idfor Balíkovna) - Order tags:
zasilkovna_unselected,zasilkovna_selected,zasilkovna_fulfilled,zasilkovna_cancelled
Important: The legacy order processing system stores full Shopify order objects in our database, which includes customer personal information such as email, phone, addresses, and browser IP address.
2.3 Billing & Subscription Data
Section titled “2.3 Billing & Subscription Data”- Subscription plan identifier (Basic or Premium)
- Shopify charge/subscription reference ID
- Subscription status (pending, active, disabled)
- Subscription creation and activation timestamps
2.4 Session Data
Section titled “2.4 Session Data”- Session identifier (format:
offline_{shopDomain}) - Associated shop domain
- OAuth access token
- OAuth state parameter
- Granted API scopes
- Token expiration date
- Session cookie (for merchant admin sessions)
2.5 Pickup Point Data
Section titled “2.5 Pickup Point Data”The App creates and manages pickup point location data as Shopify Metaobjects in your store:
- Pickup point external ID, name, and provider name
- Address details (street, city, country, country code, zip)
- Geographic coordinates (latitude, longitude)
- Business hours per day of the week
- Operational features (parcel locker, COD, card payment, express delivery, weekend delivery)
- Size and weight restrictions
- Provider logo and image URLs
2.6 Translation Data
Section titled “2.6 Translation Data”Custom UI translation strings stored as Shopify Metaobjects:
- Widget title and confirmation title
- Pickup point selection instructions and confirmation text
- Button labels for selection and modification actions
3. How We Use Your Information
Section titled “3. How We Use Your Information”We use the collected information for the following purposes:
| Purpose | Data Used |
|---|---|
| App Authentication | OAuth tokens, session data, shop domain |
| Pickup Point Selection | Order data, shipping method, customer address |
| Order Tagging & Tracking | Order ID, fulfillment status, pickup point selection |
| CSV Order Export | Order details, customer name, shipping address, email, phone, pickup point |
| Carrier Detection | Shipping method title |
| Billing Management | Shop domain, subscription plan, charge ID |
| Translation Customization | Shop locale, translation strings |
| Widget Rendering | Order ID, carrier type, shop domain, Zasilkovna API credentials |
| Email Reminders | Customer email, order status, pickup point status |
| Error Monitoring | Shop domain, operation context, error details (anonymized) |
| Analytics & Improvement | Installation events, configuration changes, usage patterns |
| GDPR Compliance | Customer email, order data for data requests and deletion |
4. Data Storage & Infrastructure
Section titled “4. Data Storage & Infrastructure”4.1 Primary Data Storage
Section titled “4.1 Primary Data Storage”All application data is stored in Google Firebase Firestore, located in the europe-central2 (Warsaw, Poland) region within the European Union.
Database structure:
shopify_sessionscollection: OAuth session recordsMerchantPartnerscollection: Merchant account data, configuration, and shop informationbillingssubcollection: Subscription and billing recordsorderssubcollection: Order data for processing (legacy system)
4.2 Shopify-Hosted Data
Section titled “4.2 Shopify-Hosted Data”The following data is stored directly within Shopify’s infrastructure and governed by Shopify’s own privacy practices:
- Metaobjects: Pickup point locations (
custom_pickup_points) and translations (zasilkovna_translations) - Order Custom Attributes: Pickup point selection data
- Order Tags: Fulfillment status tracking
4.3 Data Processing Locations
Section titled “4.3 Data Processing Locations”| Component | Location | Provider |
|---|---|---|
| Backend API (modern) | europe-central2 (Warsaw, PL) | Google Cloud Functions |
| Backend API (legacy) | europe-central2 (Warsaw, PL) | Firebase Cloud Functions |
| Frontend Admin | europe-central2 (Warsaw, PL) | Google Cloud Run |
| Database | europe-central2 (Warsaw, PL) | Firebase Firestore |
| Webhook Queue | europe-central2 (Warsaw, PL) | Google Cloud Tasks |
| Error Tracking | EU region | Sentry (Functional Software, Inc.) |
| Analytics | EU endpoint (api-eu.mixpanel.com) | Mixpanel, Inc. |
| Session Recording | Global | Microsoft Clarity |
5. Data Retention
Section titled “5. Data Retention”| Data Type | Retention Period | Deletion Trigger |
|---|---|---|
| Session data | Duration of app installation | Deleted immediately on app uninstall |
| Merchant account data | Duration of app installation + 30-day grace period | Cleared on uninstall; record disabled but retained for accounting |
| OAuth access tokens | Duration of app installation | Nullified on app uninstall |
| Order data (legacy) | Indefinite while app is installed | Deleted via GDPR shop/redact webhook or manual request |
| Billing records | Indefinite | Retained for accounting and legal compliance |
| Pickup point metaobjects | Until deleted by merchant or app | Shopify-managed; persist after uninstall unless manually removed |
| Order tags and attributes | Managed by Shopify | Shopify-managed; persist after uninstall |
| Translation metaobjects | Until deleted by merchant or app | Shopify-managed |
| Error logs (Sentry) | Per Sentry retention policy (default 90 days) | Automatic |
| Analytics data (Mixpanel) | Per Mixpanel retention policy | Subject to Mixpanel’s data retention |
| Session recordings (Clarity) | Per Microsoft Clarity retention policy | Subject to Microsoft’s data retention |
6. Third-Party Services & Data Sharing
Section titled “6. Third-Party Services & Data Sharing”6.1 Infrastructure & Service Providers
Section titled “6.1 Infrastructure & Service Providers”| Provider | Purpose | Data Shared | Privacy Policy |
|---|---|---|---|
| Google Cloud Platform / Firebase | Cloud infrastructure, database, serverless functions, task queuing, logging | All application data (merchant info, sessions, orders, configurations) | Google Cloud Privacy |
| Shopify Inc. | E-commerce platform, OAuth, billing, order management | Orders, metaobjects, billing subscriptions, API calls | Shopify Privacy |
| Sentry (Functional Software, Inc.) | Error tracking and monitoring (non-development environments only) | Error stack traces, shop domain identifiers, operation context | Sentry Privacy |
| Mixpanel, Inc. | Product analytics (EU endpoint) | Shop domain, installation events, configuration events, email, country, Shopify plan | Mixpanel Privacy |
| Microsoft Clarity | Session recording and heatmap analytics | User interactions within admin interface, session data | Microsoft Privacy |
| Google Maps Platform | Address autocomplete and geocoding for pickup point selection | Address search queries, geographic coordinates | Google Privacy |
6.2 Carrier Integrations
Section titled “6.2 Carrier Integrations”The App integrates with the following shipping carriers for pickup point services:
| Carrier | Data Shared |
|---|---|
| Packeta (Zasilkovna) | Order number, customer name, shipping address, pickup point ID, COD amount, package weight |
| GLS | Pickup point selection data, shipping address |
| DPD | Pickup point selection data, shipping address |
| PPL | Pickup point selection data, shipping address |
| Balikovna (Ceska Posta) | Pickup point selection data, shipping address |
Data is shared with carriers when merchants export orders via CSV or when pickup point assignments are made through the widget.
6.3 SMTP Email Service
Section titled “6.3 SMTP Email Service”The App uses SMTP email services for:
- GDPR customer data request responses
- Pickup point selection reminder emails to customers
- Email content includes: customer email address, order details, pickup point information
6.4 No Sale of Personal Data
Section titled “6.4 No Sale of Personal Data”We do not sell, rent, or trade any personal information to third parties for marketing or advertising purposes.
7. Cookies & Tracking Technologies
Section titled “7. Cookies & Tracking Technologies”7.1 Cookies
Section titled “7.1 Cookies”| Cookie | Type | Purpose | Duration |
|---|---|---|---|
| Session cookie (“session”) | Essential/Functional | Maintains merchant authentication session in admin interface | Browser session (SameSite=None, Secure) |
7.2 Tracking Technologies
Section titled “7.2 Tracking Technologies”| Technology | Purpose | Opt-Out |
|---|---|---|
| Mixpanel (EU endpoint) | Product usage analytics, installation tracking | Contact us at integrace@soundsgood.agency |
| Microsoft Clarity | Session recording and user behavior analysis in admin interface | Contact us at integrace@soundsgood.agency |
7.3 Checkout Extension
Section titled “7.3 Checkout Extension”The checkout extension (rendered on thank-you and order status pages) uses:
- Shopify session tokens (JWT) for authentication
- No additional cookies or tracking beyond Shopify’s own mechanisms
8. Shopify API Permissions
Section titled “8. Shopify API Permissions”The App requests the following Shopify API scopes. Each scope is necessary for the App’s core functionality:
| Scope | Purpose |
|---|---|
read_content, write_content | Managing translation content for the pickup point widget |
read_metaobjects, write_metaobjects | Storing and retrieving pickup point locations and custom translations |
read_metaobject_definitions, write_metaobject_definitions | Creating the pickup point and translation data schemas |
read_customers | Accessing customer data for order exports |
read_orders, write_orders | Reading order details and writing pickup point selections and status tags |
read_fulfillments | Checking order fulfillment status for export and tagging |
read_shipping | Detecting shipping methods to determine applicable carriers |
write_app_proxy | Providing custom endpoints for the pickup point widget |
read_translations | Supporting multi-language pickup point widget |
customer_read_orders | Enabling pickup point display on customer account order status page |
read_locales | Detecting shop locale for appropriate language defaults |
9. Data Security
Section titled “9. Data Security”9.1 Technical Security Measures
Section titled “9.1 Technical Security Measures”- Encryption in Transit: All data transmitted between systems uses HTTPS/TLS encryption
- Encryption at Rest: Firebase Firestore provides automatic encryption at rest using Google Cloud’s encryption infrastructure
- OAuth 2.0: Shopify app authentication follows industry-standard OAuth 2.0 protocol
- JWT Authentication: Checkout extension communications secured with HS256-signed JSON Web Tokens
- Bearer Token Validation: All API endpoints validate authentication tokens against stored sessions
- HMAC Verification: Shopify webhook payloads verified using SHA-256 HMAC signatures with timing-safe comparison
- HMAC-Signed Dropoff: Pickup point selection submissions verified with per-merchant HMAC signatures
- Request Logging Protection: Sensitive data (passwords, tokens, authentication headers, API keys, credit card data) is automatically masked in server logs
- Access Control Guards: Separate authentication guards for admin API (AppAuthGuard) and checkout extension (CheckoutAuthGuard) endpoints
- Billing Verification: Checkout requests verify active billing status to prevent unauthorized access
9.2 Organizational Security Measures
Section titled “9.2 Organizational Security Measures”- Application hosted entirely within the European Union (Google Cloud europe-central2 region)
- Access to production systems restricted to authorized development team members
- Separate development/sandbox and production environments
- Error logs processed through Sentry with contextual information only (no raw customer data)
10. Your Rights (Merchants)
Section titled “10. Your Rights (Merchants)”10.1 Data Access
Section titled “10.1 Data Access”You can access your data through:
- Shopify Admin Dashboard: View orders, metaobjects, and tags created by the App
- App Admin Interface: View billing status, translation configurations, and shipping setup
- Data Export Request: Contact us at integrace@soundsgood.agency for a complete export of your data
10.2 Data Portability
Section titled “10.2 Data Portability”Order data, pickup point configurations, and translations are stored as standard Shopify resources (order attributes, metaobjects) and can be exported using Shopify’s built-in export tools.
10.3 Data Deletion
Section titled “10.3 Data Deletion”Automatic (on App Uninstall):
- OAuth session data is deleted immediately
- Access tokens are nullified
- Terms and conditions approval is cleared
- Webhook verification is cleared
- Billing status is set to disabled
- Merchant account record is retained in disabled state for up to 30 days for accounting purposes, then scheduled for deletion
By Request:
- Contact integrace@soundsgood.agency to request complete deletion of all your data
- We will process deletion requests within 30 days
Shopify-Managed Data:
- Order custom attributes and tags remain in Shopify (managed by you)
- Metaobjects (pickup points, translations) remain in Shopify until you delete them
10.4 Data Rectification
Section titled “10.4 Data Rectification”Contact us at integrace@soundsgood.agency to correct any inaccurate data we hold about you.
11. Customer Rights (End Customers)
Section titled “11. Customer Rights (End Customers)”11.1 Data Processed
Section titled “11.1 Data Processed”The App processes end customer data solely for the purpose of enabling pickup point selection and order fulfillment. We act as a data processor on behalf of the Merchant (data controller) for customer data.
11.2 GDPR Compliance
Section titled “11.2 GDPR Compliance”We respond to Shopify’s mandatory GDPR webhooks:
| Webhook | Action |
|---|---|
customers/data_request | We compile and send all stored data for the specified customer to the merchant via email |
customers/redact | We delete all stored order data associated with the specified customer |
shop/redact | We delete all stored order data for the entire shop |
11.3 Customer Data Requests
Section titled “11.3 Customer Data Requests”End customers should contact the merchant (store owner) directly regarding their personal data. Merchants can then relay requests to us if needed. We will respond to verified data subject requests within 30 days.
12. International Data Transfers
Section titled “12. International Data Transfers”All primary data processing occurs within the European Union (Google Cloud europe-central2 region, Warsaw, Poland). However, the following third-party services may process data outside the EU:
| Service | Data Center Location | Safeguards |
|---|---|---|
| Sentry | EU region available | Standard Contractual Clauses |
| Mixpanel | EU endpoint (api-eu.mixpanel.com) | EU data residency |
| Microsoft Clarity | Global infrastructure | Standard Contractual Clauses, Microsoft DPA |
| Google Cloud | europe-central2 (EU) | EU data residency, Google Cloud DPA |
| Shopify | Global infrastructure | Shopify DPA, Standard Contractual Clauses |
13. Children’s Privacy
Section titled “13. Children’s Privacy”The App is designed for business use by Shopify merchants and is not intended for use by individuals under the age of 16. We do not knowingly collect personal information from children.
14. Changes to This Privacy Policy
Section titled “14. Changes to This Privacy Policy”We may update this Privacy Policy from time to time to reflect changes in our practices, technology, or legal requirements. When we make material changes:
- We will update the “Last Updated” date at the top of this policy
- For significant changes, we will notify merchants through the App’s admin interface or via email
- Continued use of the App after changes constitutes acceptance of the updated policy
15. Legal Basis for Processing (GDPR)
Section titled “15. Legal Basis for Processing (GDPR)”| Processing Activity | Legal Basis |
|---|---|
| Merchant account management | Performance of contract (App installation agreement) |
| Order processing and tagging | Performance of contract; Legitimate interest (fulfillment services) |
| Pickup point assignment | Performance of contract |
| Billing and subscription | Performance of contract |
| Error monitoring (Sentry) | Legitimate interest (service reliability) |
| Analytics (Mixpanel, Clarity) | Legitimate interest (service improvement) |
| GDPR request processing | Legal obligation |
| Email reminders | Legitimate interest (order fulfillment); Merchant consent |
16. Contact Information
Section titled “16. Contact Information”For any questions, concerns, or requests regarding this Privacy Policy or your data:
Data Controller: SoundsGood Agency s.r.o. Email: integrace@soundsgood.agency
For GDPR-related requests:
- Merchants: Contact us directly at integrace@soundsgood.agency
- End customers: Contact the merchant (store owner) who installed the App
17. Applicable Law
Section titled “17. Applicable Law”This Privacy Policy is governed by the laws of the Czech Republic and the European Union’s General Data Protection Regulation (GDPR). For disputes, the courts of the Czech Republic shall have jurisdiction.
This Privacy Policy was last reviewed and updated on February 9, 2026, based on a comprehensive audit of the Pickup Points CZ/SK/HU application codebase.