Home/Docs/Security & data

Security & data

Soryk is built to keep your data in Shopify and out of harm's way. It stores no customer data of its own; everything lives in your Shopify store.

Soryk Sales is a Shopify-native app, and that shapes its whole security posture: your data stays inside Shopify, sessions are short-lived and verifiable, and sensitive actions leave an audit trail you can trust. This page explains what is stored where, how access is authenticated, and how Soryk meets Shopify's privacy obligations.

i

The short version. No customer personal data lives on Soryk servers. Everything is in your Shopify store; only transient items like login codes and cache sit in an EU Redis instance, and they clear on uninstall.

Where your data lives

All your data (agents, companies, commission rules, quotes, catalogs and settings) is stored inside your Shopify store, as metaobjects and native Shopify objects. There is no separate Soryk database holding your records.

The only things Soryk keeps outside Shopify are transient, and they sit in a Redis cache in the EU region:

None of these are customer records. If you uninstall, Soryk cleans up: the transient items are removed, and your Shopify data stays with you in your store.

i

Why this matters. Because your records live in Shopify as native objects and metaobjects, your data is portable and you are never locked into Soryk. See How the pieces fit together.

Authentication

Each surface is authenticated in the way that fits it:

Key rotation

JWT signing supports a previous-secret fallback. This lets you roll signing keys without logging everyone out: sessions signed with the old secret keep working while new ones use the new secret.

If you ever need to cut every in-flight session immediately, clear the previous secret. All sessions signed with it are invalidated at once.

Rate limiting

Sensitive endpoints are rate-limited to blunt brute-force and abuse:

When a limit is hit, the API returns a standard retry response so clients know to back off and try again later.

Tag safety

Soryk writes values such as an agent's email onto Shopify order tags so commissions and analytics can attribute orders. Those values are sanitised before they are written, so they cannot break tag parsing or be used to inject data into your tag lists.

Audit log

Sensitive admin actions are recorded and mirrored to an append-only log, so the trail cannot be quietly altered after the fact.

As a check on integrity, the admin shows a warning if the mirror and the stored records disagree, so tampering or drift does not go unnoticed.

GDPR & privacy

Soryk handles Shopify's mandatory privacy webhooks and verifies every webhook with HMAC before acting on it:

WebhookWhat Soryk does
customers/data_requestResponds to a data-subject request for the data Shopify holds.
customers/redactRedacts customer data on request.
shop/redactCleans up after a shop uninstalls and its retention window ends.

Because no customer personal data is stored on Soryk servers, data-subject requests are straightforward: the source of truth is your Shopify store, and Soryk has nothing of its own to redact.