All Projects → dansmaculotte → nuxt-security

dansmaculotte / nuxt-security

Licence: MIT license
Module for Nuxt.js to configure security headers and more

Programming Languages

javascript
184084 projects - #8 most used programming language
Vue
7211 projects

Projects that are alternatives of or similar to nuxt-security

Secure headers
Manages application of security headers with many safe defaults
Stars: ✭ 2,942 (+6295.65%)
Mutual labels:  csp, hsts, referrer-policy, content-security-policy
nuxt-typo3
TYPO3 Frontend rendered in Vue.js and Nuxt (frontend for EXT:headless)
Stars: ✭ 66 (+43.48%)
Mutual labels:  nuxt, nuxt-module
nuxt-gsap-module
GSAP module for Nuxt.js
Stars: ✭ 183 (+297.83%)
Mutual labels:  nuxt, nuxt-module
nuxt-svg-sprite-module
A quick and dirty way to inline svg sprites in your Nuxt app.
Stars: ✭ 21 (-54.35%)
Mutual labels:  nuxt, nuxt-module
nuxt-quasar
Nuxt module for the Quasar Framework
Stars: ✭ 36 (-21.74%)
Mutual labels:  nuxt, nuxt-module
gatsby-plugin-csp
A Gatsby plugin which adds strict Content Security Policy to your project.
Stars: ✭ 40 (-13.04%)
Mutual labels:  csp, content-security-policy
go-csp-collector
A CSP collector written in Golang
Stars: ✭ 74 (+60.87%)
Mutual labels:  csp, content-security-policy
global-components
Module to register global components for Nuxt.js
Stars: ✭ 57 (+23.91%)
Mutual labels:  nuxt, nuxt-module
nuxt-ts-module
A tiny module to use Typescript within Nuxt.js application.
Stars: ✭ 21 (-54.35%)
Mutual labels:  nuxt, nuxt-module
lunr-module
Full-text search with pre-build indexes for Nuxt.js using lunr.js
Stars: ✭ 45 (-2.17%)
Mutual labels:  nuxt, nuxt-module
nuxt-spa-store-init
A simple Nuxt module that will hydrate the VueX store when running in SPA mode (not SSR)
Stars: ✭ 14 (-69.57%)
Mutual labels:  nuxt, nuxt-module
Auth Module
auth.nuxtjs.org
Stars: ✭ 1,624 (+3430.43%)
Mutual labels:  nuxt, nuxt-module
nuxt-storyblok-queries
Nuxt.js module to simplify queries to the Storyblok API
Stars: ✭ 17 (-63.04%)
Mutual labels:  nuxt, nuxt-module
lumen-cms
GraphQL API-First CMS based on NodeJS and Vue 2, Nuxt and Vuetify
Stars: ✭ 77 (+67.39%)
Mutual labels:  nuxt, nuxt-module
k-domains
A simple module to manage multiple subdomains with just one project
Stars: ✭ 41 (-10.87%)
Mutual labels:  nuxt, nuxt-module
nuxt-viewport
🌈 Define custom viewports for your Nuxt project
Stars: ✭ 55 (+19.57%)
Mutual labels:  nuxt, nuxt-module
nuxt-babel
Use normal .babelrc file with your Nuxt app
Stars: ✭ 32 (-30.43%)
Mutual labels:  nuxt, nuxt-module
nuxt-feature-toggle
The nuxt feature toggle module
Stars: ✭ 78 (+69.57%)
Mutual labels:  nuxt, nuxt-module
vue-plausible
Plausible Analytics Vue.js Plugin and NuxtJS Module
Stars: ✭ 107 (+132.61%)
Mutual labels:  nuxt, nuxt-module
nuxt-stack
Suite of modules and commands for building performant applications with zero configuration
Stars: ✭ 67 (+45.65%)
Mutual labels:  nuxt, nuxt-module

@dansmaculotte/nuxt-security

npm version npm downloads License

Module for Nuxt.js to configure security headers and more

Features

This module allows you to configure various security headers such as CSP, HSTS or even generate security.txt file. Here is a list of availables features :

  • Strict-Transport-Security header
  • Content-Security-Policy header
  • X-Frame-Options header
  • X-Xss-Protection
  • X-Content-Type-Options header
  • Referrer-Policy header
  • Permissions-Policy header (previously Feature-Policy)
  • security.txt file generation

ToDo

  • Sign security.txt with OpenPGP
  • Headers as meta tags for SPA
  • Public-Key-Pins

📖 Release Notes

Setup

  1. Add @dansmaculotte/nuxt-security dependency to your project
yarn add @dansmaculotte/nuxt-security # or npm install @dansmaculotte/nuxt-security
  1. Add @dansmaculotte/nuxt-security to the modules section of nuxt.config.js
{
  modules: [
    // Simple usage
    '@dansmaculotte/nuxt-security',

    // With options
    [
      '@dansmaculotte/nuxt-security',
      {
        /* module options */
      }
    ]
  ],

  // Top level options
  security: {}
}

Options

dev

  • Default: process.env.SECURITY_DEV || false

Enable module in development mode

hsts

  • Default: null

This option rely on helmet hsts package.

Example:

hsts: {
  maxAge: 15552000,
  includeSubDomains: true,
  preload: true
},

csp

  • Default: null

This option rely on helmet csp package.

Example:

csp: {
  directives: {
    defaultSrc: ["'self'"],
    scriptSrc: ["'self'"],
    objectSrc: ["'self'"],
  },
  reportOnly: false,
},

referrer

  • Default: null

This option rely on helmet referrer policy package.

Example:

referrer: 'same-origin',

permissions

  • Default: null

This option rely on permissions policy package.

Example:

permissions: {
  notifications: ['none']
},

Note: this come in replacement for feature option as Feature-Policy header is deprecated. Previous features option is still supported for now but displays a warning and use Permissions-Policy header instead.

securityFile

  • Default: null

This option allows you to generate a security.txt described by securitytxt.org.

When generating for SPA applications, the file will appear in the dist/.well-known folder.

For universal applications, the file is accessible at this path: /.well-known/security.txt.

Example:

securityFile: {
  contacts: [
    'mailto:[email protected]',
    'https://example.com/security'
  ],
  // or contacts: 'mailto:[email protected]'
  canonical: 'https://example.com/.well-know/security.txt',
  preferredLanguages: ['fr', 'en'],
  // or preferredLanguages: 'fr',
  encryptions: ['https://example.com/pgp-key.txt'],
  // or encryptions: 'https://example.com/pgp-key.txt',
  acknowledgments: ['https://example.com/hall-of-fame.html'],
  // or acknowledgments: 'https://example.com/hall-of-fame.html',
  policies: ['https://example.com/policy.html'],
  // or policies: 'https://example.com/policy.html',
  hirings: ['https://example.com/jobs.html']
  // or hirings: 'https://example.com/jobs.html'
},

additionalHeaders

  • Default: false

If true it adds additional headers :

Development

  1. Clone this repository
  2. Install dependencies using yarn install or npm install
  3. Start development server using npm run dev

License

MIT License

Copyright (c) Dans Ma Culotte [email protected]

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].