Skip to contentLockpick
How it worksPricingDocs

Read

  • BlogPlain answers to common security questions
  • GuidesStep by step fixes for common setups
  • Security checksEvery check we run, explained

Learn

  • Learn with PickTwo-minute lessons on how sites get attacked
  • Lockpick for ClaudeCheck sites from Claude and other assistants
  • GlossaryThe words we use, in plain words

Company

  • ChangelogWhat changed, newest first
  • StatusWhether scans are running right now
  • Security and trustHow we check and what we never do
Sign inCheck it
Checks

Do the cookies on your public pages carry the right protections?

By Mark KashefPublished October 8, 2026

The cookie flags check reads the Secure, HttpOnly and SameSite settings on cookies your public pages set. Cookie flags keep sign-in cookies out of reach of scripts and away from unencrypted connections.

What does this check look at?

It looks at whether cookies set on public pages ask for HTTPS only, stay out of reach of scripts and declare how they behave across sites. MDN describes HttpOnly as forbidding JavaScript from accessing the cookie, and SameSite as some protection against cross-site request forgery.

Pulse and Deep scans both run it.

Curious what your site shows from outside? The quick check is free and needs no account.

Check it

What does a result mean?

What the report showsWhat it meansWhat to do
PassCookies seen on public pages carry the expected flags.Nothing.
AttentionA cookie lacks Secure, HttpOnly or a deliberate SameSite.Decide what the cookie is for, then set the right flags.
Not testedNo cookies were set, or the page builds itself in the browser.Nothing to act on.

The scan does not know what each cookie is for, and some cookies need to be readable by scripts on purpose. Cookie names and values are not kept. A clean result means nothing was found in what the scan read. It does not prove the problem is absent from parts the scan never sees.

How serious is a finding?

Treat this as a hardening gap. It makes an attacker’s job easier but gives them no path of its own, so fix it after anything more direct. Confidence starts low, because it is inferred from headers or declarations rather than shown directly. The report lists what to fix by how directly someone could use it, not by the severity label.

What does a confirmed finding have to show?

PartFor this check
Where it startsScripts or networks that can see cookies
The protection that should stop itCookie protection flags are missing
What is reachedCookie values
What followsA hardening gap; no session was read

Which standards does it relate to?

StandardReference
OWASP Top TenA07:2025 Authentication Failures
CWECWE-614
CWECWE-1004
CWECWE-1275
ASVSv5.0.0-3.3.1
ASVSv5.0.0-3.3.2
ASVSv5.0.0-3.3.4

Each one is a related control, not a verification. A scan sees what anyone online can see, so it never proves a whole requirement is met.

Fix it with your AI

Change flags on purpose, cookie by cookie, because a consent banner or analytics cookie may need to stay readable.

Fix prompt for any coding agent
List every cookie my site sets and what each one is for. For any cookie that holds a session, login or CSRF token, make sure it is set with Secure, HttpOnly and SameSite=Lax (or Strict if cross-site links do not need it). Set Secure on every other cookie too. Leave a cookie readable by JavaScript only if my code really reads it, and tell me which ones those are. Make the change in my auth library or framework config, not route by route.

How to check

Say Atlas, our example app at atlas.example, sets a preferences cookie without Secure on its homepage. The check flags it, and the fix is one attribute.

The free quick check covers this on your homepage with no account, and a Pulse scan from your account adds your scripts and public records. Pulse or Deep explains the difference.

Questions people ask

Should every cookie be HttpOnly?

No. Some cookies are meant to be read by your own scripts, such as a theme or consent choice. Session and login cookies should be HttpOnly.

What about my sign-in cookie, which only appears after login?

Pulse never signs in. A Deep scan recognises the session cookies of common sign-in libraries when they are set on public responses, and that has its own check.

See what your site shows from outside

A quick check reads your homepage the way a visitor would and gives you a score. No account needed.

Check your site

Related pages

  • Is your sign-in cookie missing a protection?
  • Could a shared cache hand one visitor another visitor’s session?
  • Does your site load over HTTPS for every visitor?

Sources

  1. How we rate findings Lockpick docs, read on October 7, 2026
  2. Security settings your site sends to browsers Lockpick docs, read on October 7, 2026
  3. Set-Cookie header MDN Web Docs, read on October 7, 2026

About the author

Mark Kashef, Founder of Lockpick

I'm Mark, and I build Lockpick. I write these pages, and each one is checked against its sources before it goes live. The Updated date changes only when the page itself does.

Lockpick
PricingMethodologyDocsBlogGuidesSecurity checksLearn with PickSecurity and trustLockpick for ClaudeChangelogStatusFacts for AI assistants

Lockpick is a security scanner for vibe-coded apps. It checks what your live site exposes and what a GitHub repo or AI skill would do before you install it, then gives you a fix prompt for Lovable, Bolt, Replit, Cursor or Claude Code.

Lockpick assesses public pages you are authorized to test, and public GitHub code it never runs.

© 2026 LockpickTermsPrivacyContactSign in