Skip to contentView the source on GitHub

no-insecure-session-cookie

Keep secure, HTTP-only, same-site session cookie protections enabled.

Securitywarning by default Project auditrecommended audit

astro-doctor/no-insecure-session-cookie

Why it matters

Astro session cookies are secure, HTTP-only, and same-site by default. Explicitly disabling those properties can expose a session identifier to client-side scripts, insecure transport, or cross-site requests.

See the difference

Incorrect

Session cookie protections disabled

typescriptIncorrect example
export default defineConfig({
  session: {
    cookie: {
      secure: false,
      httpOnly: false,
      sameSite: false,
    },
  },
})

Correct

Keep the secure defaults

typescriptCorrect example
export default defineConfig({
  session: {
    cookie: {
      secure: true,
      httpOnly: true,
      sameSite: 'lax',
    },
  },
})

Configure this check

Project audits are configured in doctor.config.ts:

typescriptdoctor.config.ts
export default {
  rules: {
    'astro-doctor/no-insecure-session-cookie': 'error',
  },
}

Use 'error', 'warn', or 'off'. The configuration guide covers presets and per-file overrides.

Keep exploring security

Browse every rule and project audit