Interface SecurityHeadersConfig

interface SecurityHeadersConfig {
    crossOriginEmbedderPolicy?: "require-corp" | "credentialless";
    crossOriginOpenerPolicy?: "same-origin" | "same-origin-allow-popups" | "unsafe-none";
    crossOriginResourcePolicy?: "same-origin" | "same-site" | "cross-origin";
    csp?: {
        connectSrc?: string[];
        defaultSrc?: string[];
        fontSrc?: string[];
        frameSrc?: string[];
        imgSrc?: string[];
        mediaSrc?: string[];
        objectSrc?: string[];
        reportOnly?: boolean;
        reportUri?: string;
        scriptSrc?: string[];
        styleSrc?: string[];
    };
    hsts?: {
        includeSubDomains?: boolean;
        maxAge?: number;
        preload?: boolean;
    };
    permissionsPolicy?: Record<string, string[]>;
    referrerPolicy?: "origin" | "no-referrer" | "no-referrer-when-downgrade" | "origin-when-cross-origin" | "same-origin" | "strict-origin" | "strict-origin-when-cross-origin" | "unsafe-url";
    xContentTypeOptions?: boolean;
    xFrameOptions?: "DENY" | "SAMEORIGIN" | "ALLOW-FROM";
}

Properties

crossOriginEmbedderPolicy?: "require-corp" | "credentialless"
crossOriginOpenerPolicy?: "same-origin" | "same-origin-allow-popups" | "unsafe-none"
crossOriginResourcePolicy?: "same-origin" | "same-site" | "cross-origin"
csp?: {
    connectSrc?: string[];
    defaultSrc?: string[];
    fontSrc?: string[];
    frameSrc?: string[];
    imgSrc?: string[];
    mediaSrc?: string[];
    objectSrc?: string[];
    reportOnly?: boolean;
    reportUri?: string;
    scriptSrc?: string[];
    styleSrc?: string[];
}

Type declaration

  • Optional connectSrc?: string[]
  • Optional defaultSrc?: string[]
  • Optional fontSrc?: string[]
  • Optional frameSrc?: string[]
  • Optional imgSrc?: string[]
  • Optional mediaSrc?: string[]
  • Optional objectSrc?: string[]
  • Optional reportOnly?: boolean
  • Optional reportUri?: string
  • Optional scriptSrc?: string[]
  • Optional styleSrc?: string[]
hsts?: {
    includeSubDomains?: boolean;
    maxAge?: number;
    preload?: boolean;
}

Type declaration

  • Optional includeSubDomains?: boolean
  • Optional maxAge?: number
  • Optional preload?: boolean
permissionsPolicy?: Record<string, string[]>
referrerPolicy?: "origin" | "no-referrer" | "no-referrer-when-downgrade" | "origin-when-cross-origin" | "same-origin" | "strict-origin" | "strict-origin-when-cross-origin" | "unsafe-url"
xContentTypeOptions?: boolean
xFrameOptions?: "DENY" | "SAMEORIGIN" | "ALLOW-FROM"