Newegg Legal addendum · Legal version v1 · Last updated: July 13, 2026
Newegg Data Handling
Last updated: August 24, 2026
AtlasCore is an independent software application. Newegg and related marks are trademarks of Newegg Inc. or its affiliates. AtlasCore is not sponsored, endorsed, or affiliated with Newegg.
Data accessed
When you connect a Newegg Marketplace seller account, AtlasCore may access:
- Seller ID as an operational identifier; Authorization Key, Secret Key, and optional webhook secrets (encrypted at rest)
- Health checks and connection validation evaluate seller identity and order-list reachability. `GetInventoryRequest` is used for read-only catalog and stock inquiries when item lookups are performed. Inventory mutations (`UpdateInventoryRequest`) remain unused and run only when `NEWEGG_WRITE_APPROVED=true`
- Operational order metadata only: order number, status, totals, currency, dates, and line-item SKU/quantity
AtlasCore does not scrape the Newegg Seller Portal. Cached order blobs store an allowlisted operational subset only. Customer names, phones, emails, and ship-to/bill-to address blocks are not persisted.
Seller dashboard reads (`GET /orders/` and `GET /orders/cache/`) return local cache rows only. Live server-side Newegg reads run strictly for seller-initiated sync (`POST /sync/`), `GET /status/` health probes, and credential validation at connect — not for seller dashboard order lists. There is no background scheduled Newegg sync worker.
Encryption & transport
- Authorization Keys, Secret Keys, and optional webhook secrets are stored using AES-256-GCM encryption at rest with the `enc:v1:` format. `seller_id` is stored as an operational identifier (not encrypted)
- Cached order payloads are encrypted at rest and redacted per retention policy
- Production API traffic uses TLS 1.2+ (HTTPS)
Authentication
AtlasCore uses the Newegg Partner REST API with per-seller Authorization Key, Secret Key, and Seller ID (not OAuth). Seller inventory writes run only when both `NEWEGG_INTEGRATION_ENABLED` and `NEWEGG_WRITE_APPROVED` are true. Inbound order webhooks never issue inventory mutations.
Webhook security
Inbound Newegg notifications at `POST /api/v1/newegg/webhooks/` are verified using HMAC-SHA256 (`X-Newegg-Signature`) over the raw request body first. A timestamp header freshness check (±300s) runs after the raw-body HMAC attempt. After HMAC verification, AtlasCore performs a bounded payload parse of `seller_id` for post-HMAC merchant binding. HMAC is strictly verified before any data persistence or dispatch. Unknown seller IDs that present a valid HMAC are acknowledged with `200` so Newegg does not retry-storm; the seller-namespaced event id is recorded in `newegg_processed_webhook_events` with no account binding. If the same `seller_id` is active in more than one workspace, or a shared merchant secret cannot uniquely bind `seller_id`, webhook resolve fail-closes. Connect enforces one active seller ID globally. Ingress ignores `X-Tenant`.
Success-path webhook rows store identifiers only (`event_id`, account binding, `seller_id`, `order_id`, event type). Leftover failed-row ciphertext is scrubbed after 24 hours. Seller deauthorization events persist the event id before credentials and cached data are purged.
Tenant isolation
- Newegg seller data is isolated per authenticated user — connected accounts and settings are scoped to the signed-in user. The `X-Tenant` header provides workspace partition when present
- Order and status queries are scoped to the authenticated seller within the active workspace
- AtlasCore never aggregates Newegg seller data across accounts for comparative insights or public display
- AtlasCore strictly prohibits re-identification, sale, or unauthorized secondary use of Newegg seller or buyer data
Retention
AtlasCore redacts cached Newegg order payloads after 30 days post-fulfillment or 90 days unfulfilled from native `OrderDate`, whichever applies. Fulfillment clocks start at the first terminal order transition (`SHIPPED` / `INVOICED` / `VOIDED` / `CANCELLED` / `CANCELED` / `CLOSED` / `COMPLETE` / `COMPLETED` / `DELIVERED` / `FULFILLED`) and are not reset on later syncs.
Disconnect & deletion
- Disconnect Newegg from the dashboard purges encrypted credentials and cached orders for your tenant workspace
- Unlinked replay-defense rows in `newegg_processed_webhook_events` are retained after credential purge so a later reconnect cannot ingest the same notification twice
- GDPR export includes all Newegg tenant bindings per user with `tenant_id`
Contact
For data handling questions: privacy@atlascore-market.com