SHEIN Legal addendum · Legal version v1 · Last updated: July 13, 2026
SHEIN Data Handling
Last updated: August 24, 2026
AtlasCore is an independent software application. SHEIN and related marks are trademarks of SHEIN Distribution Corporation or its affiliates. AtlasCore is not sponsored, endorsed, or affiliated with SHEIN.
Data accessed
When you connect a SHEIN seller account, AtlasCore may access:
- Seller Open ID and Open Platform App Key as operational identifiers; merchant App Secret, open_key, and access tokens (encrypted at rest)
- Product catalog metadata (SKU, SPU name, price, stock quantity, listing status)
- Operational order metadata only: order SN, status, totals, currency, dates, and line-item SKU/quantity
AtlasCore does not scrape the SHEIN Seller Hub. Cached order blobs store an allowlisted operational subset only. Buyer names, phones, emails, and shipping/receiver address blocks are not persisted.
Seller dashboard reads (`GET /orders/`, `GET /orders/cache/`, and `GET /products/cache/`) return local cache rows only. Live server-side SHEIN reads run for background scheduled syncs, `GET /status/` health probes, and credential validation at connect — not for seller dashboard order or product lists. Manual `POST /sync/` and catalog/inventory POSTs also fetch live when the seller starts them.
Encryption & transport
- Merchant App Secret, open_key, and access tokens are stored using AES-256-GCM encryption at rest with the `enc:v1:` format. `app_key` and `open_id` are stored as operational identifiers (not encrypted)
- Cached order payloads are encrypted at rest and redacted per retention policy
- Production API traffic uses TLS 1.2+ (HTTPS)
- Outbound Open Platform API calls use HMAC-SHA256 request signing per SHEIN developer documentation
Authentication
AtlasCore uses SHEIN Open Platform HMAC-signed App Key / App Secret / Open ID credentials. Seller writes (`product/inventory/update` and `order/delivery/update`) run only when both `SHEIN_INTEGRATION_ENABLED` and `SHEIN_WRITE_APPROVED` are true. A write-capable Open Platform grant is not sufficient by itself. Inbound order webhooks never issue inventory mutations — SHEIN already decrements managed stock when an order is created.
Fulfillment responses return only operational identifiers (`ok`, `order_sn`, `status`). Raw Open Platform bodies are not returned to the seller UI.
Webhook security
Inbound SHEIN notifications at `POST /api/v1/shein/webhooks/` are verified using HMAC-SHA256 (`X-SHEIN-Signature`) over the raw request body before timestamp checks. AtlasCore walks stored merchant App Secrets when the platform secret does not match. HMAC is then strictly verified before any data persistence or dispatch. After HMAC, a bounded parse may extract `open_id` for ledger namespacing. Unknown seller Open IDs that present a valid HMAC are acknowledged with `200` so SHEIN does not retry-storm. If the same `open_id` is active in more than one workspace, webhook resolve fail-closes. Connect enforces one active Open ID globally.
Success-path webhook rows store identifiers only (`event_id`, account binding, `open_id`, `order_id`, event type). Leftover failed-row ciphertext is scrubbed after 24 hours. App revocation and seller deauthorization events persist the event id before credentials and cached data are purged.
Tenant isolation
- SHEIN seller data is isolated per enterprise workspace — authenticated user scope plus connected accounts and settings, bound via the `X-Tenant` header
- Order, product, and status queries are scoped to the authenticated seller within the active workspace
- AtlasCore never aggregates SHEIN seller data across accounts for comparative insights or public display
- AtlasCore strictly prohibits re-identification, sale, or unauthorized secondary use of SHEIN seller or buyer data
Retention
AtlasCore redacts cached SHEIN order payloads after 30 days post-fulfillment or 90 days unfulfilled, whichever applies. Fulfillment clocks start at the first terminal order transition (`SHIPPED` / `DELIVERED` / `CANCELLED` / `CANCELED` / `FULFILLED` / `COMPLETED` / `CLOSED` / `REFUNDED`) and are not reset on later syncs.
Disconnect & deletion
- Disconnect SHEIN from the dashboard purges encrypted credentials and cached orders/products for your tenant workspace
- Unlinked retention applies strictly to `shein_processed_webhook_events` replay defense identifiers after credential purge so a later reconnect cannot ingest the same notification twice
- GDPR export includes all SHEIN tenant bindings per user with `tenant_id`
Contact
For data handling questions: privacy@atlascore-market.com