{"_id":"@really/really-secure","_rev":"26-9ae345237bdf553b960b77f9e6687f74","name":"@really/really-secure","description":"Comprehensive ExpressJS Security Middleware","dist-tags":{"latest":"1.4.5"},"versions":{"1.0.0":{"name":"@really/really-secure","version":"1.0.0","description":"ExpressJS Security Middleware","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/reallyreally/reallySecure.git"},"keywords":["reallyreallyio","expressjs","middleware"],"author":{"name":"Troy Kelly"},"license":"Apache-2.0","bugs":{"url":"https://github.com/reallyreally/reallySecure/issues"},"homepage":"https://github.com/reallyreally/reallySecure#readme","dependencies":{"express-sslify":"^1.2.0","helmet":"^3.4.1","helmet-csp":"^2.3.0","node-uuid":"^1.4.7","parse-domain":"^1.1.0"},"gitHead":"126c503b5b1a8c6dfdab6c3d5ae1452fbee04d09","_id":"@really/really-secure@1.0.0","_shasum":"588b2e8e459b55049a6d12948ff79aa20bb35a42","_from":".","_npmVersion":"4.2.0","_nodeVersion":"6.9.4","_npmUser":{"name":"troykelly","email":"troy@troykelly.com"},"dist":{"shasum":"588b2e8e459b55049a6d12948ff79aa20bb35a42","tarball":"https://registry.npmjs.org/@really/really-secure/-/really-secure-1.0.0.tgz","integrity":"sha512-I6B9JJxMPn8izXTBVdqqPFXQ/0dCGGki2UBTX+hmRi1B8KDnTFTBH1r9Byn7srs41ZUTTXEbAQD4MA14BvFZCw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDLCwSzgHUHLtufOSGfbaWDSRnuZ57zoaW4PxUeICjH2AIgKjK4W3bH0cS1X2s2zQdFIPY9eEWeXe8dzTsOcY9KDhQ="}]},"maintainers":[{"name":"troykelly","email":"troy@troykelly.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/really-secure-1.0.0.tgz_1491170918208_0.8090062355622649"},"directories":{}},"1.0.2":{"name":"@really/really-secure","version":"1.0.2","description":"ExpressJS Security Middleware","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/reallyreally/reallySecure.git"},"keywords":["reallyreallyio","expressjs","middleware"],"author":{"name":"Troy Kelly"},"license":"Apache-2.0","bugs":{"url":"https://github.com/reallyreally/reallySecure/issues"},"homepage":"https://github.com/reallyreally/reallySecure#readme","dependencies":{"express-sslify":"^1.2.0","helmet":"^3.4.1","helmet-csp":"^2.3.0","node-uuid":"^1.4.7","parse-domain":"^1.1.0"},"gitHead":"5e966a9b225cdeed97b18514427f2d0006f33013","_id":"@really/really-secure@1.0.2","_shasum":"a04677a8a722e86d3d0d1ef3cd75b1b8c81cb633","_from":".","_npmVersion":"4.2.0","_nodeVersion":"6.9.4","_npmUser":{"name":"troykelly","email":"troy@troykelly.com"},"dist":{"shasum":"a04677a8a722e86d3d0d1ef3cd75b1b8c81cb633","tarball":"https://registry.npmjs.org/@really/really-secure/-/really-secure-1.0.2.tgz","integrity":"sha512-hWYD84H3tMCN05L8owrN/ZUFmqZiNEbjsj5dupKlCQILGqTpPyg2zdaSkJq/1MhfzDIhv0fNKncH0z4GdygTdw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFZ43L0KdlBkwEQUJuSsTH+KY3iD6ZDTeKOaQkorf9gzAiBwX+52Xvw2r2Hd+XmHNCx0Bg/r3n+C5t/hdusJ3P1OyA=="}]},"maintainers":[{"name":"troykelly","email":"troy@troykelly.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/really-secure-1.0.2.tgz_1491678483266_0.8442945221904665"},"directories":{}},"1.0.3":{"name":"@really/really-secure","version":"1.0.3","description":"ExpressJS Security Middleware","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/reallyreally/reallySecure.git"},"keywords":["reallyreallyio","expressjs","middleware"],"author":{"name":"Troy Kelly"},"license":"Apache-2.0","bugs":{"url":"https://github.com/reallyreally/reallySecure/issues"},"homepage":"https://github.com/reallyreally/reallySecure#readme","dependencies":{"express-sslify":"^1.2.0","helmet":"^3.4.1","helmet-csp":"^2.3.0","node-uuid":"^1.4.7","parse-domain":"^1.1.0"},"gitHead":"f6e69a4ece39c1acdfb98eeff483ccbf9c6942a2","_id":"@really/really-secure@1.0.3","_shasum":"38a09b3264fc949a5a385212647e7a29bde4722a","_from":".","_npmVersion":"4.2.0","_nodeVersion":"6.9.4","_npmUser":{"name":"troykelly","email":"troy@troykelly.com"},"dist":{"shasum":"38a09b3264fc949a5a385212647e7a29bde4722a","tarball":"https://registry.npmjs.org/@really/really-secure/-/really-secure-1.0.3.tgz","integrity":"sha512-KCwi+S65F5DRCHNLd9SYXGgQgTfihU6AJ2vhMOb8SJ6KfvSCOvTs7SxIqdKSqurClde4H+Ok9IbSYrhiyqa7rg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCXp/h2SEWP18r+lJLsFhhFhi4oOimWPL0ln9j8tuHPsQIhALK/P+c09gwmyn+oJLP1+4pcjEJvOaCjmR0oL5D1r6tz"}]},"maintainers":[{"name":"troykelly","email":"troy@troykelly.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/really-secure-1.0.3.tgz_1492197141047_0.04074143059551716"},"directories":{}},"1.0.4":{"name":"@really/really-secure","version":"1.0.4","description":"Comprehensive ExpressJS Security Middleware","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/reallyreally/reallySecure.git"},"keywords":["reallyreallyio","expressjs","middleware"],"author":{"name":"Troy Kelly","email":"troy.kelly@reallyreally.io"},"contributors":[{"name":"Daniel Walton","email":"daniel.walton@reallyreally.io"}],"license":"Apache-2.0","bugs":{"url":"https://github.com/reallyreally/reallySecure/issues"},"homepage":"https://github.com/reallyreally/reallySecure#readme","dependencies":{"express-sslify":"^1.2.0","helmet":"^3.4.1","helmet-csp":"^2.3.0","node-uuid":"^1.4.7","parse-domain":"^1.1.0"},"gitHead":"eaa0b797559efa64f421a20c182b7b842ff032a5","_id":"@really/really-secure@1.0.4","_shasum":"54316b439a9c6f3cba48a0f635809913167efa43","_from":".","_npmVersion":"4.2.0","_nodeVersion":"6.9.4","_npmUser":{"name":"troykelly","email":"troy@troykelly.com"},"dist":{"shasum":"54316b439a9c6f3cba48a0f635809913167efa43","tarball":"https://registry.npmjs.org/@really/really-secure/-/really-secure-1.0.4.tgz","integrity":"sha512-6Hu+MUvU+TPh1lOgPg+lwZUdq4fCRBJo5KrNUv8wW5ddCcrC9mu90b6oY5R226+XM8fWhQ6FtUZA8qp/u4wnPQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHmJD4bMFUltADgEcx7JcITVLM/r+5bBVeHEhkGEwPIYAiEA36OT1jE3vWlA1B1AEvMfcF2qrFmgFVCgQ/s7Wyp/20I="}]},"maintainers":[{"name":"troykelly","email":"troy@troykelly.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/really-secure-1.0.4.tgz_1493421963374_0.9673761206213385"},"directories":{}},"1.0.5":{"name":"@really/really-secure","version":"1.0.5","description":"Comprehensive ExpressJS Security Middleware","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/reallyreally/reallySecure.git"},"keywords":["reallyreallyio","expressjs","middleware"],"author":{"name":"Troy Kelly","email":"troy.kelly@reallyreally.io"},"contributors":[{"name":"Daniel Walton","email":"daniel.walton@reallyreally.io"}],"license":"Apache-2.0","bugs":{"url":"https://github.com/reallyreally/reallySecure/issues"},"homepage":"https://github.com/reallyreally/reallySecure#readme","dependencies":{"express-sslify":"^1.2.0","helmet":"^3.4.1","helmet-csp":"^2.3.0","node-uuid":"^1.4.7","parse-domain":"^1.1.0"},"gitHead":"95076c4a24128d9d232f857bf194c908261bcc58","_id":"@really/really-secure@1.0.5","_shasum":"7b97c8947aa282a403465f4ce9d638bbd53edfd6","_from":".","_npmVersion":"4.2.0","_nodeVersion":"6.9.4","_npmUser":{"name":"troykelly","email":"troy@troykelly.com"},"dist":{"shasum":"7b97c8947aa282a403465f4ce9d638bbd53edfd6","tarball":"https://registry.npmjs.org/@really/really-secure/-/really-secure-1.0.5.tgz","integrity":"sha512-eEvmxMJHDHAGQpXTVz/ceSiOixnI5TwBhRZPtZJT7swjHqMbZgLXd/IF31pPFZHL4nO4yJ1vlD+XNNf3EQKhvw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDCRWi0YzJ1Ppgxv1JMg7eWw75I3v5L8pGBPuJBC7Hk7gIhAM5Hi84/s1KSbYfLx88oMbiPcrL3/rZM4wUNIPd+P06E"}]},"maintainers":[{"name":"troykelly","email":"troy@troykelly.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/really-secure-1.0.5.tgz_1493607717497_0.8606258833315223"},"directories":{}},"1.0.6":{"name":"@really/really-secure","version":"1.0.6","description":"Comprehensive ExpressJS Security Middleware","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/reallyreally/reallySecure.git"},"keywords":["reallyreallyio","expressjs","middleware"],"author":{"name":"Troy Kelly","email":"troy.kelly@reallyreally.io"},"contributors":[{"name":"Daniel Walton","email":"daniel.walton@reallyreally.io"}],"license":"Apache-2.0","bugs":{"url":"https://github.com/reallyreally/reallySecure/issues"},"homepage":"https://github.com/reallyreally/reallySecure#readme","dependencies":{"express-sslify":"^1.2.0","helmet":"^3.4.1","helmet-csp":"^2.3.0","node-uuid":"^1.4.7","parse-domain":"^1.1.0"},"gitHead":"2b639d014486e22412a35eb9df5e1559c69490b6","_id":"@really/really-secure@1.0.6","_shasum":"aec9f37328213c3190467fab0febb4b7bf08ae7d","_from":".","_npmVersion":"4.2.0","_nodeVersion":"6.9.4","_npmUser":{"name":"troykelly","email":"troy@troykelly.com"},"dist":{"shasum":"aec9f37328213c3190467fab0febb4b7bf08ae7d","tarball":"https://registry.npmjs.org/@really/really-secure/-/really-secure-1.0.6.tgz","integrity":"sha512-vEiy2qUmi4mRqShPalN3ozU9HCGD2rK8qFw4C/oEp5BuPeeEyM9BAHizYW8Ggjy7JdRsovD0DPTQa/SaYN4u0g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHu27XmmEG1wsaiJFAZDlX3eGCwN9JtfkzTZyAb6dpnxAiA0V+V9RMem78CPm4CmMgd+3k3y/YBiX9itoAYpAf3kzQ=="}]},"maintainers":[{"name":"troykelly","email":"troy@troykelly.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/really-secure-1.0.6.tgz_1493834577951_0.272575409617275"},"directories":{}},"1.1.0":{"name":"@really/really-secure","version":"1.1.0","description":"Comprehensive ExpressJS Security Middleware","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/reallyreally/reallySecure.git"},"keywords":["reallyreallyio","expressjs","middleware"],"author":{"name":"Troy Kelly","email":"troy.kelly@reallyreally.io"},"contributors":[{"name":"Daniel Walton","email":"daniel.walton@reallyreally.io"}],"license":"Apache-2.0","bugs":{"url":"https://github.com/reallyreally/reallySecure/issues"},"homepage":"https://github.com/reallyreally/reallySecure#readme","dependencies":{"express-sslify":"^1.2.0","helmet":"^3.8.1","helmet-csp":"^2.5.1","node-uuid":"^1.4.8","parse-domain":"^1.1.0"},"gitHead":"f2a2e31154f6099f2bd3e3ca17132832dcd7a870","_id":"@really/really-secure@1.1.0","_npmVersion":"5.3.0","_nodeVersion":"6.11.1","_npmUser":{"name":"troykelly","email":"troy@troykelly.com"},"dist":{"integrity":"sha512-2d2uh4ft3I3yZc+3qM6noBlykD4HBVkGKtBt+W1k4otQzxBMqnHpgg71VHbWbRpMlT9iVHOmTw1SUs8tPcLm4A==","shasum":"9b90007ca2ff7a0cee53dee121c646eb65e997b7","tarball":"https://registry.npmjs.org/@really/really-secure/-/really-secure-1.1.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCr/UOJAKg89vMACt3KbxgzqYGM2xrmjm3iaxDVy0jWjwIgHMjCMRi9cnbLb7Q2xBSyVcV01LbXY67C7AK0x3+EXxA="}]},"maintainers":[{"email":"daniel.walton@really.ai","name":"imdanwalton"},{"email":"troy@troykelly.com","name":"troykelly"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/really-secure-1.1.0.tgz_1503623236739_0.6804681385401636"},"directories":{}},"1.1.1":{"name":"@really/really-secure","version":"1.1.1","description":"Comprehensive ExpressJS Security Middleware","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/reallyreally/reallySecure.git"},"keywords":["reallyreallyio","expressjs","middleware"],"author":{"name":"Troy Kelly","email":"troy.kelly@reallyreally.io"},"contributors":[{"name":"Daniel Walton","email":"daniel.walton@reallyreally.io"}],"license":"Apache-2.0","bugs":{"url":"https://github.com/reallyreally/reallySecure/issues"},"homepage":"https://github.com/reallyreally/reallySecure#readme","dependencies":{"express-sslify":"^1.2.0","helmet":"^3.8.1","helmet-csp":"^2.5.1","node-uuid":"^1.4.8","parse-domain":"^1.1.0"},"gitHead":"97473d1877520c59de1c32afe1669dc0f5581391","_id":"@really/really-secure@1.1.1","_npmVersion":"5.3.0","_nodeVersion":"6.11.1","_npmUser":{"name":"troykelly","email":"troy@troykelly.com"},"dist":{"integrity":"sha512-lk9SVI2hzxDIV2X3csN3iC4M/rBUZjUfhjjqUoyveqVz+cJUhOlE0rjS2Naa6zxCkN66Y+VIx13R1W3rlMKJbw==","shasum":"c49d609d22d0864c2d23c6e1df1531530fd27db4","tarball":"https://registry.npmjs.org/@really/really-secure/-/really-secure-1.1.1.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDJvsE7ruPpx9npFX+D8GRjXBD0iWfdkZHW+hOWoSJmQQIgZhIcU2PGvK9bbLT0cF52posHkugrFYUSYRdhV0Oi+sY="}]},"maintainers":[{"email":"daniel.walton@really.ai","name":"imdanwalton"},{"email":"troy@troykelly.com","name":"troykelly"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/really-secure-1.1.1.tgz_1503624892387_0.7154752218630165"},"directories":{}},"1.1.2":{"name":"@really/really-secure","version":"1.1.2","description":"Comprehensive ExpressJS Security Middleware","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/reallyreally/reallySecure.git"},"keywords":["reallyreallyio","expressjs","middleware"],"author":{"name":"Troy Kelly","email":"troy.kelly@reallyreally.io"},"contributors":[{"name":"Daniel Walton","email":"daniel.walton@reallyreally.io"}],"license":"Apache-2.0","bugs":{"url":"https://github.com/reallyreally/reallySecure/issues"},"homepage":"https://github.com/reallyreally/reallySecure#readme","dependencies":{"express-sslify":"^1.2.0","helmet":"^3.8.1","helmet-csp":"^2.5.1","node-uuid":"^1.4.8","parse-domain":"^1.1.0"},"gitHead":"a73e65877c2252120531f070522f98f59963c93f","_id":"@really/really-secure@1.1.2","_npmVersion":"5.3.0","_nodeVersion":"6.11.1","_npmUser":{"name":"troykelly","email":"troy@troykelly.com"},"dist":{"integrity":"sha512-hC/l8UkpUulzsHy+LaBQ6YRJ8RKMRlp09eRuuWtDuJY0FODdBFo1TSB1MFYnaOzeqF1uK4rESMq7mBaE630amg==","shasum":"52ead5640f21f16af9f6292fb6f40594e4679135","tarball":"https://registry.npmjs.org/@really/really-secure/-/really-secure-1.1.2.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDDKKILBnV6QNxQpqwb1xlXk9MrncsXFW84wfvZoeoPsAIhAIUsCs/XO7WwtH0YjU+4xCCDKHs9Ntavyx7p14PkzlI7"}]},"maintainers":[{"email":"daniel.walton@really.ai","name":"imdanwalton"},{"email":"troy@troykelly.com","name":"troykelly"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/really-secure-1.1.2.tgz_1503631440040_0.6942810721229762"},"directories":{}},"1.1.3":{"name":"@really/really-secure","version":"1.1.3","description":"Comprehensive ExpressJS Security Middleware","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/reallyreally/reallySecure.git"},"keywords":["reallyreallyio","expressjs","middleware"],"author":{"name":"Troy Kelly","email":"troy.kelly@reallyreally.io"},"contributors":[{"name":"Daniel Walton","email":"daniel.walton@reallyreally.io"}],"license":"Apache-2.0","bugs":{"url":"https://github.com/reallyreally/reallySecure/issues"},"homepage":"https://github.com/reallyreally/reallySecure#readme","dependencies":{"express-sslify":"^1.2.0","helmet":"^3.8.1","helmet-csp":"^2.5.1","node-uuid":"^1.4.8","parse-domain":"^1.1.0"},"gitHead":"3d84b0ded590d8b7aad8a0b3d9f5af38d28c939e","_id":"@really/really-secure@1.1.3","_npmVersion":"5.3.0","_nodeVersion":"6.11.1","_npmUser":{"name":"troykelly","email":"troy@troykelly.com"},"dist":{"integrity":"sha512-lIbnxMO4SuiuO9nwjPv2fcPVb9myhEDgZ3zZdNT6h4TUZgMbbVNCZ1106VFtOXk4Ut+UR3Z7fR+zUXJ3zZexSA==","shasum":"2f75ddaf19a8e3ce2827388c9f3ff92acf445001","tarball":"https://registry.npmjs.org/@really/really-secure/-/really-secure-1.1.3.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFTLjdIdyuDTKjnVR96pIEQbZRm0WBn5ah0cx5BIlBITAiEAs7bn//elkh3/DWe8CywQUVbBbi5BaV33Gy8UFNMuFEE="}]},"maintainers":[{"email":"daniel.walton@really.ai","name":"imdanwalton"},{"email":"troy@troykelly.com","name":"troykelly"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/really-secure-1.1.3.tgz_1503632843305_0.8373573620337993"},"directories":{}},"1.1.4":{"name":"@really/really-secure","version":"1.1.4","description":"Comprehensive ExpressJS Security Middleware","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/reallyreally/reallySecure.git"},"keywords":["reallyreallyio","expressjs","middleware"],"author":{"name":"Troy Kelly","email":"troy.kelly@reallyreally.io"},"contributors":[{"name":"Daniel Walton","email":"daniel.walton@reallyreally.io"}],"license":"Apache-2.0","bugs":{"url":"https://github.com/reallyreally/reallySecure/issues"},"homepage":"https://github.com/reallyreally/reallySecure#readme","dependencies":{"express-sslify":"^1.2.0","helmet":"^3.8.1","helmet-csp":"^2.5.1","node-uuid":"^1.4.8","parse-domain":"^1.1.0"},"gitHead":"d7beb9eb8b8ed4472e3c9d86cb64c7209d2f2f3d","_id":"@really/really-secure@1.1.4","_npmVersion":"5.3.0","_nodeVersion":"6.11.1","_npmUser":{"name":"troykelly","email":"troy@troykelly.com"},"dist":{"integrity":"sha512-qkNzGrIpDXFC1qq3w5CRdtjWwf7G6CK9+XTct3KcDsa9fhZRRFA7hVEunqsHjq2XvAIrKz26z6bEgqVTiQyutQ==","shasum":"7b25071db9124457c2619210894f86c5d2a68327","tarball":"https://registry.npmjs.org/@really/really-secure/-/really-secure-1.1.4.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCIelsI3Mwz2+bsPCCnpjSoDU0S6U6uTv6K+yoM+WvGVgIhAJjprkKxf6JClJXvlJ8IeZjOnLjm+bDPBzlkGlUbgL+h"}]},"maintainers":[{"email":"daniel.walton@really.ai","name":"imdanwalton"},{"email":"troy@troykelly.com","name":"troykelly"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/really-secure-1.1.4.tgz_1504313589588_0.2539520545396954"},"directories":{}},"1.2.0":{"name":"@really/really-secure","version":"1.2.0","description":"Comprehensive ExpressJS Security Middleware","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/reallyreally/reallySecure.git"},"keywords":["reallyreallyio","expressjs","middleware"],"author":{"name":"Troy Kelly","email":"troy.kelly@reallyreally.io"},"contributors":[{"name":"Daniel Walton","email":"daniel.walton@reallyreally.io"}],"license":"Apache-2.0","bugs":{"url":"https://github.com/reallyreally/reallySecure/issues"},"homepage":"https://github.com/reallyreally/reallySecure#readme","dependencies":{"express-sslify":"^1.2.0","helmet":"^3.8.1","helmet-csp":"^2.5.1","node-uuid":"^1.4.8","parse-domain":"^1.1.0"},"gitHead":"dbc497c407fa3d721e0b22d22a7648477a70d5f3","_id":"@really/really-secure@1.2.0","_npmVersion":"5.5.1","_nodeVersion":"6.11.1","_npmUser":{"name":"troykelly","email":"troy@troykelly.com"},"dist":{"integrity":"sha512-pfJwvm0Ivx8CBzbyuHFrQ/SbORrAPSd0IG6NvomH+0js45YbH9WvV126ycxPiON38A2flAoeIxE/vx2Wxu1iyA==","shasum":"4fbd5f1a9f0ca9b46e91f1dc8694a7b4c5a63f77","tarball":"https://registry.npmjs.org/@really/really-secure/-/really-secure-1.2.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCC2GspmkY0WbZu3cv3wcLRJwVlR3MZgVagVBy1V968jAIgdYJh5F6prD05CmFtqJJV3u7883tJQDhkN/EjP5GElag="}]},"maintainers":[{"email":"daniel.walton@really.ai","name":"imdanwalton"},{"email":"troy@troykelly.com","name":"troykelly"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/really-secure-1.2.0.tgz_1511591472085_0.17909853486344218"},"directories":{}},"1.3.0":{"name":"@really/really-secure","version":"1.3.0","description":"Comprehensive ExpressJS Security Middleware","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/reallyreally/reallySecure.git"},"keywords":["reallyreallyio","expressjs","middleware"],"author":{"name":"Troy Kelly","email":"troy.kelly@reallyreally.io"},"contributors":[{"name":"Daniel Walton","email":"daniel.walton@reallyreally.io"}],"license":"Apache-2.0","bugs":{"url":"https://github.com/reallyreally/reallySecure/issues"},"homepage":"https://github.com/reallyreally/reallySecure#readme","dependencies":{"express-sslify":"^1.2.0","helmet":"^3.8.1","helmet-csp":"^2.5.1","node-uuid":"^1.4.8","parse-domain":"^1.1.0"},"gitHead":"35839bf7296adfadcd66b9ba420e48b20abe757a","_id":"@really/really-secure@1.3.0","_npmVersion":"5.5.1","_nodeVersion":"6.11.1","_npmUser":{"name":"troykelly","email":"troy@troykelly.com"},"dist":{"integrity":"sha512-A8JS7E9Qb6GKeZqTBuo0nQ3Cx446yQNVYz+9SC6K1tDMZDZQLxz/HYviRmALqp5t8YEUOmFE3t6M3pHRp8Mx2g==","shasum":"40842e18fff323fefc8c1833c8bc6208db1522fb","tarball":"https://registry.npmjs.org/@really/really-secure/-/really-secure-1.3.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDtHtBnz6Du89/YPDxkQGYIkH2/L/6bGDY6jbU4EHSvGwIhAJH/NiGb1JMJOtmLQIeYO9Eypc2K/3w+SJ3ngYUK6zoZ"}]},"maintainers":[{"email":"daniel.walton@really.ai","name":"imdanwalton"},{"email":"troy@troykelly.com","name":"troykelly"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/really-secure-1.3.0.tgz_1513403430762_0.4802035638131201"},"directories":{}},"1.4.0":{"name":"@really/really-secure","version":"1.4.0","description":"Comprehensive ExpressJS Security Middleware","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/reallyreally/reallySecure.git"},"keywords":["reallyreallyio","expressjs","middleware"],"author":{"name":"Troy Kelly","email":"troy.kelly@reallyreally.io"},"contributors":[{"name":"Daniel Walton","email":"daniel.walton@reallyreally.io"}],"license":"Apache-2.0","bugs":{"url":"https://github.com/reallyreally/reallySecure/issues"},"homepage":"https://github.com/reallyreally/reallySecure#readme","dependencies":{"express-sslify":"^1.2.0","helmet":"^3.8.1","helmet-csp":"^2.5.1","node-uuid":"^1.4.8","parse-domain":"^1.1.0"},"gitHead":"95bd533bb640e30858a981cc8c4669461c2b7883","_id":"@really/really-secure@1.4.0","_npmVersion":"5.6.0","_nodeVersion":"8.7.0","_npmUser":{"name":"troykelly","email":"troy@troykelly.com"},"dist":{"integrity":"sha512-fZODrxJPnhc5CUt0U6F03Iq/dyz5vyMdj+pm+KEf8kQt4FTPYEM/IkzEs1eKqlGNulIn1uipMvVycvfoRgGXAw==","shasum":"8fd252cdf214e647f3be415695a85f92b173bceb","tarball":"https://registry.npmjs.org/@really/really-secure/-/really-secure-1.4.0.tgz","fileCount":7,"unpackedSize":32980,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHkliy+r4DXP/07OtaOxx3/HyYqt5AMrl2qJ9lwuhXWaAiB7M/urbf/bgPig3YrskqEbMUyslSEVFpFUADXC1kO+pg=="}]},"maintainers":[{"email":"daniel.walton@really.ai","name":"imdanwalton"},{"email":"troy@troykelly.com","name":"troykelly"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/really-secure_1.4.0_1518061116194_0.054672858423566506"},"_hasShrinkwrap":false},"1.4.1":{"name":"@really/really-secure","version":"1.4.1","description":"Comprehensive ExpressJS Security Middleware","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/reallyreally/reallySecure.git"},"keywords":["reallyreallyio","expressjs","middleware"],"author":{"name":"Troy Kelly","email":"troy.kelly@reallyreally.io"},"contributors":[{"name":"Daniel Walton","email":"daniel.walton@reallyreally.io"}],"license":"Apache-2.0","bugs":{"url":"https://github.com/reallyreally/reallySecure/issues"},"homepage":"https://github.com/reallyreally/reallySecure#readme","dependencies":{"express-sslify":"^1.2.0","helmet":"^3.12.1","helmet-csp":"^2.7.0","parse-domain":"^2.0.0","uuid":"^3.2.1"},"gitHead":"1c7902e9283b4a26e3c4b96b37cb2da5e5b1c05a","_id":"@really/really-secure@1.4.1","_npmVersion":"6.0.1","_nodeVersion":"9.5.0","_npmUser":{"name":"troykelly","email":"troy@troykelly.com"},"dist":{"integrity":"sha512-+8GVAq+vI3h3R4rQDQNw6LNSehpQRntdvMJfOEEZNjozQQe3hdy/9cZ8OT+U9XhPaRt/ETUMtQ4g6hG/l8zVEQ==","shasum":"f7c3c296c1f40693ad90d5ae7e26f5ec296f2f1a","tarball":"https://registry.npmjs.org/@really/really-secure/-/really-secure-1.4.1.tgz","fileCount":7,"unpackedSize":33338,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbDWjGCRA9TVsSAnZWagAAVy8P/idwI8u6vyrV0mJ4s/9V\nQ3ZknnUdLjFwZqtnQIB6utjgEL3rDslRtVGVQuXLDxvr3OJlBWbzcRlFRtmH\nxfSZUfsj0U5X4EIe1yPa/AFQUd59uUGUNpUpxb3u8ptdv2SHjRD6DsMmeYLM\nsIF8raaHzJu+BvpF6s1yuAREYNwCCvpE/BG83b2+sQpFDOKmJCgS2p54x4th\ntN6ZZ44tIFTxL76M6L2L9jaLBuFNtDlfmG5VSQ3MivJuw/BIBKFPJCkxu2qn\ndSfhlcnz3QMySOVVlk8n8z0snDye2z1m1HpvKnD8ALcxbOauu+X5KQwDJK5+\nmdUcexYoT3B/y79EtsmUFSkenVMNYWxZUShzg16lcgO56WBE+oC0lR50nzOr\nfcL0XQhgFvQzPNM33A9kWQfMXhuLtz5EzD70b11Y9ETUpVBX8k8i68RSrrK3\nLg5Qg2pS4zBqBiDdMq+9DZ9SpjZiXLDH4s0eWsGnI4CZP+REZ9UX2Fs1Kvkg\nJcBJ1UWR5LnKuA40NgqaY4wpMcPNsyf4ApvbfmAlqhG/eJ6fctVRHV7tkqk+\ny1BC7wehbV6h9A6AFGV9bizECE9Pae0yHBR7O1DrmlLt+GsAwOqoYEP8c6o9\nUwKKDvHu8YfYPnSybrpLnps+ELvFySCWQDrY6bJtzAIzKffraRl6lyPFv/nK\nr1dJ\r\n=zEJP\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCLUpqGhUYPAutvAtGOyP85Zzl8X8p8zgyTPCh3lq3L+wIhALbLqxyfBA+RNkiAd4VIUEi1L7N6QRmGDT0lBqjFdg/d"}]},"maintainers":[{"email":"daniel.walton@really.ai","name":"imdanwalton"},{"email":"troy@troykelly.com","name":"troykelly"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/really-secure_1.4.1_1527605444519_0.8112012251987233"},"_hasShrinkwrap":false},"1.4.2":{"name":"@really/really-secure","version":"1.4.2","description":"Comprehensive ExpressJS Security Middleware","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/reallyreally/reallySecure.git"},"keywords":["reallyreallyio","expressjs","middleware"],"author":{"name":"Troy Kelly","email":"troy.kelly@reallyreally.io"},"contributors":[{"name":"Daniel Walton","email":"daniel.walton@reallyreally.io"}],"license":"Apache-2.0","bugs":{"url":"https://github.com/reallyreally/reallySecure/issues"},"homepage":"https://github.com/reallyreally/reallySecure#readme","dependencies":{"express-sslify":"^1.2.0","helmet":"^3.12.1","helmet-csp":"^2.7.0","parse-domain":"^2.0.0","uuid":"^3.2.1"},"gitHead":"ff8c3daf1414fb634cb130d0508aee61529d1511","_id":"@really/really-secure@1.4.2","_npmVersion":"6.1.0","_nodeVersion":"9.5.0","_npmUser":{"name":"troykelly","email":"troy@troykelly.com"},"dist":{"integrity":"sha512-3HeWEuHPeJGaC8eU84dVMsbjcsTw/UIShdQYtHPRXu5oNYPd/E4os6b0yB1ofEVAcpnELKL49UMPPqtqA1ZFkA==","shasum":"0cb6e7b19e42b813683c7e20c5451e817d97d373","tarball":"https://registry.npmjs.org/@really/really-secure/-/really-secure-1.4.2.tgz","fileCount":7,"unpackedSize":33568,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbKdasCRA9TVsSAnZWagAAotUP/0nuQZQvxepQCa/jd9Oy\nIBLO4WkvcA6jmr9NfCzekmPMw4O5WQ2dLI3v07fFqohShbiCKqtsAovjCGrX\neJX5d8byhBsVndTtusTRVZOVA39TNaV+4J3dk9x2Irc6+HlA/hoemVnsaw5F\nTJA/iW8eRI3fMLit2uQgixLWg1+qCpdkRhJKdgXRSelSmTw1IycD1pqFKaUs\n9EEXhu8MDY/iVvO9LFSrBOI1HKItBjORW5j09qRKraCN5JuTrgKfB5l5XK6Q\nc0jlNc66v9L/o2OArVin7UIJ0xCXM11qD/+TcNF38/nRpjeAwyxRyucbQ+3S\niw8WxpZrELVa94GHAWXTtOONQ6sN7TOLBdvr9MpwZRTJEheXnFdeXxh6JIsH\n5nkRoxdcndsI4CQ75E+6J4S7S8ciNJ3cZST3pWRcx0Uu6d0tP54BqK9YSF1G\nQfO0XHdmoEuekWz3wGjL1oft6WScyBR58obL/eSUa7xYCYyziEcm8i/hqf9j\n4Gs2C8bbJPzdaQ2XXeHnVK72NmpNEK0WEhc3m9FjPIuQ5xl4nm0sJZ7VBr8B\nuEgX0Qn2vswZeIjSm40eNgkd3qhn8OqewZDY3pk4e6YJAHp0MiND3hcJUTA/\n2xYpn+0pjxSMehGZulgr36PrSCxpGfle3VOzAD9eVC2Jmt8SxgCLsOce9+Ax\nbi7A\r\n=tMSZ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEF1Ov4X4diz+yV4TeK253miKHhUtDwmMU0luVZPf25JAiB4+VK9TeMBaHKFd+a1ctPmiacKY+2pcBl/3oIPmrqN9g=="}]},"maintainers":[{"email":"daniel.walton@really.ai","name":"imdanwalton"},{"email":"kyle.marino22@gmail.com","name":"kyle.marino22"},{"email":"troy@troykelly.com","name":"troykelly"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/really-secure_1.4.2_1529468586538_0.25512152880468153"},"_hasShrinkwrap":false},"1.4.3":{"name":"@really/really-secure","version":"1.4.3","description":"Comprehensive ExpressJS Security Middleware","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/reallyreally/reallySecure.git"},"keywords":["reallyreallyio","expressjs","middleware"],"author":{"name":"Troy Kelly","email":"troy.kelly@reallyreally.io"},"contributors":[{"name":"Daniel Walton","email":"daniel.walton@reallyreally.io"}],"license":"Apache-2.0","bugs":{"url":"https://github.com/reallyreally/reallySecure/issues"},"homepage":"https://github.com/reallyreally/reallySecure#readme","dependencies":{"express-sslify":"^1.2.0","helmet":"^3.12.1","helmet-csp":"^2.7.0","parse-domain":"^2.1.2","uuid":"^3.2.1"},"gitHead":"25eb404f470ed9919852bd242c6b355adbdae3ce","_id":"@really/really-secure@1.4.3","_npmVersion":"6.1.0","_nodeVersion":"9.5.0","_npmUser":{"name":"troykelly","email":"troy@troykelly.com"},"dist":{"integrity":"sha512-+cgpkM39Uv4arLPkTtyRVYGpGslyGEtxXjmjTiOS/IfohGQmcZL4wZG4b0Hpi1mSn24rYIficnrKBZh2dF/1Pg==","shasum":"bb4e777f311c7ad4e0c38f5de7fcfd4e7b0016e4","tarball":"https://registry.npmjs.org/@really/really-secure/-/really-secure-1.4.3.tgz","fileCount":7,"unpackedSize":48314,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbKdkpCRA9TVsSAnZWagAA2b8P/R63zoBZnQ4pKkIbvPdi\noErHVZ9xHy6ASaaEsLWBeiHkc0AfzjhS253VNAisVcDbKcIVC48SxvdDiYH9\npPVB9hRX+WGsKDTM+ZM5M7DZCH1mC3rjDjajAg0utgo34QjShAZONnVgNnay\nhTp2LLpRrwG0+o2SEqcs5YMMczUIzTZ+pCf3YkmFXU5Va8NBIUCJoigESgTm\nRfDlOLupfz5E7Laeb0LmTQUlZrHgnyXvXmZOoAAzyVR1Ks5H1z3R7DhBpDiK\nNQnDVRJ+zh2jcyictgyJh+a2hevSx0me4TsagDYpjZP72T3SWTcWStwEPaJ0\n1Gjx+xcdV9R01mCgn9d8aMEP2eL8d6Qx03DhtLcAw/uGnPPoEhcuaKwwwyU6\n2f5dVvJwgciQ5iYPzix/u6zb9V8PwNPHWtqgS+0A41htQK0Kip4QwbWs7w6g\n7L8A1nFVahO/c5LbN/M1928L5uNq2B1XdpUFxq/k/vy0eFuV7Ik4wZrvUQAr\nr02phCGeQkAIbeKcMSOzQzzfnIU0cSo/Z6zeLEtksZbWwFj3aGmd9/FuAM0e\ntc13jiec9p+IrYwRKXCCFpdqP7Q9kBH5I2HD4GuXv5lWwRqyZswDLJNB9GAX\npSTapqhdaFsnE7Mvk87cjMTn5zOtGfDR//JriuRtCf0AlJlW9UJXEcNVbiAU\nwUlA\r\n=bE29\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGJUhDCDbCEG7ZUy2W73TVrM/XVjsdK5CeAn2GJofCR3AiEAnR4paV+XbsNxt4S6jA6vKQU9YN3mDosSOTgyKeUC49M="}]},"maintainers":[{"email":"daniel.walton@really.ai","name":"imdanwalton"},{"email":"kyle.marino22@gmail.com","name":"kyle.marino22"},{"email":"troy@troykelly.com","name":"troykelly"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/really-secure_1.4.3_1529469224573_0.18560884803974176"},"_hasShrinkwrap":false},"1.4.4":{"name":"@really/really-secure","version":"1.4.4","description":"Comprehensive ExpressJS Security Middleware","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/reallyreally/reallySecure.git"},"keywords":["reallyreallyio","expressjs","middleware"],"author":{"name":"Troy Kelly","email":"troy.kelly@reallyreally.io"},"contributors":[{"name":"Daniel Walton","email":"daniel.walton@reallyreally.io"}],"license":"Apache-2.0","bugs":{"url":"https://github.com/reallyreally/reallySecure/issues"},"homepage":"https://github.com/reallyreally/reallySecure#readme","dependencies":{"express-sslify":"^1.2.0","helmet":"^3.14.0","helmet-csp":"^2.7.1","parse-domain":"^2.1.2","uuid":"^3.3.2"},"gitHead":"99462f81b0d29ee0f311badea689c1787e44d628","_id":"@really/really-secure@1.4.4","_npmVersion":"6.4.1","_nodeVersion":"10.11.0","_npmUser":{"name":"troykelly","email":"troy@troykelly.com"},"dist":{"integrity":"sha512-Zce/zqeZ0J2TNnlKKVcpsLtdM8wWU6NeexsoaoOyCBbCGZHBx/g6LQFV+3ID/np33609UzbxCwy81F1kdNQWww==","shasum":"4391bd4d019ffb6c41ea3f74471fb5ef96b5c552","tarball":"https://registry.npmjs.org/@really/really-secure/-/really-secure-1.4.4.tgz","fileCount":7,"unpackedSize":55659,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbv8NXCRA9TVsSAnZWagAAFcQP/ituKCIgwKtKqcwcCZlN\nWUyAEbk5lpqoYNTcnhu3lDJB4SJT7Afdw0db7T1LMuGx5ptytM8C4qj/R8Nv\nJ6qGb3dTJcx3MmzgByqtTMZzZraKItlkpE1q8SsxsSXbsMh1nkM1cIyinlgj\nCYSmc4xo/6kXIoL3R2BWrMEEdPqaVoheK9F5FhPomsBArSnWlDZX/kuP1+Wy\nZfatpAt7RzZSciBP1j+PY++mRm8v0BZr8Bt6zjIKDiUnPYUfGF2gm3L+wGTH\n1cn9KmGTzm3rSzfJKTNXsvgXsoVIykW+nAwIktOMse5dDyx+5s9tsAYfOCUG\niVlIcugeq1UArkQESQz+P+nuKlMXw8OVeiv4e4vKXQb0CDk6gvKHM/bvj7Cf\n6MBcbpGwBqqRGZ4ajhjSWaMKebhlyZucbiLr76fBbFIVbalCZUvgSYoAmWJg\nsOPQw41uBTTk31zTWzH+8sxqLQVwlQog3gBUA+8MkSN0l8wnIwwZTweSueo2\no8tIf2cFcQnago7eUevTyju4gVFvXK4zB/8lCEPR5Tqc5hZqg7ND9LV94ZAa\n64NljaMLe4ShoIQGQvW5w0UGHAa5DwJ/L9ZEf+V1UH3V84QvkUAoaNecb3lp\n5qrfQV4pMOiURnFzEEjSCFmdYK7C0TiIVkWUOEw2I/L72h29ug2YkGDQ6Cbw\nVVo3\r\n=lMgA\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCKwXtEHPR7Hx/ukVdpT3McJDU+Kyf5drCu5+0RnJgiQQIgLyf+O6RJECZTYZwJFJAs/d5D6i85Nbb2WykIZcoTjnc="}]},"maintainers":[{"email":"daniel.walton@really.ai","name":"imdanwalton"},{"email":"kyle.marino22@gmail.com","name":"kyle.marino22"},{"email":"troy@troykelly.com","name":"troykelly"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/really-secure_1.4.4_1539294038685_0.311300695877883"},"_hasShrinkwrap":false},"1.4.5":{"name":"@really/really-secure","version":"1.4.5","description":"Comprehensive ExpressJS Security Middleware","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/reallyreally/reallySecure.git"},"keywords":["reallyreallyio","expressjs","middleware"],"author":{"name":"Troy Kelly","email":"troy.kelly@reallyreally.io"},"contributors":[{"name":"Daniel Walton","email":"daniel.walton@reallyreally.io"}],"license":"Apache-2.0","bugs":{"url":"https://github.com/reallyreally/reallySecure/issues"},"homepage":"https://github.com/reallyreally/reallySecure#readme","dependencies":{"express-sslify":"^1.2.0","helmet":"^3.22.0","helmet-csp":"^2.10.0","parse-domain":"^2.3.4","uuid":"^7.0.3"},"gitHead":"6724b7b654fc83c15e60e385d0b41340ae8e0521","_id":"@really/really-secure@1.4.5","_nodeVersion":"12.16.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-ykJhuy9YkSDqJuFgGlwxYA7/Z0VOPie/BNtDMcZzVcA9bY2K7uFxaptqmbJHTKghGUoA+7Ae6bt7ENi5u+p6bw==","shasum":"8df0e3cb7dd38207e046c47eef7b1a91c68452e2","tarball":"https://registry.npmjs.org/@really/really-secure/-/really-secure-1.4.5.tgz","fileCount":9,"unpackedSize":32944,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJemtP0CRA9TVsSAnZWagAAVswP/3l/lnFYaamSJrQ1p1KV\nnqM4LWO0tHQ1Uel1cF2ashltLuVkiyOgFdvgQboUh7zXvAq89K7HbidwBIIc\nqTY4vMhof4M/xdhWL2k3OT8HGrS6bLhPmSFGLJU/IGWh2SqWcNWNhqb1Pn9O\nNjolB+Gs4nteuSSsazeydlmn/+k9a/mFlhP6yEFhFcLekZipQFA9xLuZq1iM\nJRq4Ssw+wOgLyO2nlrSv0SwoI8DPalHjJgsBRBmfuEB47pTpF5CTAXeUK/Wu\nbmZqjBxOBi7jZgUoMETufu5dHJE3dNZoB+ybqo3EM/HoamcG83+g8noNctAK\nSudb99KjZvt9+uiq0PmKieX6aCYyzw6Z/dfe6Wah5fgGmVDAXjipOfucKTLH\nkIIt640p3bZwMYEEM2Sryx7C/nxD8+z+tFVTxkwH2PWcWg2qYtP/kePaRqu0\nBhOX+/zUPUc6KHQjbFvAoGUoXO+mAPFzlj+4seTmO2wBYTcWwzIaJ3C6gRzb\n6PpT1k0jio5gAVte1HBHFUILtAj8yQ5AkwvuM3UAMlliQs9JQyd3JH9JYMX/\nQmUKuPDgNWOUeW/P5kXJ8r21s5aNCAHoTfNmy1V3zlsvw4VdD2jGO2vlilp7\n/py0PEomVqF/hHSKWQVUaQBhYD6bIUpcx2HK2Q8bqkW070t6JLTKTwHQaMpz\nHg6W\r\n=MB1d\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCNDw8uYQxqyaBYowM82hfpzCw9U48agJBfGeMLx2ghxAIgOXhRkCsAKo40gTgkgP0FyMLJWe04vn1c53DLv7Of9fs="}]},"maintainers":[{"email":"daniel.walton@really.ai","name":"imdanwalton"},{"email":"kyle.marino22@gmail.com","name":"kyle.marino22"},{"email":"troy@troykelly.com","name":"troykelly"}],"_npmUser":{"name":"troykelly","email":"troy@troykelly.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/really-secure_1.4.5_1587205108397_0.7948852619871907"},"_hasShrinkwrap":false}},"readme":"[![Known Vulnerabilities](https://snyk.io/test/github/reallyreally/reallySecure:package.json/badge.svg?targetFile=package.json)](https://snyk.io/test/github/reallyreally/reallySecure:package.json?targetFile=package.json)\n\n# ExpressJS Security Layer\n\nIntroduces comprehensive security for your ExpressJS based application.\n\n## Is this for you?\n\nThis package has been built for our specific needs. Your mileage may vary. Be very cautious enabling HSTS - do not turn it on unless you understand the implications for your domain and subdomains.\n\n### Prerequisites\n\nThis package is called while instantiating your ExpressJS based application. It is not a stand-alone package.\n\n### Glitch\n\nYou can check this out on [Glitch](https://glitch.com/edit/#!/really-secure) - see working code examples, and test it yourself without any effort!\n\n### Installing\n\nAssuming you are starting an ExpressJS project from scratch.\nCreate your ExpressJS project.\n\n```\nexpress --view=hbs --css=less --git my-secure-project\n```\n\nThen install ExpressJS\n\n```\ncd my-secure-project && npm install\n```\n\nThen install this package\n\n```\nnpm install --save @really/really-secure\n```\n\nNow you should be able to add it to your application layer\n\n## Using with ExpressJS\n\nIn your app.js require the package\n\n```\nvar securityLayer = require('@really/really-secure');\n```\n\nPrepare your configuration\n\n```\nvar reallySecureConfig = {\n  \"csp\": {\n    \"fontSrc\": [\"'self'\", \"use.typekit.net\"],\n    \"imgSrc\": [\"'self'\", \"data:\"],\n    \"defaultSrc\": [\"'self'\"],\n    \"reportUri\": \"/cspreport\",\n    \"upgradeInsecureRequests\": true\n  },\n  \"poweredBy\": \"A Secure Engine\"\n}\n```\n\nNow add it to the application flow\n\n```\n// Secure site\napp.use(securityLayer(reallySecureConfig));\n```\n\n**Using A Load Balancer? (Like Google App Engine)**\n\nYou will need to trust the proxy or you will end up with SSL issues.\n\n```\n// Trust App Engine proxy\napp.enable('trust proxy')\n```\n\n**A Node about NODE_ENV**\n\nMany of the security requirements that force or require SSL (like HSTS) are ignored unless you are `NODE_ENV=production`\nThis is a conscious choice to enable local development (without SSL) but retain security when deployed with little to no interaction.\n\n### Example app.js\n\nYour app.js may end up looking like this\n\n```\nvar express = require('express');\nvar path = require('path');\nvar favicon = require('serve-favicon');\nvar logger = require('morgan');\nvar cookieParser = require('cookie-parser');\nvar bodyParser = require('body-parser');\n\nvar securityLayer = require('@really/really-secure');\n\nvar index = require('./routes/index');\nvar users = require('./routes/users');\n\nvar app = express();\n\n// view engine setup\napp.set('views', path.join(__dirname, 'views'));\napp.set('view engine', 'hbs');\n\nvar reallySecureConfig = {\n  \"csp\": {\n    \"fontSrc\": [\"'self'\", \"use.typekit.net\"],\n    \"imgSrc\": [\"'self'\", \"data:\"],\n    \"defaultSrc\": [\"'self'\"],\n    \"reportUri\": \"/cspreport\",\n    \"upgradeInsecureRequests\": true\n  },\n  \"poweredBy\": \"A Secure Engine\"\n}\n\n// Secure site\napp.use(securityLayer(reallySecureConfig));\n\n// uncomment after placing your favicon in /public\n//app.use(favicon(path.join(__dirname, 'public', 'favicon.ico')));\napp.use(logger('dev'));\napp.use(bodyParser.json());\napp.use(bodyParser.urlencoded({ extended: false }));\napp.use(cookieParser());\napp.use(require('less-middleware')(path.join(__dirname, 'public')));\napp.use(express.static(path.join(__dirname, 'public')));\n\napp.use('/', index);\napp.use('/users', users);\n\n// catch 404 and forward to error handler\napp.use(function(req, res, next) {\n  var err = new Error('Not Found');\n  err.status = 404;\n  next(err);\n});\n\n// error handler\napp.use(function(err, req, res, next) {\n  // set locals, only providing error in development\n  res.locals.message = err.message;\n  res.locals.error = req.app.get('env') === 'development' ? err : {};\n\n  // render the error page\n  res.status(err.status || 500);\n  res.render('error');\n});\n\nmodule.exports = app;\n\n```\n\n## Using a nonce\n\nFor your security pleasure - we generate a nonce for each request. Where your site has inline script or other elements, and those elements are inserted intentionally - you can use the nonce to validate the insertion.\n\nThe nonce is automatically added to all the CSP types, so no extra work is required here. The nonce value is available in `res.locals` - as `res.locals.nonce`.\n\nIf you are using handlebars - you might end up with something like this `layout.hbs` example. (Note the `<script nonce=\"{{ nonce }}\">`)\n\n```\n<!doctype html>\n<html class=\"no-js\" lang=\"en-US\">\n    <head>\n      <!-- Google Tag Manager -->\n      <script nonce=\"{{ nonce }}\">(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':\n      new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],\n      j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=\n      'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);\n      })(window,document,'script','dataLayer','GTM-A0A0000');</script>\n      <!-- End Google Tag Manager -->\n        <meta charset=\"utf-8\">\n        <meta http-equiv=\"x-ua-compatible\" content=\"ie=edge\">\n        <title>Example Layout</title>\n        <meta name=\"description\" content=\"\">\n        <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    </head>\n    <body>\n      <!-- Google Tag Manager (noscript) -->\n      <noscript><iframe nonce=\"{{ nonce }}\" src=\"https://www.googletagmanager.com/ns.html?id=GTM-A0A0000\"\n      height=\"0\" width=\"0\" style=\"display:none;visibility:hidden\"></iframe></noscript>\n      <!-- End Google Tag Manager (noscript) -->\n        <!--[if lt IE 8]>\n        <p class=\"browserupgrade\">You are using an <strong>outdated</strong> browser. Please <a href=\"http://browsehappy.com/\">upgrade your browser</a> to improve your experience.</p>\n        <![endif]-->\n{{{body}}}\n    </body>\n</html>\n```\n\n## Configuration\n\nApart from the example above - configuration is typically passed to each component. A more exhaustive example would be:\n\n```\n{\n  \"csp\":{\n    \"fontSrc\":[\n      \"'self'\",\n      \"fonts.gstatic.com\"\n    ],\n    \"imgSrc\":[\n      \"'self'\",\n      \"data:\",\n      \"platform.slack-edge.com\",\n      \"www.google-analytics.com\",\n      \"stats.g.doubleclick.net\",\n      \"www.google.com\"\n    ],\n    \"defaultSrc\":[\n      \"'self'\"\n    ],\n    \"reportUri\":\"/v1/cspreport\",\n    \"styleSrc\":[\n      \"'self'\",\n      \"fonts.googleapis.com\",\n      \"'sha256-tFH5KRmizb/+eruMkSeYor+UVhiMbPUtVTRTEMsQopc='\",\n      \"'sha256-47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU='\"\n    ],\n    \"scriptSrc\":[\n      \"'self'\",\n      \"www.googletagmanager.com\"\n    ],\n    \"upgradeInsecureRequests\":true\n  },\n  \"hsts\":{\n    \"maxAge\":10886400,\n    \"includeSubDomains\":true,\n    \"preload\":true,\n    \"force\":true\n  },\n  \"poweredBy\":\"really-secure\"\n}\n```\n\n**Another note about HSTS**\n\nThis example would activate HSTS. It is important that you only do this knowing what the implication for your whole domain / environment is. It will (for example) break Google's G Suite domain redirection if you use this on your base domain.\n\n## Versioning\n\nWe use [SemVer](http://semver.org/) for versioning. For the versions available, see the [tags on this repository](https://github.com/your/project/tags).\n\n## Authors\n\n* **Troy Kelly** - *Initial work* - [troykelly](https://github.com/troykelly)\n* **Daniel Walton** - [imdanwalton](https://github.com/imdanwalton)\n\nSee also the list of [contributors](https://github.com/reallyreally/reallySecure/contributors) who participated in this project.\n\n## License\n\nThis project is licensed under the Apache-2.0 License\n","maintainers":[{"email":"daniel.walton@really.ai","name":"imdanwalton"},{"email":"kyle.marino22@gmail.com","name":"kyle.marino22"},{"email":"troy@troykelly.com","name":"troykelly"}],"time":{"modified":"2022-06-12T23:03:47.636Z","created":"2017-04-02T22:08:38.482Z","1.0.0":"2017-04-02T22:08:38.482Z","1.0.2":"2017-04-08T19:08:03.527Z","1.0.3":"2017-04-14T19:12:22.935Z","1.0.4":"2017-04-28T23:26:03.622Z","1.0.5":"2017-05-01T03:01:57.813Z","1.0.6":"2017-05-03T18:02:59.981Z","1.1.0":"2017-08-25T01:07:16.862Z","1.1.1":"2017-08-25T01:34:52.493Z","1.1.2":"2017-08-25T03:24:00.420Z","1.1.3":"2017-08-25T03:47:23.380Z","1.1.4":"2017-09-02T00:53:09.690Z","1.2.0":"2017-11-25T06:31:12.160Z","1.3.0":"2017-12-16T05:50:30.858Z","1.4.0":"2018-02-08T03:38:36.287Z","1.4.1":"2018-05-29T14:50:44.610Z","1.4.2":"2018-06-20T04:23:06.649Z","1.4.3":"2018-06-20T04:33:44.686Z","1.4.4":"2018-10-11T21:40:38.943Z","1.4.5":"2020-04-18T10:18:28.562Z"},"homepage":"https://github.com/reallyreally/reallySecure#readme","keywords":["reallyreallyio","expressjs","middleware"],"repository":{"type":"git","url":"git+https://github.com/reallyreally/reallySecure.git"},"author":{"name":"Troy Kelly","email":"troy.kelly@reallyreally.io"},"bugs":{"url":"https://github.com/reallyreally/reallySecure/issues"},"license":"Apache-2.0","readmeFilename":"README.md","contributors":[{"name":"Daniel Walton","email":"daniel.walton@reallyreally.io"}]}