Security
Last updated: 15 October 2026
PayGate is designed to hold as little as possible. Here's how it works and how we protect it. To report a security issue, email hello@labs.vexous.com with the subject “Security”.
Less data by design
- The checkout logic runs as Shopify Functions on Shopify's own servers. The cart, customer and address details your rules use stay inside Shopify and aren't sent to us.
- Your rules are saved in your Shopify store, not in our database.
- Our database holds only your shop's domain and the session details Shopify issues to the app.
Hosting
- The app server runs on Fly.io and the database on Neon (Amazon Web Services), both in Singapore.
- Data is encrypted in transit (HTTPS/TLS), and database connections require encryption.
- Webhooks from Shopify are verified with Shopify's signature before they're used.
Access
- Access to production systems is limited to the people who maintain PayGate.
- API keys and access tokens are kept in our hosting provider's secret store and CI secrets, never in code.
- The app asks Shopify only for the permissions it needs to manage your checkout rules.
Checkout safety
- A payment or shipping rule never hides every option, so customers can always complete checkout.
- If a checkout rule can't run, checkout isn't blocked.
- Every release is tested automatically, including checks that each Shopify Function's input stays within Shopify's limits.
Deletion
- When you uninstall PayGate, its rules stop running and we delete your store's session data.
- When Shopify asks us to delete your store's data (48 hours after uninstalling), we confirm that nothing remains.
If something goes wrong
If we suspect a security incident, we contain it (for example by revoking or rotating keys), find out what happened and which stores are affected, tell affected merchants and Shopify without undue delay, and fix the cause.
More
See our privacy policy and terms of service.