Files
threshold-ui/ui/admin/config/content-security-policy.js
T

40 lines
1019 B
JavaScript
Raw Normal View History

/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: MPL-2.0
*/
2022-07-12 10:12:06 -07:00
'use strict';
const API_HOST = process.env.API_HOST || '';
module.exports = function (environment) {
let policy = {
// Deny everything by default
'default-src': ["'none'"],
'script-src': ["'self'"],
'frame-src': ["'self'"],
'font-src': ["'self'"],
'connect-src': ["'self'"],
'img-src': ["'self'", 'data:'],
'style-src': ["'self'"],
'media-src': ["'self'"],
'manifest-src': ["'self'"],
'style-src-attr': ["'self'"],
};
// Unsafe policy is necessary in development and test environments, but should
// not be used in production.
if (environment === 'development') {
policy['script-src'].push("'unsafe-eval'");
policy['style-src'].push("'unsafe-inline'");
if (API_HOST) policy['connect-src'].push(API_HOST);
}
2023-01-10 13:07:22 -08:00
//enable csp meta tag only in dev env
2022-07-12 10:12:06 -07:00
return {
2022-10-14 10:45:37 -07:00
delivery: ['meta'],
2023-01-10 13:07:22 -08:00
enabled: environment === 'development',
2022-07-12 10:12:06 -07:00
policy,
reportOnly: false,
};
};