{"id":140,"date":"2026-05-02T00:00:00","date_gmt":"2026-05-02T00:00:00","guid":{"rendered":"https:\/\/fullstackpretender.tech\/?page_id=140"},"modified":"2026-05-03T08:30:15","modified_gmt":"2026-05-03T08:30:15","slug":"privacy-policy-2","status":"publish","type":"page","link":"https:\/\/fullstackpretender.tech\/?page_id=140","title":{"rendered":"Privacy Policy"},"content":{"rendered":"\n<h1 class=\"wp-block-heading\">Privacy Policy<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Last updated: 2 May 2026<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This Privacy Policy describes how Simple Price Sync and Simple Stock Sync (&#8220;the Apps&#8221;, &#8220;we&#8221;, &#8220;us&#8221;) handle data when you install and use them on your Shopify store.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">1. Who we are<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The Apps are developed and operated by Ian Phillips, trading as Precision Tools &amp; Tooling, Australia. Contact: <a href=\"mailto:admin@fullstackpretender.tech\">admin@fullstackpretender.tech<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">2. What data we access<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">From Shopify<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Product titles, SKUs, and variant information<\/li>\n\n\n\n<li>Variant prices and compare-at prices (Simple Price Sync)<\/li>\n\n\n\n<li>Inventory levels and locations (Simple Stock Sync)<\/li>\n\n\n\n<li>Product tags (used to identify exclusions)<\/li>\n\n\n\n<li>Your store&#8217;s billing plan name (to apply the correct SKU cap)<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">We do not access or store customer data, order details, payment information, or any personally identifiable information about your customers.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">From Xero (if connected)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Inventory item codes and sales prices<\/li>\n\n\n\n<li>Tracked-inventory status (we sync only items flagged as tracked inventory)<\/li>\n\n\n\n<li>Stock-on-hand quantities (Simple Stock Sync)<\/li>\n\n\n\n<li>Your Xero organisation name and tenant ID (to identify the connected org)<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">We do not access invoices, bills, bank accounts, contacts, financial reports, or any other Xero data outside of inventory item pricing and stock levels.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">From QuickBooks Online (if connected)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Item names, SKUs, type (Inventory \/ Non-Inventory \/ Service), active status, and unit prices<\/li>\n\n\n\n<li>Quantity-on-hand (Simple Stock Sync)<\/li>\n\n\n\n<li>Your QuickBooks company (realm) ID<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">We do not access invoices, bills, customers, vendors, bank accounts, financial reports, or any other QuickBooks data outside of item pricing and stock.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">3. How we use your data<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Match products between Shopify and your accounting \/ stock system using SKU \/ Product Code<\/li>\n\n\n\n<li>Read and write price or stock values in the configured sync direction<\/li>\n\n\n\n<li>Identify products excluded from sync via tags or your exclusions list<\/li>\n\n\n\n<li>Apply the correct SKU limit based on your Shopify subscription plan<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">We do not use your data for marketing, analytics, profiling, or any purpose beyond operating the sync function.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">4. Data storage<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Your Shopify store domain and offline access token (to authenticate API calls)<\/li>\n\n\n\n<li>Your Xero or QuickBooks OAuth tokens, refresh tokens, and tenant\/realm ID<\/li>\n\n\n\n<li>App configuration settings (sync direction, exclusion list, accounting provider, terms acceptance)<\/li>\n\n\n\n<li>Product mapping records linking Shopify variants to accounting item IDs by SKU<\/li>\n\n\n\n<li>A snapshot of last-synced prices\/stock per SKU (used to detect changes between sync runs)<\/li>\n\n\n\n<li>Sync operation logs (timestamps, status, and messages) to provide sync history within the app<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Data is stored in a managed Postgres database (Neon) hosted in the EU, and the application is hosted on Fly.io in the Sydney region.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">5. Data sharing<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">We do not sell, rent, or share your data with any third parties, except:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Shopify \u2014 as required to operate within the Shopify platform<\/li>\n\n\n\n<li>Xero \u2014 as required to read and write data via the Xero API (if connected)<\/li>\n\n\n\n<li>QuickBooks Online (Intuit) \u2014 as required to read and write data via the QuickBooks API (if connected)<\/li>\n\n\n\n<li>Infrastructure providers (Fly.io for hosting, Neon for database) \u2014 as data processors under contract, solely to host the application<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">6. Data security<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">All data transmission between the Apps, Shopify, Xero, and QuickBooks is encrypted using HTTPS\/TLS. OAuth tokens are stored securely and are never exposed publicly. Shopify session tokens are validated on every request to ensure only authorised merchants can access their own data.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">7. Data retention<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Your data is retained for as long as the app is installed on your store. When you uninstall:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Your Shopify access token is revoked<\/li>\n\n\n\n<li>Your configuration data, mappings, snapshots, and logs are deleted within 30 days (in line with Shopify&#8217;s mandatory <code>app\/uninstalled<\/code>, <code>customers\/data_request<\/code>, <code>customers\/redact<\/code>, and <code>shop\/redact<\/code> webhooks)<\/li>\n\n\n\n<li>Any Xero or QuickBooks tokens stored by the app are deleted on uninstall; you may also revoke access directly in your Xero or QuickBooks account at any time<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">8. Your rights<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">You may request deletion of your data at any time by contacting <a href=\"mailto:admin@fullstackpretender.tech\">admin@fullstackpretender.tech<\/a>. We will respond within 30 days.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">9. Shopify&#8217;s role<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The Apps are built on the Shopify platform. By using Shopify, you are also subject to Shopify&#8217;s Privacy Policy.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">10. Changes to this policy<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">We may update this Privacy Policy from time to time. Any changes will be reflected on this page with an updated date. Continued use of the Apps after changes constitutes acceptance of the updated policy.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">11. Contact<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">For any privacy-related questions or requests, contact <a href=\"mailto:admin@fullstackpretender.tech\">admin@fullstackpretender.tech<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Privacy Policy Last updated: 2 May 2026 This Privacy Policy describes how Simple Price Sync and Simple Stock Sync (&#8220;the [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":4,"comment_status":"closed","ping_status":"closed","template":"","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"disabled","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-140","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/fullstackpretender.tech\/index.php?rest_route=\/wp\/v2\/pages\/140","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fullstackpretender.tech\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/fullstackpretender.tech\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/fullstackpretender.tech\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/fullstackpretender.tech\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=140"}],"version-history":[{"count":3,"href":"https:\/\/fullstackpretender.tech\/index.php?rest_route=\/wp\/v2\/pages\/140\/revisions"}],"predecessor-version":[{"id":269,"href":"https:\/\/fullstackpretender.tech\/index.php?rest_route=\/wp\/v2\/pages\/140\/revisions\/269"}],"wp:attachment":[{"href":"https:\/\/fullstackpretender.tech\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=140"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}