@buntal/http/middlewares

secureHeaders

Middleware that adds common security headers to every response. X-Content-Type-Options: nosniff and Cross-Origin-Opener-Policy: same-origin are always set. Pass false to any option to turn that header off.

Source

View source on GitHub

Type Definition

function secureHeaders(options?: SecureHeadersOptions): AtomicHandler

type SecureHeadersOptions = {
  contentSecurityPolicy?: string | false
  frameOptions?: 'DENY' | 'SAMEORIGIN' | false
  hsts?: string | false
  referrerPolicy?: string | false
  permissionsPolicy?: string | false
}

Parameters

ParameterTypeRequiredDefaultDescription
optionsSecureHeadersOptions❌-Header values to override

Properties

PropertyTypeRequiredDefaultDescription
contentSecurityPolicystring | false❌falseContent-Security-Policy value. Off by default because every app needs its own policy
frameOptions'DENY' | 'SAMEORIGIN' | false❌SAMEORIGINX-Frame-Options value, to prevent clickjacking
hstsstring | false❌max-age=15552000; includeSubDomainsStrict-Transport-Security value. Only sent over https or when x-forwarded-proto is https
referrerPolicystring | false❌strict-origin-when-cross-originReferrer-Policy value
permissionsPolicystring | false❌camera=(), microphone=(), geolocation=()Permissions-Policy value

Last modified: 2026-10-02