How to fix insecure cookie on BigCommerce

Set the HttpOnly, Secure, and SameSite=Strict flags on every session and CSRF cookie your store sets so they cannot be stolen by malicious scripts or sent over unencrypted connections.

Steps for BigCommerce

  1. BigCommerce's core platform cookies (e.g., SHOP_SESSION_TOKEN, XSRF-TOKEN) are set server-side by BigCommerce. Ensure your store is on HTTPS (Settings → Setup → SSL Certificate) — this is a prerequisite for Secure flag delivery.
  2. For the CSRF token cookie specifically: BigCommerce handles this automatically in Stencil themes via `{{inject 'secureBaseUrl' settings.secure_base_url}}` — do not attempt to replicate this manually.
  3. For custom cookies set in Stencil theme JavaScript (assets/js/): open the relevant JS file in Page Builder → Theme Files or via Stencil CLI, find any `document.cookie = ` assignments, and append `; Secure; SameSite=Strict; HttpOnly` (note: HttpOnly cannot be set via JS — move cookie creation to a server-side API route or custom app backend).
  4. For custom app backends connecting to BigCommerce via API: in your server middleware, set cookie options to httpOnly: true, secure: true, sameSite: 'strict' before setting any response cookies.
  5. Submit a support ticket to BigCommerce (Help → Contact Us) if a platform-managed cookie is found missing flags, as these are within their infrastructure control.
Official BigCommerce documentation ↗
Set-Cookie: CSRFTOKEN=abc123; Path=/; Secure; HttpOnly; SameSite=Strict

What is insecure cookie?

Every time a visitor lands on your store, their browser receives small data files called cookies — one of which typically holds their login session or a CSRF token (a secret code that proves form submissions came from your real site, not an attacker). Each cookie can carry protective "flags" that tell the browser how to handle it safely. The three critical flags are: **HttpOnly** (JavaScript running on the page cannot read the cookie, so a hacked ad script cannot steal it), **Secure** (the browser only sends the cookie over HTTPS, never plain HTTP), and **SameSite=Strict** (the browser refuses to send the cookie when a request originates from a third-party site, blocking cross-site request forgery attacks). When any of these flags are missing, the cookie is left partially unprotected.

A missing HttpOnly flag is the primary enabler of session-hijacking via Cross-Site Scripting (XSS): if even one ad, chat widget, or third-party script on your page is ever compromised, it can silently read your customers' session cookies and hand them to an attacker, who then logs in as that customer and sees their orders, saved addresses, and payment methods. A missing Secure flag risks cookies being transmitted in plain text if a customer ever hits an HTTP link, exposing their session to network eavesdroppers (especially on public Wi-Fi). A missing SameSite flag enables Cross-Site Request Forgery (CSRF), where a malicious page tricks a logged-in customer's browser into submitting unwanted actions — like changing their email or placing a fraudulent order — on your store. Beyond customer harm, a breach involving stolen session tokens can trigger PCI-DSS violations, GDPR fines, and lasting reputational damage that directly kills revenue.

See the complete Insecure cookie guide for every platform and the full background.

Not sure if your BigCommerce store has this?

Run a free SEOLZ audit — we’ll find insecure cookie and every other issue across your whole site.

Scan my site free

Fix insecure cookie on another platform