{"_id":"@tryghost/security","_rev":"121-6e314ca36479623ffbf218b6926ca600","name":"@tryghost/security","dist-tags":{"latest":"3.3.16"},"versions":{"0.1.0":{"name":"@tryghost/security","version":"0.1.0","author":{"name":"Ghost Foundation"},"license":"MIT","_id":"@tryghost/security@0.1.0","maintainers":[{"name":"daniellockyer","email":"hi@daniellockyer.com"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"gargol","email":"nazargargol@gmail.com"},{"name":"rishabhgrg","email":"rishabhgarg1992@gmail.com"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"}],"dist":{"shasum":"ce78111dd6febb7705cf62d6838b0d8cdfb7df9f","tarball":"https://registry.npmjs.org/@tryghost/security/-/security-0.1.0.tgz","fileCount":9,"integrity":"sha512-jDiLbsN9zCAZhGIibCb92Ym30BBWzVSZx2DBPL+Ige8b95pefEx6d8humbCjXhMIcJS5dlaMw4Pk70mXLCXCvQ==","signatures":[{"sig":"MEYCIQCelvyWmw2t8R1mL36Ogu4fUgkJ+0NHoee3K4FODjZrwQIhAPxZXbc6yQn3QZebtquTO7mAbP7YbqLGqRYVheO6329M","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8101,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfMpP9CRA9TVsSAnZWagAA1zoP/3Qg7LeFpZoGzZIK/8XF\n9NZKEbw1cNSdxZs91hPMOMdKW2o/hlKigMyTvKwe7gIeZxUInuHxtZv1ea12\nNM/5EXCAueCysWK7k0Yg6kd8cFxrWe3aJUH08yVA8Lk5deHFdkLcDlPIldY0\nqigzBD84IJzqhTh4pV2+r0Kyhh6eWraSjnkpyJRHOlTSm0riiKOZJybuwj8i\nzzaSnyorLi3uOT5V3+feC7QpI8ZfBUuPWNJ0rmBwMOV5RROJTe09RmNEhauW\nnObDC8fgln1skwRiGqjUVq9gTD1ijnoTs7rI9R7HVP73iLCZ6M3jIL665g9k\nGwT9JUWsVKwbtNJUu03y1YugjeVYr6uRuUEHsXjBi1Aoofc3hUzQgOkOLdjJ\nTtsVRsiDEwmyZwxtUynujmglFNq04XNify+xOZL51rJ/dCTqeA2FXkCefmQ3\nmrFbxX0RVzQ8n11RYOZ7AYXMi0UCPJRskN0Z4YpRIpwk92y8BbIvyLa19G8R\n/Lof2siNtOP+DQV3V8njR0GRy0+b2QyX9EFhgtN4nyLsHxG/LzK3DXafjgIL\n333GK3xDHGxG6vtCdPWHMdIGIZvoJ5e+pqyfs9RqSnRJFVL6SOLtE98k0H+Y\nfmpc/iZHE4DztkWXV9Hm3fUQBfYXn3TFJRWnvlK610e06+0CFvdusMf4qcb+\nRDCA\r\n=Bujn\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","gitHead":"a4d5350eb2b3361d3f06bcb9857429c794835a71","scripts":{"dev":"echo \"Implement me!\"","lint":"eslint . --ext .js --cache","test":"NODE_ENV=testing mocha './test/**/*.test.js'","posttest":"yarn lint"},"_npmUser":{"name":"daniellockyer","email":"hi@daniellockyer.com"},"repository":{"url":"https://github.com/TryGhost/Ghost-Utils/tree/master/packages/security","type":"git"},"_npmVersion":"lerna/3.22.1/node@v12.18.0+x64 (linux)","description":"## Install","directories":{},"_nodeVersion":"12.18.0","dependencies":{"lodash":"4.17.19","bcryptjs":"2.4.3","bluebird":"3.7.2","@tryghost/string":"0.1.10"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"8.1.1","sinon":"9.0.3","should":"13.2.3"},"_npmOperationalInternal":{"tmp":"tmp/security_0.1.0_1597150205329_0.9761330652653704","host":"s3://npm-registry-packages"}},"0.2.0":{"name":"@tryghost/security","version":"0.2.0","author":{"name":"Ghost Foundation"},"license":"MIT","_id":"@tryghost/security@0.2.0","maintainers":[{"name":"daniellockyer","email":"hi@daniellockyer.com"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"gargol","email":"nazargargol@gmail.com"},{"name":"rishabhgrg","email":"rishabhgarg1992@gmail.com"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"}],"dist":{"shasum":"3f2ffa10bd933a21b19f659be9636146fb74a790","tarball":"https://registry.npmjs.org/@tryghost/security/-/security-0.2.0.tgz","fileCount":9,"integrity":"sha512-plCxkYWD22mCQowH6boGakc2svv6Xqc7W1gJL007baBHHFR4XvWigseTxit1sb6FsI+GpzV16lBLtUUNiYTQTA==","signatures":[{"sig":"MEQCIE9s4BOu1/k+p/ukB0tecHctcaVT9XOuBGNgoZ2W6IROAiAO6Vsf+i9c/22JrWzk6GzjWbw5B7iWOD4wULq/kADHsA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8408,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfaXFaCRA9TVsSAnZWagAAdr0P/A6VtW/UROKwXy3JuFLO\nlztBczYQ7UrQfFS2x0cqJmsRKdMdHfH+1x9MvVCN++bBjvny7JFEM1kVscBf\n8affDFSxEyyH5b9yYiT/SKX7Mb0M3mWnncEf/bqckW1WbWrEhHZ6O4dj/tlL\nvKe6f14+CbAc/9MXRUlPHh1rXVADJGDgiK7WlwRzVnSzK94sPJvmdwJnGt0V\nyaHzJFu1PaQvA7mF10+l3G1uQEl1XWC+aF2uhGNWj8f6aUfJgGGYEj49hTHu\nSPgcBjWx2fwVx1xzk5+qN4CN+PnZ5x/tlXziopzZ+RtA2R7ikK6G8Tt2qqrp\npOoQVBRY0IFrn4I8B3NYNnc4JjDR2ml6RHe1/BiNhpb20QL58+o7vlwITQy0\n1BwAv7dHnFyRcoQnFsv80Qh2V990V6OgDvLtY/hsFWsBaLzr/RFOFZPvD0aH\nI1lJvP4GNwrVg+0cyQS6woeqI1e4N53Sncv9wD0ihtVz/xBLFyz7XIGM3vb5\n9Of9w1OGITx1vJfW+nXU5EJGQSwd85ny2+fdHcp7Vm2I5YgwrbkxlpLE7EEJ\nKZooXEbDZvaech0VZVM9Fr78kRS6JeA9o593KTmyqWJ7Mrj5XBoBhuarxTWy\nENzlyXbi/DprU6okQd3lZF1T/ktxaIKklKifTs7iFCpdJYzHRM6BSNEmiPYu\ne5wW\r\n=P8Mj\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","gitHead":"2c6232612f359ce13e54f8ca124b7f6739f3dd18","scripts":{"dev":"echo \"Implement me!\"","lint":"eslint . --ext .js --cache","test":"NODE_ENV=testing mocha './test/**/*.test.js'","posttest":"yarn lint"},"_npmUser":{"name":"gargol","email":"nazargargol@gmail.com"},"repository":{"url":"https://github.com/TryGhost/Ghost-Utils/tree/master/packages/security","type":"git"},"_npmVersion":"lerna/3.22.1/node@v12.18.0+x64 (linux)","description":"## Install","directories":{},"_nodeVersion":"12.18.0","dependencies":{"lodash":"4.17.20","bcryptjs":"2.4.3","bluebird":"3.7.2","@tryghost/string":"0.1.11"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"8.1.3","sinon":"9.0.3","should":"13.2.3"},"_npmOperationalInternal":{"tmp":"tmp/security_0.2.0_1600745818397_0.2293520820460242","host":"s3://npm-registry-packages"}},"0.2.1":{"name":"@tryghost/security","version":"0.2.1","author":{"name":"Ghost Foundation"},"license":"MIT","_id":"@tryghost/security@0.2.1","maintainers":[{"name":"matthanley","email":"npmjs@matthanley.co.uk"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"daniellockyer","email":"hi@daniellockyer.com"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"gargol","email":"nazargargol@gmail.com"},{"name":"rishabhgrg","email":"rishabhgarg1992@gmail.com"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"}],"dist":{"shasum":"06f04bbd6cb4189a46cc57dd446e0a48b94498a9","tarball":"https://registry.npmjs.org/@tryghost/security/-/security-0.2.1.tgz","fileCount":9,"integrity":"sha512-XxFfpE5uWrJusA42OoFHc0MDE0p28MmbGZv4/XoLgEOmiyYtPmWXPr9m1ZKZteEigg8uP2Ialf5i38QibkBMHA==","signatures":[{"sig":"MEUCID1BOh8wlOFspwVSyE5d2bTSOZw6pYX5mcaiNU6QNqtlAiEAxXAjzSfq2Ec9LxRwiEgoIQVyWJJs1VfmP2JpLLIikyw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8408,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfo4HaCRA9TVsSAnZWagAAAhAP/RG+GSs/6YBKZCaUssAC\nre0CuGrQpoZemj8E9rK8dUCrstNNOrUzn0lP97eR9XOfXImdfoMYPF/lvpMp\nGYQEWrFuDA/5/2Wb9RW94Hn/AIyXbcn9qFchoRcQoM0LelvsI9w5BVBK+kIe\nQeoZhZ+TWfNmWKUwGZpegGPpQtZMiKZwkTBEOV0ifvojcclnW5vQpI1jODIY\nljjXlxR7P3MkzPNvfuAuXI+96UkVDdtnPfYPVvkcYJIneWIDV4+/uWlrsTlD\nEJRdI6m2ElLnmTSsDgS6QvkT6NdPl6kJvHpflDMthD9R/E32B90JIx7oQKrz\nnD8tBLKQ50Fy2X9JNl5s0GFb1Uh8l54NeZA9MH/crJsARCy4yUY+cz7UKctM\nQz5jo3X5SLmMCdSRhKIFxyo6NCXqwEqb78Irco5c/1HVqnZIzpnlaXhvXAES\nEMA8TmvxwNUA/G2swlhu7fniLsj5llcQdGlPdcBMUbiTxUDxWhV+YeKnWAUB\ncnIS9K9AFPNx9/ZJrOT4nhiZjjAZzyimxVqDYixk0AohWTsY1H6qUFmaxA8H\n+VjmYRXsA1J7EKR5EFog5xsrr78NO4wYeT8VAMQZ/vrUGbre4C3JgPJmfGRz\ntqjL7KfoAVr73HRGBmVG802d9A1eHOwhcw0iC4mkyXnMBnJRoQ+rtNjHEjbJ\noodc\r\n=5pDs\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","gitHead":"7656be6fcd6081f65c473a0a7ff319bd404c7fc8","scripts":{"dev":"echo \"Implement me!\"","lint":"eslint . --ext .js --cache","test":"NODE_ENV=testing mocha './test/**/*.test.js'","posttest":"yarn lint"},"_npmUser":{"name":"gargol","email":"nazargargol@gmail.com"},"repository":{"url":"https://github.com/TryGhost/Ghost-Utils/tree/master/packages/security","type":"git"},"_npmVersion":"lerna/3.22.1/node@v12.18.0+x64 (linux)","description":"## Install","directories":{},"_nodeVersion":"12.18.0","dependencies":{"lodash":"4.17.20","bcryptjs":"2.4.3","bluebird":"3.7.2","@tryghost/string":"0.1.13"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"8.2.1","sinon":"9.2.1","should":"13.2.3"},"_npmOperationalInternal":{"tmp":"tmp/security_0.2.1_1604551130036_0.11688359226336709","host":"s3://npm-registry-packages"}},"0.2.2":{"name":"@tryghost/security","version":"0.2.2","author":{"name":"Ghost Foundation"},"license":"MIT","_id":"@tryghost/security@0.2.2","maintainers":[{"name":"pauladamdavis","email":"paul@ghost.org"},{"name":"thibpat","email":"thibaut.patel@gmail.com"},{"name":"matthanley","email":"npmjs@matthanley.co.uk"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"daniellockyer","email":"hi@daniellockyer.com"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"gargol","email":"nazargargol@gmail.com"},{"name":"rishabhgrg","email":"rishabhgarg1992@gmail.com"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"}],"dist":{"shasum":"bc9dc558793aacd540f600634972953289a97a6f","tarball":"https://registry.npmjs.org/@tryghost/security/-/security-0.2.2.tgz","fileCount":9,"integrity":"sha512-I85OKCpTFhb1HxBsfom2Nzc15kcYHYhnwK0z3MKSBs6H0YVuphxbDBnOBkUIIh2dcBcYK0gqW/EgVbxpK6vUZg==","signatures":[{"sig":"MEUCIQDlM96VtIgiw4iLp5ws4m6OtI1140dPg+w9Bj/z/4UoKQIgK287awtrK//mI+SiYltmK8Hqa+LF/Wzb/4uh1NKWnHw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8408,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJftf/jCRA9TVsSAnZWagAAonMQAJsh+1ah9H837ySrymM0\n/Zy30fu3qSQLox2vANCva/f+CKOMGUl9OWrsDm8Z5YEgow6CNmqR/1Mplilc\ngRWTDEeEbmdByorP3EcZgyWZD1T6YARKGSEvnK1v+//Cfo4FBvBnZ8eA6nS1\nT+qfD3Zp8kmuWjcuyTgE7WMYqZFKLcL4h/NsUyCynAGdjHh8JTXaCob3m82M\nrix8Uh2elAOZK8gVDBA08zYV1UDfkmnxjC6601IDYkm6jHxMfSEWY7ZWs6aP\nVp3fVzW8llfa3txUODKniV1Yj+k4ClI2qcVrXCot1hIcmphwMXzyK7rexTkC\nKTyTcFYNO1xkp+Nh29C5fxMyv2tM/QKjDF/WyAkNpBHAyRrLQKfCKi+Pc4em\nZJoYbXmcugoqFix5Lg8EYwcJqHtRLmFjMRQHfOictRYguzoumMrftx+Vv/fc\nHoa/WorwYbYd4bXixuk4imb7kdNLx2yReHeQ0uCkRKLwG+hfhI3dCdNEoVro\n5csNQrQC49LoQzeAXLVmqXvv+zQ/R90TWSIYmmsNhjF99hvozG29ZPtdaffp\naN7QxwL6FSGLuVsCvzFIpkMkOH/cItntuPtLyGHfvjkJvdasZ9QeaaFOZfHn\n8fCcT2iUAuo+P3Hq/j36CUxl1YZiUA9woxMiJjuNE0njYDj5pGowvtir7IXv\nxP02\r\n=t42S\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","gitHead":"c5dcc25f59da9f73524b3faa29bb68a24f58beb3","scripts":{"dev":"echo \"Implement me!\"","lint":"eslint . --ext .js --cache","test":"NODE_ENV=testing mocha './test/**/*.test.js'","posttest":"yarn lint"},"_npmUser":{"name":"gargol","email":"nazargargol@gmail.com"},"repository":{"url":"https://github.com/TryGhost/Ghost-Utils/tree/master/packages/security","type":"git"},"_npmVersion":"lerna/3.22.1/node@v12.18.0+x64 (linux)","description":"## Install","directories":{},"_nodeVersion":"12.18.0","dependencies":{"lodash":"4.17.20","bcryptjs":"2.4.3","bluebird":"3.7.2","@tryghost/string":"0.1.14"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"8.2.1","sinon":"9.2.1","should":"13.2.3"},"_npmOperationalInternal":{"tmp":"tmp/security_0.2.2_1605763043146_0.7709838524674486","host":"s3://npm-registry-packages"}},"0.2.3":{"name":"@tryghost/security","version":"0.2.3","author":{"name":"Ghost Foundation"},"license":"MIT","_id":"@tryghost/security@0.2.3","maintainers":[{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"gargol","email":"nazargargol@gmail.com"},{"name":"rishabhgrg","email":"rishabhgarg1992@gmail.com"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"daniellockyer","email":"hi@daniellockyer.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"matthanley","email":"npmjs@matthanley.co.uk"},{"name":"thibpat","email":"thibaut.patel@gmail.com"},{"name":"pauladamdavis","email":"paul@ghost.org"}],"dist":{"shasum":"538daca7338275aaa53c82286fc804a3dabfc6b3","tarball":"https://registry.npmjs.org/@tryghost/security/-/security-0.2.3.tgz","fileCount":9,"integrity":"sha512-RYv6/H2O6DoGefJFhysZx3ZCjfXZxCz7C4sl+mLs9mk1MPQA/sqU28vVWMOI1Z1sHCfUnHF/T0SUrDGm2A/4Nw==","signatures":[{"sig":"MEUCIApEQDpz+R7RtQ81++ugBhkunBK4xIiGJv+xJLXFaeEpAiEAvTSXTV/e+YTni3TNZIHSsYjoQ9S/dtN5nhiCLCOzTF4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8408,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf1vALCRA9TVsSAnZWagAAzHAP/jblaF8POKzGKYinmqZq\nST1g7a9g+vw9hOTapdyylAg+HfuBthzQmTu7iyyQlxFyjpMYxlzpup28EPK1\n07/Y+S3xin2jhoaFjmuKcwi68MqkZFcKqzGGZ8WLbEbXoZJ7taR9aKeYKqqi\n2UzzrvuV3RCve5AyFaP0f1Xa1A62iz+iyjkoQ0Qkz4b5uXRSKnAb2eXtHq8o\nnbqyClDZEPx6Bxo3DxRd783OdQ4Pr/sI+ykoCRTK76KJrC4rT9rolD2UQ0zT\nBjobiSRPm+e2vX4UB98bY/1oX8q0m5UfCKe/9gTSnIYE8HrxovvLBrTyC2RU\noIJRzpXqEop7K8DkzgcyqZQw9mgU2R3PbqzUL/GqUVLZJL0pxfkCRV4nm9KV\n8M1Wly8rbvzGTRzFK7qPw2pTEIePEhKXI0wxCQRgoViuLBaMbuj973adLrk3\n9TpkTzbpCPlAAxwdCgOYtGSNkDQHTZHZ1h/A999X3UNNh7drvBP8iyZw5Hn1\necM9Gk5ld4SKxE4YwRtH8bDs9ldCeaBd8/HOGvDFX9uThCctQHS+BUuvw6qi\nQMQqV40jlh+bHOChjlTumLkHYRzVVZTXeOnJb0GygdSsl3Pyr6ecPlZbcLs1\neWD0oM017HYRH/Ht2UnP4fEHwqvvUgW85n2M6HcyzviT4LF9MUlTs4OKK6dy\nVuOC\r\n=mLyl\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","gitHead":"4ce452f7dc7236807979c5d309a64eef4cdc49f2","scripts":{"dev":"echo \"Implement me!\"","lint":"eslint . --ext .js --cache","test":"NODE_ENV=testing mocha './test/**/*.test.js'","posttest":"yarn lint"},"_npmUser":{"name":"gargol","email":"nazargargol@gmail.com"},"repository":{"url":"https://github.com/TryGhost/Ghost-Utils/tree/master/packages/security","type":"git"},"_npmVersion":"lerna/3.22.1/node@v10.23.0+x64 (linux)","description":"## Install","directories":{},"_nodeVersion":"10.23.0","dependencies":{"lodash":"4.17.20","bcryptjs":"2.4.3","bluebird":"3.7.2","@tryghost/string":"0.1.14"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"8.2.1","sinon":"9.2.2","should":"13.2.3"},"_npmOperationalInternal":{"tmp":"tmp/security_0.2.3_1607921674871_0.3046165114923005","host":"s3://npm-registry-packages"}},"0.2.4":{"name":"@tryghost/security","version":"0.2.4","author":{"name":"Ghost Foundation"},"license":"MIT","_id":"@tryghost/security@0.2.4","maintainers":[{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"gargol","email":"nazargargol@gmail.com"},{"name":"rishabhgrg","email":"rishabhgarg1992@gmail.com"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"daniellockyer","email":"hi@daniellockyer.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"matthanley","email":"npmjs@matthanley.co.uk"},{"name":"thibpat","email":"thibaut.patel@gmail.com"},{"name":"pauladamdavis","email":"paul@ghost.org"}],"dist":{"shasum":"e5400f7034d697b3397573b825883fb81c135224","tarball":"https://registry.npmjs.org/@tryghost/security/-/security-0.2.4.tgz","fileCount":9,"integrity":"sha512-g0EJd6r5fVHqpD6Ihz/l8qQFV1QQ6WionOMOZQDzk3I7Xy/2GyX+yx0ejimxN0zYafX64A60jLPxjyXYMk3TrA==","signatures":[{"sig":"MEUCIQCezmeuVfy7SZm+CBujXNrjL7jn01JU+3KnzmKv5TmehQIgPX8IWFTKu95ImfxT/EpdCZlTZsHJYl5vge2a5zTazBE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8402,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf/dHSCRA9TVsSAnZWagAAQAcP/iRj5iEfRE0aSRTZW0WM\nS9xe+01c9zndsnYQE4mCmzpTasvQ5KnYy9sYosRqqHmzr5M4cAwL43eeTz14\nE3+wAi2V0iuGI53jo5cLt0aBZktIs3UoUuu08uUn5qQXizFzT/TYbPXABrSH\nM/LpOiIwBi6JbmY41Fj6i2aRUZlvgzrf0zHF9yJwhLWrIoUQl4NvgSl6VV0b\nUNi3vzjoomtIcpWOctH+IPHHXKj4KmBia6OqeV7BE0ZT0Z6EkiY0HEREEQVA\nOclDQh/iOaW80r0sg9JT+/Fvoamu0VJznJwenohCU0srWFfz+AIY2Rqwf1Bv\nXVKWXyEUZAjNFCPDMECjFYi1C5DZBn3AKRXO8BKB6qyU4Bc49dxS9ymj2eg1\nUeQXgz6x/GOTmQxM5X2dGwtyCWcbs2+gk5y876DGIugFO9xCOr3FZJaN27kD\nnPVZhRQom//IRFYgXHw+0gzRWJWY4KqCi7LcfQ4QU4+U3Mz23yp97eNdHbSv\nD3vG+wO97UkZHjaxVKp3v3tpnLcZeOBT+oCqbW1cxwVCBsLL5caz0WqsSF85\nQg3nGBhMNT7dE4uUgtL9wSOGQLBGXNVTx4ak55Q2IHDnsLzhj+5dS5G6FHtO\nlqUVL1Q7fqWD/ld+Y5e1IF7YmMgU13bR0svJldpnrKRDFKZ82VAP24VV22dP\nPSgY\r\n=Tq4L\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","gitHead":"56dbfef6273d6ed531395e1908de836fdb7bff89","scripts":{"dev":"echo \"Implement me!\"","lint":"eslint . --ext .js --cache","test":"NODE_ENV=testing mocha './test/**/*.test.js'","posttest":"yarn lint"},"_npmUser":{"name":"daniellockyer","email":"hi@daniellockyer.com"},"repository":{"url":"https://github.com/TryGhost/Utils/tree/master/packages/security","type":"git"},"_npmVersion":"lerna/3.22.1/node@v12.18.0+x64 (linux)","description":"## Install","directories":{},"_nodeVersion":"12.18.0","dependencies":{"lodash":"4.17.20","bcryptjs":"2.4.3","bluebird":"3.7.2","@tryghost/string":"0.1.14"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"8.2.1","sinon":"9.2.3","should":"13.2.3"},"_npmOperationalInternal":{"tmp":"tmp/security_0.2.4_1610469841770_0.6238985539235804","host":"s3://npm-registry-packages"}},"0.2.5":{"name":"@tryghost/security","version":"0.2.5","author":{"name":"Ghost Foundation"},"license":"MIT","_id":"@tryghost/security@0.2.5","maintainers":[{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"gargol","email":"nazargargol@gmail.com"},{"name":"rishabhgrg","email":"rishabhgarg1992@gmail.com"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"daniellockyer","email":"hi@daniellockyer.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"matthanley","email":"npmjs@matthanley.co.uk"},{"name":"thibpat","email":"thibaut.patel@gmail.com"},{"name":"pauladamdavis","email":"paul@ghost.org"}],"dist":{"shasum":"4c7e9df5c09d13a8bf1d5713a3a898e2c70e6921","tarball":"https://registry.npmjs.org/@tryghost/security/-/security-0.2.5.tgz","fileCount":9,"integrity":"sha512-TCY3QOnIimAPBnWJ92YkBh3ATANvdBxNREOaerStrqkiTbMbV1MQep2LiPcCHNYe5lv4Dl3OywjZvwwlNz1eMQ==","signatures":[{"sig":"MEUCIQD3gaRI4umd6SwnmLv7f1IYFQ13rXmOQ8ZlMpqD9PitSQIgXKQjVEzwMIWTvy7cB2iTKX1xB/qa33Co2HBOcIGObPM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8407,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgInfxCRA9TVsSAnZWagAAdQYQAIXVyLsd3QPJHZscvXyx\ncQzsPB/OZn62wFDrqblX5e63wpeCjO9nZ9dEwysNQbQzTxriAutUTWdUwqld\nULIRyut0OuwzerTrfC0/xTGSFOeIO/Osv2s9QI2pfJAHAs3hhW+hmmIW+QqV\nsMVufee5yauwm1KjrIcskPa2dL9RDz7S8qS2PZGjercx20E1fTBQuwbwIFZW\nk8JzJTGryaCIgexnhBWqouJbr1uLfNrwRqhEEkDx3n68DAdt8Q+5yJdeHuNa\nm3yx3V81nzKr8FsgDM6OvzHR9X1PfLolJqVbFhOUHzJ5FpWvBAq4pVWwQqVj\nt6EqmjXBlBMnj5/Hzno1wppKdqMiAnlBHJL50sOnze+OAuDkFuHh7dlab52C\nKHk/NmWMN8VpfyQYwflcr6Cfu33omz7MOF4U8U775K6VLdS4jYjefA+vNv0I\nxyOWvPTLZgMN3HUpD3wWMLYEbf2q04KcViwkGz7fppI8H3ducLBKfmVoWsKE\nF8VY+z9ml3o2K6vvRHPnGHkbXRtQGmhjLvjUP/Kfor75yEhRipH3/gSVvB6j\nQ7hCa/ow2jIumjfdgN3NSr0IFqIbCayTEKvMLjj44W70NxJnNqIhaRefCP4c\n75RnJhFOHT6x8zunCr8Judb5g4CFeYEnvgzhAl3YgCMlv7vxQUj2V9hNQ+1X\n8rGk\r\n=vi51\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","gitHead":"7d0b859740607b380819f14510209ed2deb45016","scripts":{"dev":"echo \"Implement me!\"","lint":"eslint . --ext .js --cache","test":"NODE_ENV=testing mocha './test/**/*.test.js'","posttest":"yarn lint"},"_npmUser":{"name":"daniellockyer","email":"hi@daniellockyer.com"},"repository":{"url":"https://github.com/TryGhost/Utils/tree/master/packages/security","type":"git"},"_npmVersion":"lerna/3.22.1/node@v12.18.0+x64 (linux)","description":"## Install","directories":{},"_nodeVersion":"12.18.0","dependencies":{"lodash":"4.17.20","bcryptjs":"2.4.3","bluebird":"3.7.2","@tryghost/string":"0.1.14"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"8.2.1","sinon":"9.2.4","should":"13.2.3"},"_npmOperationalInternal":{"tmp":"tmp/security_0.2.5_1612871665461_0.5189325595937728","host":"s3://npm-registry-packages"}},"0.2.6":{"name":"@tryghost/security","version":"0.2.6","author":{"name":"Ghost Foundation"},"license":"MIT","_id":"@tryghost/security@0.2.6","maintainers":[{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"gargol","email":"nazargargol@gmail.com"},{"name":"rishabhgrg","email":"rishabhgarg1992@gmail.com"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"daniellockyer","email":"hi@daniellockyer.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"matthanley","email":"npmjs@matthanley.co.uk"},{"name":"thibpat","email":"thibaut.patel@gmail.com"},{"name":"pauladamdavis","email":"paul@ghost.org"}],"dist":{"shasum":"da4f4578b55db085c49c97dbdecf67f856b9fed1","tarball":"https://registry.npmjs.org/@tryghost/security/-/security-0.2.6.tgz","fileCount":9,"integrity":"sha512-MhswfsO+2utCD6R5qPeWbY9my7F01erxfmoejHIeK4Qc0Ijr4/fyOy8zGXu/EckgnST8+DG/npunTlF27yT6aw==","signatures":[{"sig":"MEUCICGZkzqIQw2ph+/KJIgxoayykN/whO6n4mhnVTSSXY0VAiEA4yJv/D+1O9Lw9rwoABEOtfne6NbQOSlU1xF6WdkQ8Kc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8407,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgM0xMCRA9TVsSAnZWagAA7FAP/1gd7aSiJFlDNMgCCyGl\nt5Nlvkz3bNEi4eGHyOVMIN5q3nujQe7PSm1PRZpp6Z5sHVE+Akkn48Y0EqBM\n6xR8a6FGmkqUQc19NRnfx+1fN2x8s+JlobAKPHL8juJQbx1BPHgai9EsH2Ae\nvAAQxNHtuXCIwIHfZRQE3/wznp8+EBYbBl3iJy5Y1uUadp3Ykur+EvsE6KrL\ncfVjboayGVUC5M9W5lsrt5xU5iMEFn+IpBXc/VMzX+pSaAeM9XExA+/0Gywm\njZW5PpV/Q8rqFN+kmijBz5Hd2d1nHGy2inaNgtJAJRr9V1CsHc5g6Aavk9et\nV7eWZnTsgwQTEi/zZrs+ti2lm8hdnJixez7RTCkuvUMyrbgOqmYEXqX0P8qO\nAhZatXXQiq1pRf40jMNmnx7aKaM4BOE9PxkHMyJiDOlC949dNgUBvApz1V9w\n6zw0esStWfS6/WQMxXTY9qfb0rbnkvslZG4XChNKTtO0hoiOP8fVMeH0NncO\nk6fEY7gfOamqammkGXkna2Uohbk/P62XIPWuQRgcd6XBsiiu2Na4tVtH15kd\nNFzn3CQDvy4XWl17qvxH7PLTI9YszfxxmL2D6SRGtDztFIr6HMAO68Fp1qkr\n2rHUZdmxGZKTFVfmEHNtt/z3E34focXUk0H5DmG4NTLdZ4HNdAQN8HRNEAjR\nM6i4\r\n=bxa7\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","gitHead":"ef5ffeecb900a817ff0b2bce10f411b85b4b8a7d","scripts":{"dev":"echo \"Implement me!\"","lint":"eslint . --ext .js --cache","test":"NODE_ENV=testing mocha './test/**/*.test.js'","posttest":"yarn lint"},"_npmUser":{"name":"gargol","email":"nazargargol@gmail.com"},"repository":{"url":"https://github.com/TryGhost/Utils/tree/master/packages/security","type":"git"},"_npmVersion":"lerna/3.22.1/node@v12.20.0+x64 (linux)","description":"## Install","directories":{},"_nodeVersion":"12.20.0","dependencies":{"lodash":"4.17.20","bcryptjs":"2.4.3","bluebird":"3.7.2","@tryghost/string":"0.1.14"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"8.3.0","sinon":"9.2.4","should":"13.2.3"},"_npmOperationalInternal":{"tmp":"tmp/security_0.2.6_1613974603981_0.6854278937135796","host":"s3://npm-registry-packages"}},"0.2.7":{"name":"@tryghost/security","version":"0.2.7","author":{"name":"Ghost Foundation"},"license":"MIT","_id":"@tryghost/security@0.2.7","maintainers":[{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"gargol","email":"nazargargol@gmail.com"},{"name":"rishabhgrg","email":"rishabhgarg1992@gmail.com"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"daniellockyer","email":"hi@daniellockyer.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"matthanley","email":"npmjs@matthanley.co.uk"},{"name":"thibpat","email":"thibaut.patel@gmail.com"},{"name":"pauladamdavis","email":"paul@ghost.org"}],"dist":{"shasum":"425155ed797146ba784822e512d6c1d116e48721","tarball":"https://registry.npmjs.org/@tryghost/security/-/security-0.2.7.tgz","fileCount":9,"integrity":"sha512-EWPKv6huVUXAn5F1wfgH8Q0c1EyMF2cuU7XZKfbvJXY8aBZRnSlKp8CZEBVhBViKKsaQI6Fx4NlBdCZwQsQZOg==","signatures":[{"sig":"MEUCIGz1KmxJ5cMQt5ha8FoS7eMEUXKFOJR5b165/w+wce34AiEAuMBsTRo+6AiT15WTaK77JBOm3WWH4/uIVXMb6ssb4uc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8408,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgbQ9FCRA9TVsSAnZWagAAqoUP/iZWrtyU75/o/IA21ElX\naODuulJqkbJJmDOMQ9TUJ3m9nL87DCBVF9JGheOuQzGUIqddays9BhXuZqty\nZ3T13mATaI5SB1WA5xkYntHnHFJkpuXKQnu94OWXlKSvSKCg4/PBIEr34mvH\nL89TDuEPWu7zNWaGbLsPZdTZV/78sSVYUjLJisWVtQbYV4zW/jXIn2Fynd49\nNEPI7oFK3yQdsCbzRisX0rgLLE9bOtO6Sm93kkXRpaAMTtEeE36UPlGeieQI\nDDde5KQgEbu7Il76dcC9MQGH1BAQl/O3yEZYts4C9ArzYRK5MoDW9dxho79Y\nnPM76YiMrsOwkxxFJbNp08HIOF2PkDd2COKrK0YDDrDHWlfv9WxugU8Fcm8s\n/zo+cjxUqBGUfYC8H3X8dPvHLvStVpORU2DxDdMfqVuWBUW+onJaZaNuu/Ji\nW6B8QvF8nasuOs82YgyX6ftG3wUCVly4zoFXUU9Y5v39Mjy54rYhlx6MA6BO\noO7kdGwmrBhOTrBLfhD7xuuWPKPVoPQaMdyMOPED4Oj+HUv3mtlVf0LvKDCM\nltgTSBSi84v5ax57R2AC2MnBrd52MxZwvmdzzxS2G3ReQdk0WUXUSIpBxT1P\n2hKiY/3voRjwjVdd9BUM1Gt1f4MrdHv5nE6o+GiuaNpFgUaqKr9MbWQ5IWK0\nvNJ6\r\n=HuzL\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","gitHead":"5e718a9e00749297415ac1331a1a7d5dd3da8248","scripts":{"dev":"echo \"Implement me!\"","lint":"eslint . --ext .js --cache","test":"NODE_ENV=testing mocha './test/**/*.test.js'","posttest":"yarn lint"},"_npmUser":{"name":"gargol","email":"nazargargol@gmail.com"},"repository":{"url":"https://github.com/TryGhost/Utils/tree/master/packages/security","type":"git"},"_npmVersion":"lerna/4.0.0/node@v14.16.0+x64 (linux)","description":"## Install","directories":{},"_nodeVersion":"14.16.0","dependencies":{"lodash":"4.17.21","bcryptjs":"2.4.3","bluebird":"3.7.2","@tryghost/string":"0.1.14"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"8.3.2","sinon":"10.0.0","should":"13.2.3"},"_npmOperationalInternal":{"tmp":"tmp/security_0.2.7_1617760069279_0.09735259953771136","host":"s3://npm-registry-packages"}},"0.2.8":{"name":"@tryghost/security","version":"0.2.8","author":{"name":"Ghost Foundation"},"license":"MIT","_id":"@tryghost/security@0.2.8","maintainers":[{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"gargol","email":"nazargargol@gmail.com"},{"name":"rishabhgrg","email":"rishabhgarg1992@gmail.com"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"daniellockyer","email":"hi@daniellockyer.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"matthanley","email":"npmjs@matthanley.co.uk"},{"name":"thibpat","email":"thibaut.patel@gmail.com"},{"name":"pauladamdavis","email":"paul@ghost.org"}],"dist":{"shasum":"9a979a1ddd839ac6b5804439a87de88af23c7bc7","tarball":"https://registry.npmjs.org/@tryghost/security/-/security-0.2.8.tgz","fileCount":9,"integrity":"sha512-NN31s4YhLhb6sX94kzk8DhEYf1ZggQBhXEq0sBxlmWE4x6gLskK6NNDnolgKv5u6TktD2oYeZjDcB2o8J2KMig==","signatures":[{"sig":"MEQCIAKAKaBDsZCSCkzFv5TdnL7SaMGVMhT0paK0uOQh932CAiAxHjuJGVCYUrIi+SQbf/h4Oq2gaGwpgS0k6oTAksUyww==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8412,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgfUy0CRA9TVsSAnZWagAAPSkP/3u3eISWpfxM+pAJber3\nhATmJRovuTwu0uQtVUKPIOBVMl8Tw9zAl53bQenaUu8TEY/SQm6FGu5IHqB5\nwdOM61TtWpSRrJaM6U4FZGkylAAu1KWMl0KX4hG5HAJqLe40DpDHx8/MC9Oi\nBpH6Py6wcAlvi9vL5bv8FzKEE7kUlpK6NwUhmmrvZZ/tMFa74B8ad3uDfpgM\n1QJVj816Z0p26SP8mlmeANRlq8/OARWXDBtflBr5LSqSA+ZW8TuLiaHoxXg6\nhAGqZZjEyR9emuovD6pdjl/in6Q2VMbtrZN5ZJRegEJiKdYKLzBrR8qNp2Kl\nKdYoqPROUPaMeZ4LkZme435lcvDuy2P7xPLUE7HB3NlwYf7HrmGPgn7uZbzE\nYPyNYtduye5sNNm2H5bWsLJqynmAqpqbkIi/BQnXjK8PoxOwFx5dTYod+len\nAzZT57AEulWMomaaBY2kG2Yod2YcLuLIH10auv9QN99hwAvTEPF8yDZ1fq0t\n1pkwKGa67GTGOWO4bSTthMwpyZaWDymtlaBmrpWQI8enI+7SKY59yk+E5kxG\nfmFVE8QbHqSeW19mwWp6JWqe85WoDoKuGH89xbos1SSvDJwFQNYmeS78b8Hy\ncbDDjJApGwc9svZZ2vnLNdrysDDTZPSq3CK7DwW0L4ED1Y0XMpRsGjSkjY/G\n2W3F\r\n=PrhH\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","gitHead":"98d92c3a2796b3c2706f088982f79255f96296a5","scripts":{"dev":"echo \"Implement me!\"","lint":"eslint . --ext .js --cache","test":"NODE_ENV=testing mocha './test/**/*.test.js'","posttest":"yarn lint"},"_npmUser":{"name":"daniellockyer","email":"hi@daniellockyer.com"},"repository":{"url":"https://github.com/TryGhost/Utils/tree/master/packages/security","type":"git"},"_npmVersion":"lerna/4.0.0/node@v14.16.0+x64 (linux)","description":"## Install","directories":{},"_nodeVersion":"14.16.0","dependencies":{"lodash":"^4.17.21","bcryptjs":"^2.4.3","bluebird":"^3.7.2","@tryghost/string":"^0.1.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"8.3.2","sinon":"10.0.0","should":"13.2.3"},"_npmOperationalInternal":{"tmp":"tmp/security_0.2.8_1618824371880_0.16150034446564288","host":"s3://npm-registry-packages"}},"0.2.9":{"name":"@tryghost/security","version":"0.2.9","author":{"name":"Ghost Foundation"},"license":"MIT","_id":"@tryghost/security@0.2.9","maintainers":[{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"gargol","email":"nazargargol@gmail.com"},{"name":"rishabhgrg","email":"rishabhgarg1992@gmail.com"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"daniellockyer","email":"hi@daniellockyer.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"matthanley","email":"npmjs@matthanley.co.uk"},{"name":"thibpat","email":"thibaut.patel@gmail.com"},{"name":"pauladamdavis","email":"paul@ghost.org"}],"homepage":"https://github.com/TryGhost/Utils/tree/master#readme","bugs":{"url":"https://github.com/TryGhost/Utils/issues"},"dist":{"shasum":"1bc323b22774c122c54a1b43a2594cdc88feba71","tarball":"https://registry.npmjs.org/@tryghost/security/-/security-0.2.9.tgz","fileCount":9,"integrity":"sha512-qryZ1le9YbbffCQFmcLKyNvIKRwVRezO4DDipoeEdBNtq/SXRU2wo8PtF991R7iZtudFGdMwz62eKcbqNdC+Ng==","signatures":[{"sig":"MEYCIQDGyL0/ZGEDlkl5wd8fo/PvKOkicZQz27Edru6VtAv+rwIhAO/W1qvw4VU4IqZVeMwhvn80Nbte6e3K23UBBHh9YNTq","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8412,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgwKGfCRA9TVsSAnZWagAAY24P/0qCyEvlZJGAGtMOkoRB\nLIba5uTMpqquIjGMastDvyWk+oKl4Yy13q/5Ez6/4obQzdtAADSjVDJKMY5h\nUGSaKCi23JOYdEH4jROp87gLHtMwWyPJnhA8gMbcup9wejqQiIeb86TvznN2\nfQ1uGWzxl0bhBeb1CuDXvH7E1gWnNNygzZtA+v4U78/wnJl0t7Zl8sKHsjcP\n5HMutKBsiDojpd3xclqpSQGW+TRAQCG3PLuoBDG/Y+0MmVgFR+0rl/8aoLsw\nlv0HWzhBJwApUPMq8v0nOvMKrMURbT2sOxOpZ8Ec/iZ3bnnO9TNiNyh54sdD\nXfW6UJ3CeydC6FVPMzwZdE//smR2nWMvzDwKH4QLWZNxEOPxx7O6ehJM68Ry\nOTfU/jwfRjorAh3C1Lxf6IedbGOYcGZtxku53IaXBp2qVoE/I4zlqD5Cidgl\nPeAJIBAVgyPwm3Khe7e/xhsZ7M6FER/lBVcoN0n7ZCSdPr+nUUg2Ypje+x8w\nGeaKU922Rzrm6LP4z7ksuKp96KO+LOjyAhaLUfSfwuU+r6E+mp0hHSTrjXWC\nPz6sDKvjJt2zA56fszICqrlLufc0C6cZAytALGhS4SMLh8rEauW52iWCnK8b\n+6XBZP4jfO4uN/jZ5jEAryv/sZmFleE+Tl/2C+8+IwPw2nirueG93xZkOYBQ\ng1lG\r\n=HPfu\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","gitHead":"58aee93218b7cb98a75216704f0568cf1025231a","scripts":{"dev":"echo \"Implement me!\"","lint":"eslint . --ext .js --cache","test":"NODE_ENV=testing mocha './test/**/*.test.js'","posttest":"yarn lint"},"_npmUser":{"name":"erisds","email":"github.erisds@gmail.com"},"repository":{"url":"git+https://github.com/TryGhost/Utils.git#master","type":"git"},"_npmVersion":"lerna/4.0.0/node@v14.16.1+x64 (darwin)","description":"## Install","directories":{},"_nodeVersion":"14.16.1","dependencies":{"lodash":"^4.17.21","bcryptjs":"^2.4.3","bluebird":"^3.7.2","@tryghost/string":"^0.1.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"9.0.0","sinon":"11.0.0","should":"13.2.3"},"_npmOperationalInternal":{"tmp":"tmp/security_0.2.9_1623237023220_0.5110676367045164","host":"s3://npm-registry-packages"}},"0.2.10":{"name":"@tryghost/security","version":"0.2.10","author":{"name":"Ghost Foundation"},"license":"MIT","_id":"@tryghost/security@0.2.10","maintainers":[{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"gargol","email":"nazargargol@gmail.com"},{"name":"rishabhgrg","email":"rishabhgarg1992@gmail.com"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"daniellockyer","email":"hi@daniellockyer.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"matthanley","email":"npmjs@matthanley.co.uk"},{"name":"thibpat","email":"thibaut.patel@gmail.com"},{"name":"pauladamdavis","email":"paul@ghost.org"}],"homepage":"https://github.com/TryGhost/Utils/tree/master#readme","bugs":{"url":"https://github.com/TryGhost/Utils/issues"},"dist":{"shasum":"8547b371abfc97cccdc59d955f1826da6d50dd0c","tarball":"https://registry.npmjs.org/@tryghost/security/-/security-0.2.10.tgz","fileCount":9,"integrity":"sha512-N2Coe2ohxD8MUhrLjlQ32frZ3kg1zdjEn0KgKNNW5LMOrwnRBIJJgDN5+FqE9vghukwDJ4AOgPrWuwPwzEcaUw==","signatures":[{"sig":"MEYCIQCs96pycGKl7b+Z2jbspiVJl3ga89ur3A2Xb9u5zJ9rcQIhAOoNPPwoJSURg1FiUsqcTsWbMN9wa53cyeXQFLNb69Ht","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8435},"main":"index.js","gitHead":"9545d13a14c1b0ac70cd80ee111f66f642eb0a4d","scripts":{"dev":"echo \"Implement me!\"","lint":"eslint . --ext .js --cache","test":"NODE_ENV=testing c8 mocha './test/**/*.test.js'","posttest":"yarn lint"},"_npmUser":{"name":"gargol","email":"nazargargol@gmail.com"},"repository":{"url":"git+https://github.com/TryGhost/Utils.git#master","type":"git"},"_npmVersion":"lerna/4.0.0/node@v14.16.1+x64 (linux)","description":"## Install","directories":{},"_nodeVersion":"14.16.1","dependencies":{"lodash":"^4.17.21","bcryptjs":"^2.4.3","bluebird":"^3.7.2","@tryghost/string":"^0.1.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.9.0","mocha":"9.0.0","sinon":"11.0.0","should":"13.2.3"},"_npmOperationalInternal":{"tmp":"tmp/security_0.2.10_1632304798675_0.560747605436797","host":"s3://npm-registry-packages"}},"0.2.11":{"name":"@tryghost/security","version":"0.2.11","author":{"name":"Ghost Foundation"},"license":"MIT","_id":"@tryghost/security@0.2.11","maintainers":[{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"gargol","email":"nazargargol@gmail.com"},{"name":"rishabhgrg","email":"rishabhgarg1992@gmail.com"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"daniellockyer","email":"hi@daniellockyer.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"matthanley","email":"npmjs@matthanley.co.uk"},{"name":"thibpat","email":"thibaut.patel@gmail.com"},{"name":"pauladamdavis","email":"paul@ghost.org"}],"homepage":"https://github.com/TryGhost/Utils/tree/master#readme","bugs":{"url":"https://github.com/TryGhost/Utils/issues"},"dist":{"shasum":"a2380c3dd3abefb207c4f1f75c614d17a92a6cb9","tarball":"https://registry.npmjs.org/@tryghost/security/-/security-0.2.11.tgz","fileCount":9,"integrity":"sha512-qoW4ABWOw2OhfE0wCIFQbBIgjbVnsvTOGDUfylofzYpSqe130Vec8aStr96Sgh1beiTnHtMhSjnRBxl9eKdycQ==","signatures":[{"sig":"MEUCIQCfqs9claVMvDEZg/Jg4YfGMwXKft9Rv0St/kiA3MQjlgIgXjUZK7LCIcRAk5GeukoJzghSXM1WioEWdfCtGBjP74Q=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8435},"main":"index.js","gitHead":"9bdfa67ecfbee6666553845d4887d616abb87029","scripts":{"dev":"echo \"Implement me!\"","lint":"eslint . --ext .js --cache","test":"NODE_ENV=testing c8 mocha './test/**/*.test.js'","posttest":"yarn lint"},"_npmUser":{"name":"gargol","email":"nazargargol@gmail.com"},"repository":{"url":"git+https://github.com/TryGhost/Utils.git#master","type":"git"},"_npmVersion":"lerna/4.0.0/node@v14.16.1+x64 (linux)","description":"## Install","directories":{},"_nodeVersion":"14.16.1","dependencies":{"lodash":"^4.17.21","bcryptjs":"^2.4.3","bluebird":"^3.7.2","@tryghost/string":"^0.1.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.9.0","mocha":"9.1.2","sinon":"11.1.2","should":"13.2.3"},"_npmOperationalInternal":{"tmp":"tmp/security_0.2.11_1633022652899_0.9222182105989214","host":"s3://npm-registry-packages"}},"0.2.12":{"name":"@tryghost/security","version":"0.2.12","author":{"name":"Ghost Foundation"},"license":"MIT","_id":"@tryghost/security@0.2.12","maintainers":[{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"gargol","email":"nazargargol@gmail.com"},{"name":"rishabhgrg","email":"rishabhgarg1992@gmail.com"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"daniellockyer","email":"hi@daniellockyer.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"matthanley","email":"npmjs@matthanley.co.uk"},{"name":"thibpat","email":"thibaut.patel@gmail.com"},{"name":"pauladamdavis","email":"paul@ghost.org"}],"homepage":"https://github.com/TryGhost/Utils/tree/main#readme","bugs":{"url":"https://github.com/TryGhost/Utils/issues"},"dist":{"shasum":"73637fa47f922320289a111c48d89f78a72bf568","tarball":"https://registry.npmjs.org/@tryghost/security/-/security-0.2.12.tgz","fileCount":9,"integrity":"sha512-hQRfKL1cA32Dts5nBHUZMZYQQsGuXiROqsYVx//nL8noDnzcIaGpw5owwoEEp4fnaoA9GItiNVBwQx9iiwwedg==","signatures":[{"sig":"MEUCIH6KpN/+b3Z031Jy61JK09deEGLppH6vbUl2buiu2caWAiEA9/b7D4+tp4sOnrHJgY6fUlYV+bK5INnE9A2CtKljhFc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8433},"main":"index.js","gitHead":"a88c5e82f900a7df2d03c2e07d14ec9b5c59dde1","scripts":{"dev":"echo \"Implement me!\"","lint":"eslint . --ext .js --cache","test":"NODE_ENV=testing c8 mocha './test/**/*.test.js'","posttest":"yarn lint"},"_npmUser":{"name":"daniellockyer","email":"hi@daniellockyer.com"},"repository":{"url":"git+https://github.com/TryGhost/Utils.git#main","type":"git"},"_npmVersion":"lerna/4.0.0/node@v14.16.1+x64 (linux)","description":"## Install","directories":{},"_nodeVersion":"14.16.1","dependencies":{"lodash":"^4.17.21","bcryptjs":"^2.4.3","bluebird":"^3.7.2","@tryghost/string":"^0.1.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.9.0","mocha":"9.1.2","sinon":"11.1.2","should":"13.2.3"},"_npmOperationalInternal":{"tmp":"tmp/security_0.2.12_1633103845091_0.7322985053620634","host":"s3://npm-registry-packages"}},"0.2.13":{"name":"@tryghost/security","version":"0.2.13","author":{"name":"Ghost Foundation"},"license":"MIT","_id":"@tryghost/security@0.2.13","maintainers":[{"name":"bobvaneck","email":"bobvaneck@gmail.com"},{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"gargol","email":"nazargargol@gmail.com"},{"name":"rishabhgrg","email":"rishabhgarg1992@gmail.com"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"daniellockyer","email":"hi@daniellockyer.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"matthanley","email":"npmjs@matthanley.co.uk"},{"name":"thibpat","email":"thibaut.patel@gmail.com"},{"name":"pauladamdavis","email":"paul@ghost.org"}],"homepage":"https://github.com/TryGhost/Utils/tree/main#readme","bugs":{"url":"https://github.com/TryGhost/Utils/issues"},"dist":{"shasum":"dcf190fbd5a7af6a604a12387d4ed430cc021d76","tarball":"https://registry.npmjs.org/@tryghost/security/-/security-0.2.13.tgz","fileCount":9,"integrity":"sha512-Zwryhf4s+3riPOfEe0nbaIQ2aEMA8SjKmZZWEUKhLKVU38F9cAVt+Z24aaFYbf95LuSM+DH/uWMBQEGEfMsT7w==","signatures":[{"sig":"MEUCIQCJYfPaFG03jAWgkOJ2bbIwooL7sKYTLf7RAnPCmau/yAIgPZZiGD1F1XcN7szrJRr2v4XPlDZQxg9JFCkX6+x+ihU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8471},"main":"index.js","gitHead":"6f0646450de6e72d3542812ed028f71cd7e38ccf","scripts":{"dev":"echo \"Implement me!\"","lint":"eslint . --ext .js --cache","test":"NODE_ENV=testing c8 --reporter text --reporter cobertura mocha './test/**/*.test.js'","posttest":"yarn lint"},"_npmUser":{"name":"gargol","email":"nazargargol@gmail.com"},"repository":{"url":"git+https://github.com/TryGhost/Utils.git#main","type":"git"},"_npmVersion":"lerna/4.0.0/node@v14.16.1+x64 (linux)","description":"## Install","directories":{},"_nodeVersion":"14.16.1","dependencies":{"lodash":"^4.17.21","bcryptjs":"^2.4.3","bluebird":"^3.7.2","@tryghost/string":"^0.1.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.10.0","mocha":"9.1.3","sinon":"11.1.2","should":"13.2.3"},"_npmOperationalInternal":{"tmp":"tmp/security_0.2.13_1634904118723_0.7417961755397042","host":"s3://npm-registry-packages"}},"0.2.14":{"name":"@tryghost/security","version":"0.2.14","author":{"name":"Ghost Foundation"},"license":"MIT","_id":"@tryghost/security@0.2.14","maintainers":[{"name":"sanne-san","email":"sanne@ghost.org"},{"name":"djordjevlais","email":"djordje@ghost.org"},{"name":"bobvaneck","email":"bobvaneck@gmail.com"},{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"gargol","email":"nazargargol@gmail.com"},{"name":"rishabhgrg","email":"rishabhgarg1992@gmail.com"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"daniellockyer","email":"hi@daniellockyer.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"matthanley","email":"npmjs@matthanley.co.uk"},{"name":"thibpat","email":"thibaut.patel@gmail.com"},{"name":"pauladamdavis","email":"paul@ghost.org"}],"homepage":"https://github.com/TryGhost/Utils/tree/main#readme","bugs":{"url":"https://github.com/TryGhost/Utils/issues"},"dist":{"shasum":"9928992166b0a27294d2907be6cae3b6eeea53ab","tarball":"https://registry.npmjs.org/@tryghost/security/-/security-0.2.14.tgz","fileCount":9,"integrity":"sha512-bwUbAro5IZ5qzk6FdM4OZVfGSP1XYmEz8ElNJVMDL5TNRWTzDee1DXHCDNabgT/DE2fraEqqlmuPoYu5QsGHmQ==","signatures":[{"sig":"MEQCIHsxk2GhMReiDie3BNrPb6dwX9bgbxZxXwBhAw6CrQKlAiB8dzrSrbmt2cxjxJ16j2f5Jn2iIBFuSmeRwWwuu0cIqg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8471,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh5oOICRA9TVsSAnZWagAAhRkP/RO3TGQ2yaqXPXIVdwSN\nuKucvdkprrVc2nr1vsPZUOhDX6hSbTKRqX+MXoeprUs95pC118RZDbBJJNKF\nrvm3NEh/oWu6EujGuebsIZrtTVX9w7CLjXwdKPlvQ/jjXDYZqTZ3oahaB/j6\n3fAQ8eEQn92xnzontz4X83dIGHKx5YmjshLgJ2ZtGZ+1DZbc0URme5JNO8Et\n2C1LTMDbqWWfat08yQpiVYKdIobYfh57//0cZgNIJ9tYhMMOwqkq+OL8xOxs\n6+ooQZXvt7GcjMZ9x1FxCIZE1ajQBYeTbAyq5r9HNzfXeN/QSF5Nv8IDp12T\nsVVFadiOBxlHX7UF4nltj7PwCwSUEUhnM9TGaryGiBTiu6KGtB+ybvP6+87n\nPGtpGUOO888zXgAtTVwX7mDT+oDfgAwATkSZ+s67gVV27d9nrlpLi16+MB0Y\n30BMPtg10cyW73R7gtPXMt4R+LtqpwiuULBBTSMZYyHWVXtDtLY5iq+C9VB1\ntdSL0Uxrbe8H6FrN4UrkBhbyxdnFB6hsj1Sgtljkdm2aPtuBVx4kft8jwVfd\no/z6CWtf5ST5rDFYiQIQadEPv6DC4iOuGtr+X21aGxH+hEfwyNjjdrzUFziW\nlSy2HtAABpgvGatbO1fubFI7MRJ7by2pdCk4HAIseVz7RdJ8n8hV9wMfSWx2\nA9sd\r\n=Pcxa\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","gitHead":"d9374c7c0a1bd92f53b4bf330797a890cdae7e6d","scripts":{"dev":"echo \"Implement me!\"","lint":"eslint . --ext .js --cache","test":"NODE_ENV=testing c8 --reporter text --reporter cobertura mocha './test/**/*.test.js'","posttest":"yarn lint"},"_npmUser":{"name":"daniellockyer","email":"hi@daniellockyer.com"},"repository":{"url":"git+https://github.com/TryGhost/Utils.git#main","type":"git"},"_npmVersion":"lerna/4.0.0/node@v14.18.2+x64 (darwin)","description":"## Install","directories":{},"_nodeVersion":"14.18.2","dependencies":{"lodash":"^4.17.21","bcryptjs":"^2.4.3","bluebird":"^3.7.2","@tryghost/string":"^0.1.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.11.0","mocha":"9.1.3","sinon":"11.1.2","should":"13.2.3"},"_npmOperationalInternal":{"tmp":"tmp/security_0.2.14_1642496904750_0.15241683225587566","host":"s3://npm-registry-packages"}},"0.2.15":{"name":"@tryghost/security","version":"0.2.15","author":{"name":"Ghost Foundation"},"license":"MIT","_id":"@tryghost/security@0.2.15","maintainers":[{"name":"simonbackx","email":"hi@simonbackx.com"},{"name":"moreofmorris","email":"moreofmorris@gmail.com"},{"name":"joeegrigg","email":"account@joegrigg.com"},{"name":"sanne-san","email":"sanne@ghost.org"},{"name":"djordjevlais","email":"djordje@ghost.org"},{"name":"bobvaneck","email":"bobvaneck@gmail.com"},{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"gargol","email":"nazargargol@gmail.com"},{"name":"rishabhgrg","email":"rishabhgarg1992@gmail.com"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"daniellockyer","email":"hi@daniellockyer.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"matthanley","email":"npmjs@matthanley.co.uk"},{"name":"thibpat","email":"thibaut.patel@gmail.com"},{"name":"pauladamdavis","email":"paul@ghost.org"}],"homepage":"https://github.com/TryGhost/Utils/tree/main#readme","bugs":{"url":"https://github.com/TryGhost/Utils/issues"},"dist":{"shasum":"b8483905516f50dd6ed1c36efb27a5633eae7fa1","tarball":"https://registry.npmjs.org/@tryghost/security/-/security-0.2.15.tgz","fileCount":9,"integrity":"sha512-38wJ8QneMKw0r4vtq/wcN78YlxEYSMN1EF2tZQE8kfIkzFLQpIgVcs5kh3I2xOIvqLhVaTmgw2HKQEmuGfTGvQ==","signatures":[{"sig":"MEUCIHCY7K2tkfcQL9jmfgzMgML+5S/eqY2CDUxI6knPUmx7AiEA04f0OvtW/hnMR4lxfVCCuVKkvyQsPIb9I9Y3ptDRy6E=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8477,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiHc4OACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq+8g/+OPIx01dz/cN34snlInHVR39ltiecRMfX35s9ONAqKd3stbAZ\r\nPBoRokxkuPNhWNEzA1hdqH51mo36HhUZaKiwq0aw0bYn5TZzSS+A2emPi1u+\r\n6le5T+fS7oP+iE7WFVanNFKvc4nBovrWNZV8em6H7LeAJtfncUDBbv/rTJdZ\r\n7KMlhQL6fpvN1wJvpR+a8c4H/JoT7LEwA1gkMjnH/S1DRHy0pSR86r61zwlo\r\nb7/JnqkW7zFrhl6Pu/YT/EVMEzz8lSELKEF+DqRBDRW/JvxGN+g/U6+jDMWY\r\nzQtAalTyeub7yS7xgAlY4lUOdHAQbk/Y35EGzOMC1126UQlw/okR0oGzGoBk\r\ndmFLcdUrlkJl6r0HhBbXqQMtE13nk75gszWCQxhbFksi3b1oKAuGGdiVWcDP\r\njfFjnaW0ZPiT3IPgysqbCvD8DHHFXd//+Bb6hXOAM4h6kYFDbkEtX+XnDZBQ\r\ngWjlmXlPuh4Va51ZVEGc9TXk9EZJ/yv/ccWRYARb+GxaYbsq/7KXB5GjAmpy\r\ngGbl6SggwZZxGycVuwXQdwdkCtRvppLSeICJSQ19pwmRaLvzQff4CLh740S5\r\npwa87hj2HHlaqKYBaMdRbWIF/iFX6OvN9L9oSz95OSg0w6aAuShF1V8ij2VE\r\ndf1MItYF3DGn5uPTE+4x37Pi8ntJW+V85W0=\r\n=Poe5\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","gitHead":"66b978f9e41829822d5406699b7f67275606e2a2","scripts":{"dev":"echo \"Implement me!\"","lint":"eslint . --ext .js --cache","test":"NODE_ENV=testing c8 --all --reporter text --reporter cobertura mocha './test/**/*.test.js'","posttest":"yarn lint"},"_npmUser":{"name":"daniellockyer","email":"hi@daniellockyer.com"},"repository":{"url":"git+https://github.com/TryGhost/Utils.git#main","type":"git"},"_npmVersion":"lerna/4.0.0/node@v16.14.0+x64 (darwin)","description":"## Install","directories":{},"_nodeVersion":"16.14.0","dependencies":{"lodash":"^4.17.21","bcryptjs":"^2.4.3","bluebird":"^3.7.2","@tryghost/string":"^0.1.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.11.0","mocha":"9.1.3","sinon":"11.1.2","should":"13.2.3"},"_npmOperationalInternal":{"tmp":"tmp/security_0.2.15_1646120462401_0.770015365703572","host":"s3://npm-registry-packages"}},"0.2.16":{"name":"@tryghost/security","version":"0.2.16","author":{"name":"Ghost Foundation"},"license":"MIT","_id":"@tryghost/security@0.2.16","maintainers":[{"name":"simonbackx","email":"hi@simonbackx.com"},{"name":"moreofmorris","email":"moreofmorris@gmail.com"},{"name":"joeegrigg","email":"account@joegrigg.com"},{"name":"sanne-san","email":"sanne@ghost.org"},{"name":"djordjevlais","email":"djordje@ghost.org"},{"name":"bobvaneck","email":"bobvaneck@gmail.com"},{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"gargol","email":"nazargargol@gmail.com"},{"name":"rishabhgrg","email":"rishabhgarg1992@gmail.com"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"daniellockyer","email":"hi@daniellockyer.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"matthanley","email":"npmjs@matthanley.co.uk"},{"name":"thibpat","email":"thibaut.patel@gmail.com"},{"name":"pauladamdavis","email":"paul@ghost.org"}],"homepage":"https://github.com/TryGhost/Utils/tree/main#readme","bugs":{"url":"https://github.com/TryGhost/Utils/issues"},"dist":{"shasum":"7d2f12990d4c07437c684a510e4a5bc74e3b37da","tarball":"https://registry.npmjs.org/@tryghost/security/-/security-0.2.16.tgz","fileCount":9,"integrity":"sha512-Z+SVwOCXRcsOtZYppt+GR6FLbCL4VKoM6I5stwu3+zl2BrkceGSAxslm16RIlvjG/VjK5qUARnm7bqNfd9KKiA==","signatures":[{"sig":"MEUCIAOtE6qnAlKq42HTwZ/czAp3TIA/hoVt3IlulxSEgBuOAiEA/N8l+FN0EqkKT11fSrKHP4BMqHPxCw7evor4+hAl3Vs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8477,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiYVUTACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrU3w//ezwJsQ9myQL71hj7+RPdrjU2LbD5k32OA+kdWIAdKzAgMohT\r\nUuTvYuSa3BvdshLawP0lnaMIV7rpMdH5jQhivlTZE5khAzF/3x4SvnhMGUWx\r\nQNkBrX2m+0Uzw/M5pehIOK+5YQG8Z2QxJ907IDUYhWdricRlFFg9+m0Bk3uk\r\nZjotWotAAR5NRWn25/3VERqDEoB9Zp7SQDHEIpDnh1MwDoefbRmNnl5+RvpW\r\nDMax0vP9I5Mlc3Pljr7dQYhcT33BJT2sv+S/f7z0CdeGfeTY2HYxThkrDPX2\r\nI7Gcn50HERVOA0r5fztaVKgCPzyXVTbICipx2RRzVcGIuMQSzX3PpesyirFh\r\nSaGvE/9lDJFiOHVURagwNjUt7eHRaKIRMxLx7grxl4jTn6eLreT1ykqbtBYD\r\n+Og0YEb6oJnO+kPTy3AcaJhVgYk5Q21VSdTweCt/lwjl3R0srMrEPnw7rGP5\r\nKFLSuGZmZQM2jpu3liwRdEmiO4WI5XSb0ON7/1T1dJWZ4FliwO8bOQ4sQkar\r\nSEDxEZROtwPbcwZbMi083nlUITWxp2f33uZW/EfMHOG+IcxcljgimxC1y6lE\r\nASnkQJ7LWlnzYx+a4QYgpAtFq66E/9Pkl+PKf17gd1aN5i7i08JZLgv6TiTJ\r\n1K+ey4+je80yGRnZbrcKEb44eLTjO1OMKfM=\r\n=IBjD\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","gitHead":"8d69959c131f54d10ccdb12bc8b45db46162a4f6","scripts":{"dev":"echo \"Implement me!\"","lint":"eslint . --ext .js --cache","test":"NODE_ENV=testing c8 --all --reporter text --reporter cobertura mocha './test/**/*.test.js'","posttest":"yarn lint"},"_npmUser":{"name":"gargol","email":"nazargargol@gmail.com"},"repository":{"url":"git+https://github.com/TryGhost/Utils.git#main","type":"git"},"_npmVersion":"lerna/4.0.0/node@v16.14.2+x64 (linux)","description":"## Install","directories":{},"_nodeVersion":"16.14.2","dependencies":{"lodash":"^4.17.21","bcryptjs":"^2.4.3","bluebird":"^3.7.2","@tryghost/string":"^0.1.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.11.2","mocha":"9.1.3","sinon":"11.1.2","should":"13.2.3"},"_npmOperationalInternal":{"tmp":"tmp/security_0.2.16_1650545938913_0.37921534819221137","host":"s3://npm-registry-packages"}},"0.2.17":{"name":"@tryghost/security","version":"0.2.17","author":{"name":"Ghost Foundation"},"license":"MIT","_id":"@tryghost/security@0.2.17","maintainers":[{"name":"simonbackx","email":"hi@simonbackx.com"},{"name":"moreofmorris","email":"moreofmorris@gmail.com"},{"name":"joeegrigg","email":"account@joegrigg.com"},{"name":"sanne-san","email":"sanne@ghost.org"},{"name":"djordjevlais","email":"djordje@ghost.org"},{"name":"bobvaneck","email":"bobvaneck@gmail.com"},{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"gargol","email":"nazargargol@gmail.com"},{"name":"rishabhgrg","email":"rishabhgarg1992@gmail.com"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"daniellockyer","email":"hi@daniellockyer.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"matthanley","email":"npmjs@matthanley.co.uk"},{"name":"pauladamdavis","email":"paul@ghost.org"}],"homepage":"https://github.com/TryGhost/Utils/tree/main#readme","bugs":{"url":"https://github.com/TryGhost/Utils/issues"},"dist":{"shasum":"6370b5937b7953c8801227d837d0061f2ece3f0e","tarball":"https://registry.npmjs.org/@tryghost/security/-/security-0.2.17.tgz","fileCount":9,"integrity":"sha512-3ZJ6aqnvWnkwgieDKTy7MnUnUwCQTJ7itBl2Z9FNObDN+1YwVwZPk50ovlI+OmhXpTmTnZsP1KSDOPQCGMzBOA==","signatures":[{"sig":"MEUCICA/MfOt3LZ31QWox6XKIETFZlYNQ53da8pz62kUzcnHAiEA3KUpIWEPY0gIO+nTRUiFGsOW8viVes4XWWIb+4Y0lHs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8478,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJickW8ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoJZg//b0a5SMaVkMeMjD6NAinTwBcfHfj3kiZZOVfN8dH9n2bs9pIK\r\nbP+kYJG3Qf5V9kdO+FF/HJWvdNW81fKNBmFEkTEFB9HhKze1ypf0jSYu3yRo\r\nG6f3X6EujpAr/kL2l0Hm4MfFTZjKRABxO5k++Pdc5J9VNWXY2JqrZIS9TdE8\r\nVhyH+N7YLMTal1htKVmkOzBPYfjGgtEjmI+NF/x35qQcSMRdyFPxGykvh9R+\r\nzRKRUk4OX79/SHkFRskUTceTfHdrjZxfKhBe6GRVnUM0SPMnCMiz0hZHQnvC\r\nZ7A0cgJA6/syOfe2SN8jbstqqzSm2Vk06Mgy6dnYwzRBCNswtqkE4uNa3gRX\r\nG2dcg5vpfmC9eOytGQehsxxmZA4LBX4SucP11+fmg7AZS3xI8+gC2WMbUgWA\r\ndYF7QJ9eJSVrYFIdql7GygjFDC5ZBnur96k9M8LW1eKqEAJ6m6PrbTMf8N37\r\nuun2Zfovcil+ZwaacI3FNzvHEAIG+saqWu365dOQMdJvj/OoKBSUwP+0U3Ao\r\n7qdLF/0bU7ygat8aYNZd9vOBl/hk3/BhQBNsfXgTA5IDGv7k5H14nq6zzxQm\r\n0mAOnAPH3F7oUYhCCLm+6MoBjvrEZgNn/D9wj/WxNQoflx4/ear76o4j+pdA\r\nz9smcOTQxQP1nOalzX+aVPzq81EN24HYQTo=\r\n=qen7\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","gitHead":"e14f269ad87fee8f5c7c9fa6c2bc69d587f26e38","scripts":{"dev":"echo \"Implement me!\"","lint":"eslint . --ext .js --cache","test":"NODE_ENV=testing c8 --all --reporter text --reporter cobertura mocha './test/**/*.test.js'","posttest":"yarn lint"},"_npmUser":{"name":"gargol","email":"nazargargol@gmail.com"},"repository":{"url":"git+https://github.com/TryGhost/Utils.git#main","type":"git"},"_npmVersion":"lerna/4.0.0/node@v16.14.2+x64 (linux)","description":"## Install","directories":{},"_nodeVersion":"16.14.2","dependencies":{"lodash":"^4.17.21","bcryptjs":"^2.4.3","bluebird":"^3.7.2","@tryghost/string":"^0.1.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.11.2","mocha":"10.0.0","sinon":"13.0.2","should":"13.2.3"},"_npmOperationalInternal":{"tmp":"tmp/security_0.2.17_1651656124645_0.6828166435307337","host":"s3://npm-registry-packages"}},"0.3.0":{"name":"@tryghost/security","version":"0.3.0","author":{"name":"Ghost Foundation"},"license":"MIT","_id":"@tryghost/security@0.3.0","maintainers":[{"name":"simonbackx","email":"hi@simonbackx.com"},{"name":"moreofmorris","email":"moreofmorris@gmail.com"},{"name":"joeegrigg","email":"account@joegrigg.com"},{"name":"sanne-san","email":"sanne@ghost.org"},{"name":"djordjevlais","email":"djordje@ghost.org"},{"name":"bobvaneck","email":"bobvaneck@gmail.com"},{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"gargol","email":"nazargargol@gmail.com"},{"name":"rishabhgrg","email":"rishabhgarg1992@gmail.com"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"daniellockyer","email":"hi@daniellockyer.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"matthanley","email":"npmjs@matthanley.co.uk"},{"name":"pauladamdavis","email":"paul@ghost.org"}],"homepage":"https://github.com/TryGhost/Utils/tree/main#readme","bugs":{"url":"https://github.com/TryGhost/Utils/issues"},"dist":{"shasum":"cb561f6b5167eb4d9c7dc86f03b62cba4688f9ce","tarball":"https://registry.npmjs.org/@tryghost/security/-/security-0.3.0.tgz","fileCount":10,"integrity":"sha512-jx/glZSw+Ch3b3q7omhEjqxpfaUOxiM/zOqV/CB/AzKZdSFd8X8l2EYlsAXbGsyZVn9ecXjrPFBO4H3lWzpZFw==","signatures":[{"sig":"MEUCIQDGw1V/aiQY0ofZChJ5JOxk9GD9ONeRqMm4iiB7YQIhvwIgN1RPCpRQMMBB/SoYRqiqGpwwTaU6BiRIMnmWARJ+VZg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":9542,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJidTTOACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqisRAAgFLP9obiBg5VsC3d18pyvZFwYrNHbT1nPJz/TyAcCXP3SciW\r\ngKxRXg0GTwoEmnI2vomFWmDOYlt/Xm3kz9oddoRhDgK9qxOFoLAdkELlvLRh\r\n7oQrQ9TVPJvXMahQPWYu6YZU10Wp3xckpWCjSTBIPvIqUAYKOI7wNCFBp//s\r\nmY1L8RpitCnLWn0hTs4lHdi/AxBSDQBsdM1qCnfs9Ek/JhdycS2FxtaF+hnS\r\nb6+GqVn5undQEPNrsUOmo3KDsmvmGnYzFjYyb5v5X3KTQW6pGKhFGd6H8HX5\r\ngYJQx//sLfaKL1s6YDa88VzNgehICvnnThvfTF8TL6dVwSIo6QqwTktYcqaz\r\nvzy8rc85S44tuIEviNetjIdlcp5BDRgfD4azbPpXlKyzAqLq3eVObjwr1IUw\r\nx61S91CwEmGpA2CAI7WcqxgQLLR8atYLTcce0538lQtipNdtqn2TcvGOF930\r\nc7rxiqo/C7mnuf+9cFqEOGWOqpYeN6J/KKhCmOV5HzbBE/AKQoswavwPlMQw\r\nf9Gp+8ukLaKQc+g8+H5pWE9gsWkAwiE9B0kw1HYzFY3Fu+bE0kLX/NkQAsu8\r\nYb09I6x0tjnU4VtzPgWMKCvjyHvx9HoetD09Gvwc7s2/mmFpQmhwgmwMce9v\r\nOBXYexYInbK+DGQTRL+vm9CUQ9cIcXAbREQ=\r\n=0qfH\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","gitHead":"9bce5a81753e041e55b86f654c97924562eb7709","scripts":{"dev":"echo \"Implement me!\"","lint":"eslint . --ext .js --cache","test":"NODE_ENV=testing c8 --all --reporter text --reporter cobertura mocha './test/**/*.test.js'","posttest":"yarn lint"},"_npmUser":{"name":"erisds","email":"github.erisds@gmail.com"},"repository":{"url":"git+https://github.com/TryGhost/Utils.git#main","type":"git"},"_npmVersion":"lerna/4.0.0/node@v16.14.2+arm64 (darwin)","description":"## Install","directories":{},"_nodeVersion":"16.14.2","dependencies":{"lodash":"^4.17.21","bcryptjs":"^2.4.3","bluebird":"^3.7.2","@tryghost/string":"^0.1.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.11.2","mocha":"10.0.0","sinon":"13.0.2","should":"13.2.3"},"_npmOperationalInternal":{"tmp":"tmp/security_0.3.0_1651848398772_0.11126815624298714","host":"s3://npm-registry-packages"}},"0.3.1":{"name":"@tryghost/security","version":"0.3.1","author":{"name":"Ghost Foundation"},"license":"MIT","_id":"@tryghost/security@0.3.1","maintainers":[{"name":"simonbackx","email":"hi@simonbackx.com"},{"name":"moreofmorris","email":"moreofmorris@gmail.com"},{"name":"joeegrigg","email":"account@joegrigg.com"},{"name":"sanne-san","email":"sanne@ghost.org"},{"name":"djordjevlais","email":"djordje@ghost.org"},{"name":"bobvaneck","email":"bobvaneck@gmail.com"},{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"gargol","email":"nazargargol@gmail.com"},{"name":"rishabhgrg","email":"rishabhgarg1992@gmail.com"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"daniellockyer","email":"hi@daniellockyer.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"matthanley","email":"npmjs@matthanley.co.uk"},{"name":"pauladamdavis","email":"paul@ghost.org"}],"homepage":"https://github.com/TryGhost/Utils/tree/main#readme","bugs":{"url":"https://github.com/TryGhost/Utils/issues"},"dist":{"shasum":"ef634a89ce44b531fec9798986565a284743411b","tarball":"https://registry.npmjs.org/@tryghost/security/-/security-0.3.1.tgz","fileCount":10,"integrity":"sha512-HD2wEqOxQD6m8/jUZyQuDtC/JJJxVq3Edg93Jnzk6EDy+YpksIeyfFsfMzQcQRRig4dgGYqhM9KBw9QZkN1RQg==","signatures":[{"sig":"MEUCIBA3WkIb8yqU1raBnM9lMLBJBpk5oRssYZ8R1LKxm3RJAiEA5bpKlmD3I4D3OtQQSI71S6IGKV9HHyiHlPqvma2GbCI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":9542,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJieOxGACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqKNQ//RWBKJYFOEHa22v7GVBSMlymCIn8odsP7dUoeHhvwZtZ4A0fe\r\n+G18VzJNsGZuQhRXI4ag4/Vb5KDY4eUpcPU+MwOKoEuGWu+4+hWNcS2cfjko\r\nCXrm8e82oKmJ7liLLWQws8e8qPnz6Sc9A4G2UwPTcqaP1yZBhhbT0EnVghua\r\nZTCg6pXl2SSlplehTSx8n+BabbK+nmlODh8KP7/tzb4fuK9qls2tLQetWHKZ\r\ndseJZFt8LQHY74D4sfqTGxiV0tt8UBGvaNzdSB4f0kbLdMVwHSe9piHJHUsU\r\nTE5wXeLDsqJ4KBZEXPxiY4HpNbzbxKGKER3UDuYG/80x0KnfMwO9OHqhIwbZ\r\nVZHn5paJEIvSOyN+DyhEwDpSRSvpbsZ43n2YoPsOdxxrIa/TuTJS++zMVbYQ\r\nyICLl2K0qAdmdLu2PTzvIwbxChAIbpSF/RMNWK1fQJHaEnrOmGS83gfa4Qb2\r\n5pRpJB87RQjcPWehfkZAyFA3PbUlgSH5T9eEXoUpbw7MEIgBUXEuUYPAifqa\r\nu6XsHEDRFe2hZuxR7jcbwAinyUD//8ckPXrztODnlzI9jOKKWyeRUR89zoWx\r\nVokN0XBub2CYo5fn3QaaZz8p+a8LXOTa2MA9eTG922APtyMQbAem/QiFSvio\r\nY6qYfQSnwXh7Z1Kz5Bg7cbFUuxa/Ys9Wvrg=\r\n=uwSS\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","gitHead":"273e3f58cdce8874bd732ddc5a3fc0aad71e5a96","scripts":{"dev":"echo \"Implement me!\"","lint":"eslint . --ext .js --cache","test":"NODE_ENV=testing c8 --all --reporter text --reporter cobertura mocha './test/**/*.test.js'","posttest":"yarn lint"},"_npmUser":{"name":"gargol","email":"nazargargol@gmail.com"},"repository":{"url":"git+https://github.com/TryGhost/Utils.git#main","type":"git"},"_npmVersion":"lerna/4.0.0/node@v16.14.2+x64 (linux)","description":"## Install","directories":{},"_nodeVersion":"16.14.2","dependencies":{"lodash":"^4.17.21","bcryptjs":"^2.4.3","bluebird":"^3.7.2","@tryghost/string":"^0.1.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.11.2","mocha":"10.0.0","sinon":"14.0.0","should":"13.2.3"},"_npmOperationalInternal":{"tmp":"tmp/security_0.3.1_1652091974260_0.8873204532505177","host":"s3://npm-registry-packages"}},"0.3.2":{"name":"@tryghost/security","version":"0.3.2","author":{"name":"Ghost Foundation"},"license":"MIT","_id":"@tryghost/security@0.3.2","maintainers":[{"name":"simonbackx","email":"hi@simonbackx.com"},{"name":"moreofmorris","email":"moreofmorris@gmail.com"},{"name":"joeegrigg","email":"account@joegrigg.com"},{"name":"sanne-san","email":"sanne@ghost.org"},{"name":"djordjevlais","email":"djordje@ghost.org"},{"name":"bobvaneck","email":"bobvaneck@gmail.com"},{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"gargol","email":"nazargargol@gmail.com"},{"name":"rishabhgrg","email":"rishabhgarg1992@gmail.com"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"daniellockyer","email":"hi@daniellockyer.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"matthanley","email":"npmjs@matthanley.co.uk"},{"name":"pauladamdavis","email":"paul@ghost.org"}],"homepage":"https://github.com/TryGhost/Utils/tree/main#readme","bugs":{"url":"https://github.com/TryGhost/Utils/issues"},"dist":{"shasum":"d2276dac041acbb52d2103175e87465f73dc90e7","tarball":"https://registry.npmjs.org/@tryghost/security/-/security-0.3.2.tgz","fileCount":10,"integrity":"sha512-zpYHa1I5CSXgeeWLvPs7ir2LejfweZzP7tkVCq1pIQUFS5UfzsPE/MFlSHZ4wXPkhDPST2vWS4G6IjY1cZORoQ==","signatures":[{"sig":"MEUCIGt8SEV2Zu/o2gzKv7sJDQGeKt5/lseHXmuuMl4DVnRrAiEAqu+XjIYwefxITLba3iKierBzsKEKGzPuNIfLsIFtzF4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":9542,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJijLw+ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqkUQ//cEY3DTK8jqS5DURu4x1IQ5UBLN3svDq3pjkhKgZXw8e2RNuh\r\nWPJkT9d7zkbQZwuQZOwZahSNDE8/XXtxEkUd1QNYejlCMXEYmTUC2R+iI2JU\r\nlbJKANmqctAk8TuGnhEs2n9uDCnGtkMQnHiJ6ZofUtKj9WrOcrEKqPBgds/v\r\nACDk26VmbymyzGCkNG2ihkxp0QUQSFxsE9sgSVdL5WkK5xOofPx9b6RREMAd\r\nDFcdZTM2sOFuVw2DxUt2CcYhDDLuvm2a/aoUql239ZXkdazPlvo3UYsTlKwl\r\nqRni3Bn2+qTmtIJT5fDOrZH5X1O/+dxfCrxnwiY2wbvCyOcqMEl3bvJqOho1\r\nlSKb8EdQflJ4qok0oKKUuBzL7TaHo8ca3CuIOC20Ei34L3fv4uGJq2b5iXZD\r\nrAklbPLhHL59vEXJD0SRQT2VEbD7v2/vTV4lxq6mYzrtoBL3mS7QKIWqsS9f\r\nTCxDXIeZmgSW0SuIJgoATQ+QqnA3lQb17V36KfX5lDS47Q3HRhQ/6IsZg2JG\r\nTt5dwjVLrwIIQHB1yyzvCaGrsEiLJMZOIhlKShioP1QvvNahMaDsLQkp20hC\r\ngpEJmtqMY7gKpiOBxVWiZY4llj1ZxMweOtFmqc0qX7vAwYcMuXS4ag5/RX7N\r\nQT9jlnc4tqIEBwmRCz8LZdXoSDLysd29RPs=\r\n=ETmC\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","gitHead":"ee7a05a733c50a4eb7c7b972d0f52a7b3d58751e","scripts":{"dev":"echo \"Implement me!\"","lint":"eslint . --ext .js --cache","test":"NODE_ENV=testing c8 --all --reporter text --reporter cobertura mocha './test/**/*.test.js'","posttest":"yarn lint"},"_npmUser":{"name":"daniellockyer","email":"hi@daniellockyer.com"},"repository":{"url":"git+https://github.com/TryGhost/Utils.git#main","type":"git"},"_npmVersion":"lerna/4.0.0/node@v16.14.2+arm64 (darwin)","description":"## Install","directories":{},"_nodeVersion":"16.14.2","dependencies":{"lodash":"^4.17.21","bcryptjs":"^2.4.3","bluebird":"^3.7.2","@tryghost/string":"^0.1.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.11.3","mocha":"10.0.0","sinon":"14.0.0","should":"13.2.3"},"_npmOperationalInternal":{"tmp":"tmp/security_0.3.2_1653390398397_0.9277221744057431","host":"s3://npm-registry-packages"}},"0.3.3":{"name":"@tryghost/security","version":"0.3.3","author":{"name":"Ghost Foundation"},"license":"MIT","_id":"@tryghost/security@0.3.3","maintainers":[{"name":"minimaluminium","email":"sodbileg.gansukh@gmail.com"},{"name":"ronaldlangeveld","email":"hi@ronaldlangeveld.com"},{"name":"simonbackx","email":"hi@simonbackx.com"},{"name":"moreofmorris","email":"moreofmorris@gmail.com"},{"name":"joeegrigg","email":"account@joegrigg.com"},{"name":"sanne-san","email":"sanne@ghost.org"},{"name":"djordjevlais","email":"djordje@ghost.org"},{"name":"bobvaneck","email":"bobvaneck@gmail.com"},{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"gargol","email":"nazargargol@gmail.com"},{"name":"rishabhgrg","email":"rishabhgarg1992@gmail.com"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"daniellockyer","email":"hi@daniellockyer.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"matthanley","email":"npmjs@matthanley.co.uk"},{"name":"pauladamdavis","email":"paul@ghost.org"}],"homepage":"https://github.com/TryGhost/Utils/tree/main#readme","bugs":{"url":"https://github.com/TryGhost/Utils/issues"},"dist":{"shasum":"8b5ce9df366af23fea3163d0096912d89029d340","tarball":"https://registry.npmjs.org/@tryghost/security/-/security-0.3.3.tgz","fileCount":10,"integrity":"sha512-yH9Sij0XqSjm2HtTuwWBYD1NBalCSCbw5Q137yI6sJLDXckZI/6k9B80U3K63OARAHv7Lmg9RmOZFOWy163Svw==","signatures":[{"sig":"MEUCIH5bsT4ToZF4UMnAFKCy7RbWY8DnGcomxCTd/MOv5YuYAiEAwVo/H4IjMCCt8KCbs1wWlVruaA6o1hvy8gj6hSuz0vM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":9542,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi2saSACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqMnQ//ZMzWBIwt/80kDqxjY2h68ads0sCi6ATboPLz/Hbf9mN1XrsO\r\ngf4N0I8p36St/v6WzdvyzginxQ1NGQ5EkuxJrvmQopa1NdTBSm+NmsN/1ewl\r\nhz1V/ONss1tCwKZ/gYB3HZoEpl3iQpwLaUrJI8HJRTWkYq5rQPw1+eCRpRaR\r\nQkagbxaewKxB9DzVAidQHpiXHSiNirxnIbDBMf7s2w/NDsn/5L3ZJSL6qhko\r\n1bWfUviPdC8Y6yGI0TchGCAxmyj5xLGF5rGiGp8ECFkQGQdGVWeDEsdcmCqo\r\nUxfFidfhTFXe6+oj6tTTaSs24odlPgcB+9E2JGm8lF+w2U8u4D2tKd9+iVir\r\nRDLG7khgeqahdz+3lsV6FZTx71jd+rv9Rh/q35uEelUyohMKA7j2IBXd5AlJ\r\novP9KHUMWX2LFNUmJY5/w5cdJNgZ53cfmtQm/3BjpvK8WsCbz9ErmM+RchvO\r\nto2Qa9keA00Q9xDJUHxSv12z8sbiXulitYj2ntHUEPzDdtu8SsYU1QRTOiBc\r\n6L5DCCQNnNHtX/WwiNySUkKtESNqMlwp8TZMNc2CpOU9d5k+W6fEc/HIgWd1\r\n5HXgibghfrc84KrMWNp0Lgd6ru8d0kaAjZ7L3fq5ulm9AMnziCJHS+AigMmE\r\nqrL9ahKsrJmC5D7XzqwjaHZjpbq6++m0lkM=\r\n=AGKA\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","gitHead":"2ce0a263975cf6e0f34233caf19404fd8ab5e7a5","scripts":{"dev":"echo \"Implement me!\"","lint":"eslint . --ext .js --cache","test":"NODE_ENV=testing c8 --all --reporter text --reporter cobertura mocha './test/**/*.test.js'","posttest":"yarn lint"},"_npmUser":{"name":"gargol","email":"nazargargol@gmail.com"},"repository":{"url":"git+https://github.com/TryGhost/Utils.git#main","type":"git"},"_npmVersion":"lerna/5.1.6/node@v16.14.2+x64 (linux)","description":"## Install","directories":{},"_nodeVersion":"16.14.2","dependencies":{"lodash":"^4.17.21","bcryptjs":"^2.4.3","bluebird":"^3.7.2","@tryghost/string":"^0.1.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"7.12.0","mocha":"10.0.0","sinon":"14.0.0","should":"13.2.3"},"_npmOperationalInternal":{"tmp":"tmp/security_0.3.3_1658504850759_0.43534708318920634","host":"s3://npm-registry-packages"}},"1.0.0":{"name":"@tryghost/security","version":"1.0.0","author":"Ghost Foundation","license":"MIT","_id":"@tryghost/security@1.0.0","maintainers":[{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"kernalghost","email":"matthew@ghost.org"},{"name":"sanne-san","email":"sanne@ghost.org"},{"name":"chrisraible","email":"chris@ghost.org"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"daniellockyer","email":"hi@daniellockyer.com"},{"name":"minimaluminium","email":"sodbileg.gansukh@gmail.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"pauladamdavis","email":"paul@ghost.org"},{"name":"bobvaneck","email":"bobvaneck@gmail.com"},{"name":"joeegrigg","email":"account@joegrigg.com"},{"name":"ronaldlangeveld","email":"hi@ronaldlangeveld.com"},{"name":"hadret","email":"filip@ghost.org"},{"name":"jonhickman","email":"jon@theplan.co.uk"},{"name":"erik-ghost","email":"erik@ghost.org"},{"name":"sagzy","email":"guptazy@gmail.com"},{"name":"dvdwinden","email":"danielvanderwinden@ghost.org"},{"name":"vershwal","email":"vershwal.princi@gmail.com"},{"name":"mike182uk","email":"mike182uk@gmail.com"},{"name":"9larsons","email":"9larsons@gmail.com"},{"name":"lsinger","email":"leif@ghost.org"},{"name":"charliegilbert","email":"charlie@ghost.org"},{"name":"ghost-slimer","email":"info@ghost.org"}],"dist":{"shasum":"04138f915b66ec06c1a42dd33125d2f4e25c7248","tarball":"https://registry.npmjs.org/@tryghost/security/-/security-1.0.0.tgz","fileCount":9,"integrity":"sha512-HtKPDR+p6Uwr4cPAGr4huTlIM7IGmEt6D6wV2UI8hqnA0s28ZqTnVjmh2NoH5wWeFDMBFfa0Ed9DJIFyT40U3A==","signatures":[{"sig":"MEUCIFu4nUN8qyujxWvb5zVu8ztg/UvislYBft4ESQu8Lg82AiEAsHtbUZDIBGjgfRNFEX8Ur9J75RZrk4ddUqo0NDT0V2E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8785},"main":"index.js","gitHead":"feac71f0032c5d92f56a8dfa7ccd5a2d883ad53d","scripts":{"dev":"echo \"Implement me!\"","lint":"yarn lint:code && yarn lint:test","test":"yarn test:unit","lint:code":"eslint *.js lib/ --ext .js --cache","lint:test":"eslint -c test/.eslintrc.js test/ --ext .js --cache","test:unit":"NODE_ENV=testing c8 --all --reporter text --reporter cobertura -- mocha --reporter dot './test/**/*.test.js'"},"_npmUser":{"name":"daniellockyer","email":"hi@daniellockyer.com"},"_npmVersion":"lerna/8.2.2/node@v20.19.1+arm64 (darwin)","directories":{},"_nodeVersion":"20.19.1","dependencies":{"bcryptjs":"2.4.3","@tryghost/string":"0.2.15"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"8.0.1","uuid":"9.0.1","mocha":"10.8.2","sinon":"15.2.0","should":"13.2.3"},"_npmOperationalInternal":{"tmp":"tmp/security_1.0.0_1747138629318_0.5680768673191836","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@tryghost/security","version":"1.0.1","author":"Ghost Foundation","license":"MIT","_id":"@tryghost/security@1.0.1","maintainers":[{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"kernalghost","email":"matthew@ghost.org"},{"name":"sanne-san","email":"sanne@ghost.org"},{"name":"chrisraible","email":"chris@ghost.org"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"minimaluminium","email":"sodbileg.gansukh@gmail.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"pauladamdavis","email":"paul@ghost.org"},{"name":"bobvaneck","email":"bobvaneck@gmail.com"},{"name":"joeegrigg","email":"account@joegrigg.com"},{"name":"ronaldlangeveld","email":"hi@ronaldlangeveld.com"},{"name":"hadret","email":"filip@ghost.org"},{"name":"jonhickman","email":"jon@theplan.co.uk"},{"name":"erik-ghost","email":"erik@ghost.org"},{"name":"sagzy","email":"guptazy@gmail.com"},{"name":"dvdwinden","email":"danielvanderwinden@ghost.org"},{"name":"vershwal","email":"vershwal.princi@gmail.com"},{"name":"mike182uk","email":"mike182uk@gmail.com"},{"name":"9larsons","email":"9larsons@gmail.com"},{"name":"lsinger","email":"leif@ghost.org"},{"name":"charliegilbert","email":"charlie@ghost.org"},{"name":"ghost-slimer","email":"info@ghost.org"}],"dist":{"shasum":"5390d39a139f7f50cbb50366b1f8ede4119632bd","tarball":"https://registry.npmjs.org/@tryghost/security/-/security-1.0.1.tgz","fileCount":9,"integrity":"sha512-qG1kJfV3w6lRw10OwhmutDlMfmI9J2ZVld4oNdqpayMn4ioqFwF0YJeG7TpXay4O00KLSoEjJcbp876IvDs2NA==","signatures":[{"sig":"MEYCIQDfRdeQqhZehWJNKb/oyvxvUo9sIKH62c86Sk7FSt1WawIhAOQoeraKIzFjim0KCgeMSJDKKozKG+zN8T0aM3AReWa7","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8924},"main":"index.js","gitHead":"e395f1d79edee4aecc36e572bb402016a8ba9273","scripts":{"dev":"echo \"Implement me!\"","lint":"yarn lint:code && yarn lint:test","test":"yarn test:unit","lint:code":"eslint *.js lib/ --ext .js --cache","lint:test":"eslint -c test/.eslintrc.js test/ --ext .js --cache","test:unit":"NODE_ENV=testing c8 --all --reporter text --reporter cobertura -- mocha --reporter dot './test/**/*.test.js'"},"_npmUser":{"name":"erisds","email":"github.erisds@gmail.com"},"repository":{"url":"git+https://github.com/TryGhost/framework.git","type":"git","directory":"packages/security"},"_npmVersion":"lerna/8.1.9/node@v20.17.0+arm64 (darwin)","directories":{},"_nodeVersion":"20.17.0","dependencies":{"bcryptjs":"2.4.3","@tryghost/string":"0.2.15"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"8.0.1","uuid":"9.0.1","mocha":"10.8.2","sinon":"15.2.0","should":"13.2.3"},"_npmOperationalInternal":{"tmp":"tmp/security_1.0.1_1748205637544_0.6344641930029247","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@tryghost/security","version":"1.0.2","author":{"name":"Ghost Foundation"},"license":"MIT","_id":"@tryghost/security@1.0.2","maintainers":[{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"kernalghost","email":"matthew@ghost.org"},{"name":"chrisraible","email":"chris@ghost.org"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"minimaluminium","email":"sodbileg.gansukh@gmail.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"pauladamdavis","email":"paul@ghost.org"},{"name":"bobvaneck","email":"bobvaneck@gmail.com"},{"name":"joeegrigg","email":"account@joegrigg.com"},{"name":"hadret","email":"filip@ghost.org"},{"name":"jonhickman","email":"jon@theplan.co.uk"},{"name":"erik-ghost","email":"erik@ghost.org"},{"name":"sagzy","email":"guptazy@gmail.com"},{"name":"vershwal","email":"vershwal.princi@gmail.com"},{"name":"mike182uk","email":"mike182uk@gmail.com"},{"name":"lsinger","email":"leif@ghost.org"},{"name":"rblstr-ghost","email":"rob@ghost.org"},{"name":"evanhahn-ghost","email":"evan@ghost.org"},{"name":"weylandswart","email":"weyland.swart@gmail.com"},{"name":"ghost-slimer","email":"info@ghost.org"},{"name":"tmciesco","email":"tmciesco@gmail.com"},{"name":"jonatan-ghost","email":"jonatan@ghost.org"},{"name":"9larsons","email":"9larsons@gmail.com"}],"homepage":"https://github.com/TryGhost/framework#readme","bugs":{"url":"https://github.com/TryGhost/framework/issues"},"dist":{"shasum":"1c425ae7565cb7da0c991be908d1e00717a71cea","tarball":"https://registry.npmjs.org/@tryghost/security/-/security-1.0.2.tgz","fileCount":8,"integrity":"sha512-spHiNDPQlGhm4QmyUnV4dbGdFp/s/lsd0+wJY1tUCBZ91mEpZUJbQqnJonNJws62hzFUW1nSCNi/k5q1xiplqw==","signatures":[{"sig":"MEUCIAHX5jXz8t0xDzBLQVUXezs6ZhnRWO+wlUQMH1MBtc4QAiEA4fBrpFVfMTVB80RkpLkS+EZYfuUXkKP219YAz20Nn+w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7789},"main":"index.js","gitHead":"a0736aab299229aa46dc8b00b595e2753c67c223","scripts":{"dev":"echo \"Implement me!\"","lint":"yarn lint:code && yarn lint:test","test":"yarn test:unit","lint:code":"eslint *.js lib/ --ext .js --cache","lint:test":"eslint -c test/.eslintrc.js test/ --ext .js --cache","test:unit":"NODE_ENV=testing c8 --all --reporter text --reporter cobertura -- mocha --reporter dot './test/**/*.test.js'"},"_npmUser":{"name":"allouis","email":"fabien@allou.is"},"repository":{"url":"git+https://github.com/TryGhost/framework.git","type":"git","directory":"packages/security"},"_npmVersion":"10.8.2","directories":{},"_nodeVersion":"20.19.6","dependencies":{"bcryptjs":"2.4.3","@tryghost/string":"0.2.15"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"8.0.1","uuid":"9.0.1","mocha":"11.7.5","sinon":"21.0.1","should":"13.2.3"},"_npmOperationalInternal":{"tmp":"tmp/security_1.0.2_1770914917881_0.904325623879825","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@tryghost/security","version":"1.0.3","author":{"name":"Ghost Foundation"},"license":"MIT","_id":"@tryghost/security@1.0.3","maintainers":[{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"kernalghost","email":"matthew@ghost.org"},{"name":"chrisraible","email":"chris@ghost.org"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"minimaluminium","email":"sodbileg.gansukh@gmail.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"pauladamdavis","email":"paul@ghost.org"},{"name":"bobvaneck","email":"bobvaneck@gmail.com"},{"name":"joeegrigg","email":"account@joegrigg.com"},{"name":"hadret","email":"filip@ghost.org"},{"name":"jonhickman","email":"jon@theplan.co.uk"},{"name":"erik-ghost","email":"erik@ghost.org"},{"name":"sagzy","email":"guptazy@gmail.com"},{"name":"vershwal","email":"vershwal.princi@gmail.com"},{"name":"mike182uk","email":"mike182uk@gmail.com"},{"name":"lsinger","email":"leif@ghost.org"},{"name":"rblstr-ghost","email":"rob@ghost.org"},{"name":"evanhahn-ghost","email":"evan@ghost.org"},{"name":"weylandswart","email":"weyland.swart@gmail.com"},{"name":"ghost-slimer","email":"info@ghost.org"},{"name":"tmciesco","email":"tmciesco@gmail.com"},{"name":"jonatan-ghost","email":"jonatan@ghost.org"},{"name":"9larsons","email":"9larsons@gmail.com"}],"homepage":"https://github.com/TryGhost/framework#readme","bugs":{"url":"https://github.com/TryGhost/framework/issues"},"dist":{"shasum":"76bc376e5a0cc21b6a00f2e256299d4e0002bb86","tarball":"https://registry.npmjs.org/@tryghost/security/-/security-1.0.3.tgz","fileCount":8,"integrity":"sha512-t8jT1LKuLv1pZkYdnrbyg3ccIfhyDOUt/I1r9B7dbswLvOZCiPpi4z0YhoaI7gIXLPo+CEbqmHtWj+xcAscfLQ==","signatures":[{"sig":"MEQCIEn75k/7MEhDRyvMv6JSZ7AdTJajmvcdaGZ0StiqQYGYAiAfJ8AA+nNHt7LSSx7NOSHH+UMjTTEnImZb47r5wMZPcw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tryghost%2fsecurity@1.0.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":7789},"main":"index.js","gitHead":"d82e575abd6d3f2884ea17e2379d144c7a74b4c9","scripts":{"dev":"echo \"Implement me!\"","lint":"yarn lint:code && yarn lint:test","test":"yarn test:unit","lint:code":"eslint *.js lib/ --ext .js --cache","lint:test":"eslint -c test/.eslintrc.js test/ --ext .js --cache","test:unit":"NODE_ENV=testing c8 --all --reporter text --reporter cobertura -- mocha --reporter dot './test/**/*.test.js'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b8cd1a37-4d3a-4c94-9759-179774f549f2"}},"repository":{"url":"git+https://github.com/TryGhost/framework.git","type":"git","directory":"packages/security"},"_npmVersion":"11.10.1","directories":{},"_nodeVersion":"22.22.0","dependencies":{"bcryptjs":"2.4.3","@tryghost/string":"0.2.15"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"8.0.1","uuid":"9.0.1","mocha":"11.7.5","sinon":"21.0.1","should":"13.2.3"},"_npmOperationalInternal":{"tmp":"tmp/security_1.0.3_1771620637695_0.17330623798171052","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@tryghost/security","version":"1.0.4","author":{"name":"Ghost Foundation"},"license":"MIT","_id":"@tryghost/security@1.0.4","maintainers":[{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"kernalghost","email":"matthew@ghost.org"},{"name":"chrisraible","email":"chris@ghost.org"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"minimaluminium","email":"sodbileg.gansukh@gmail.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"pauladamdavis","email":"paul@ghost.org"},{"name":"bobvaneck","email":"bobvaneck@gmail.com"},{"name":"joeegrigg","email":"account@joegrigg.com"},{"name":"hadret","email":"filip@ghost.org"},{"name":"jonhickman","email":"jon@theplan.co.uk"},{"name":"erik-ghost","email":"erik@ghost.org"},{"name":"sagzy","email":"guptazy@gmail.com"},{"name":"vershwal","email":"vershwal.princi@gmail.com"},{"name":"mike182uk","email":"mike182uk@gmail.com"},{"name":"lsinger","email":"leif@ghost.org"},{"name":"rblstr-ghost","email":"rob@ghost.org"},{"name":"evanhahn-ghost","email":"evan@ghost.org"},{"name":"weylandswart","email":"weyland.swart@gmail.com"},{"name":"ghost-slimer","email":"info@ghost.org"},{"name":"tmciesco","email":"tmciesco@gmail.com"},{"name":"jonatan-ghost","email":"jonatan@ghost.org"},{"name":"9larsons","email":"9larsons@gmail.com"}],"homepage":"https://github.com/TryGhost/framework#readme","bugs":{"url":"https://github.com/TryGhost/framework/issues"},"dist":{"shasum":"515bd1eb678046ed67a15bf27e1089ed85a6e125","tarball":"https://registry.npmjs.org/@tryghost/security/-/security-1.0.4.tgz","fileCount":9,"integrity":"sha512-h6ImWnUZECAwc3aIctSwuBqGqaPx35b6KbfPLOJDME7Y1m00KlvSfjyjYrZ/rmMwYl9atz66ve+j7IFkIx950g==","signatures":[{"sig":"MEUCIQCUqvf03YceL5tyPN6GIhfJ0qIcLpzve5CwFg6TxQVpLQIgRRHjY588e7+i7prR7geIppeOi9cxwC1/ssmvEISc2QU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tryghost%2fsecurity@1.0.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":8985},"main":"index.js","gitHead":"8808879368a8fbfdcaf3f82aeb613c61c6ff7739","scripts":{"dev":"echo \"Implement me!\"","lint":"yarn lint:code && yarn lint:test","test":"yarn test:unit","lint:code":"eslint *.js lib/ --ext .js --cache","lint:test":"eslint -c test/.eslintrc.js test/ --ext .js --cache","test:unit":"NODE_ENV=testing c8 --all --check-coverage --100 --reporter text --reporter cobertura -- mocha --reporter dot './test/**/*.test.js'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b8cd1a37-4d3a-4c94-9759-179774f549f2"}},"repository":{"url":"git+https://github.com/TryGhost/framework.git","type":"git","directory":"packages/security"},"_npmVersion":"11.10.1","description":"Security primitives for token generation, password hashing, and safe identifiers","directories":{},"_nodeVersion":"22.22.0","dependencies":{"bcryptjs":"2.4.3","@tryghost/string":"0.2.15"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"8.0.1","uuid":"9.0.1","mocha":"11.7.5","sinon":"21.0.1"},"_npmOperationalInternal":{"tmp":"tmp/security_1.0.4_1771629406019_0.6016626192292762","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@tryghost/security","version":"1.0.5","author":{"name":"Ghost Foundation"},"license":"MIT","_id":"@tryghost/security@1.0.5","maintainers":[{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"kernalghost","email":"matthew@ghost.org"},{"name":"chrisraible","email":"chris@ghost.org"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"minimaluminium","email":"sodbileg.gansukh@gmail.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"pauladamdavis","email":"paul@ghost.org"},{"name":"bobvaneck","email":"bobvaneck@gmail.com"},{"name":"joeegrigg","email":"account@joegrigg.com"},{"name":"hadret","email":"filip@ghost.org"},{"name":"jonhickman","email":"jon@theplan.co.uk"},{"name":"erik-ghost","email":"erik@ghost.org"},{"name":"sagzy","email":"guptazy@gmail.com"},{"name":"vershwal","email":"vershwal.princi@gmail.com"},{"name":"mike182uk","email":"mike182uk@gmail.com"},{"name":"lsinger","email":"leif@ghost.org"},{"name":"rblstr-ghost","email":"rob@ghost.org"},{"name":"evanhahn-ghost","email":"evan@ghost.org"},{"name":"weylandswart","email":"weyland.swart@gmail.com"},{"name":"ghost-slimer","email":"info@ghost.org"},{"name":"tmciesco","email":"tmciesco@gmail.com"},{"name":"jonatan-ghost","email":"jonatan@ghost.org"},{"name":"9larsons","email":"9larsons@gmail.com"}],"homepage":"https://github.com/TryGhost/framework#readme","bugs":{"url":"https://github.com/TryGhost/framework/issues"},"dist":{"shasum":"7f87056a55f7dfdfb1a958519448bf83126983f6","tarball":"https://registry.npmjs.org/@tryghost/security/-/security-1.0.5.tgz","fileCount":9,"integrity":"sha512-j8c9DJWpHKX6iQAwy2By7zDCtAPCstvHIARqA4s8yDCWbYLJR8bUw8DETwLq/eHQjygekTC80HyNeIa+t8Byiw==","signatures":[{"sig":"MEQCICz8WO5ksISOkk/ZFAKS08IstT0xCPkK4MeVD1g1Ekh+AiBO8GapX96xjiKGoDby8+zZ5e/p0Qj52ZSCU+2ygIImcw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tryghost%2fsecurity@1.0.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":8985},"main":"index.js","gitHead":"17b8d12cbadd64690a83e640ead03630a72f49dc","scripts":{"dev":"echo \"Implement me!\"","lint":"yarn lint:code && yarn lint:test","test":"yarn test:unit","lint:code":"eslint *.js lib/ --ext .js --cache","lint:test":"eslint -c test/.eslintrc.js test/ --ext .js --cache","test:unit":"NODE_ENV=testing c8 --all --check-coverage --100 --reporter text --reporter cobertura -- mocha --reporter dot './test/**/*.test.js'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b8cd1a37-4d3a-4c94-9759-179774f549f2"}},"repository":{"url":"git+https://github.com/TryGhost/framework.git","type":"git","directory":"packages/security"},"_npmVersion":"11.10.1","description":"Security primitives for token generation, password hashing, and safe identifiers","directories":{},"_nodeVersion":"22.22.0","dependencies":{"bcryptjs":"2.4.3","@tryghost/string":"0.2.21"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"8.0.1","uuid":"9.0.1","mocha":"11.7.5","sinon":"21.0.1"},"_npmOperationalInternal":{"tmp":"tmp/security_1.0.5_1771630888184_0.5352616044090699","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"@tryghost/security","version":"1.0.6","author":{"name":"Ghost Foundation"},"license":"MIT","_id":"@tryghost/security@1.0.6","maintainers":[{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"kernalghost","email":"matthew@ghost.org"},{"name":"chrisraible","email":"chris@ghost.org"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"minimaluminium","email":"sodbileg.gansukh@gmail.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"pauladamdavis","email":"paul@ghost.org"},{"name":"bobvaneck","email":"bobvaneck@gmail.com"},{"name":"joeegrigg","email":"account@joegrigg.com"},{"name":"hadret","email":"filip@ghost.org"},{"name":"jonhickman","email":"jon@theplan.co.uk"},{"name":"erik-ghost","email":"erik@ghost.org"},{"name":"sagzy","email":"guptazy@gmail.com"},{"name":"vershwal","email":"vershwal.princi@gmail.com"},{"name":"mike182uk","email":"mike182uk@gmail.com"},{"name":"lsinger","email":"leif@ghost.org"},{"name":"rblstr-ghost","email":"rob@ghost.org"},{"name":"evanhahn-ghost","email":"evan@ghost.org"},{"name":"weylandswart","email":"weyland.swart@gmail.com"},{"name":"ghost-slimer","email":"info@ghost.org"},{"name":"tmciesco","email":"tmciesco@gmail.com"},{"name":"jonatan-ghost","email":"jonatan@ghost.org"},{"name":"9larsons","email":"9larsons@gmail.com"}],"homepage":"https://github.com/TryGhost/framework#readme","bugs":{"url":"https://github.com/TryGhost/framework/issues"},"dist":{"shasum":"22c01e9540899e0c9aa0398ce04b72bc88953d4c","tarball":"https://registry.npmjs.org/@tryghost/security/-/security-1.0.6.tgz","fileCount":9,"integrity":"sha512-h4FiUK4ndHezlXeuRzfwTZrX/a8ZdCS/FRqmZWCHcMUiBH6lewHv8eIjsPemN6e6Gn9jtsWZsKnuYM2mD0meSQ==","signatures":[{"sig":"MEQCIBsFeIrugeL5TnQH/dqfnqUpbAHAkEz7rWAg6IlW+GjRAiBLXMdOCdquPhYLjeA4Q8GW/PpSW+IRWzaUptYZnLlDLg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tryghost%2fsecurity@1.0.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":8985},"main":"index.js","gitHead":"44bf0cb11ebc1389053cfffafb094e531f2d5144","scripts":{"dev":"echo \"Implement me!\"","lint":"yarn lint:code && yarn lint:test","test":"yarn test:unit","lint:code":"eslint *.js lib/ --ext .js --cache","lint:test":"eslint -c test/.eslintrc.js test/ --ext .js --cache","test:unit":"NODE_ENV=testing c8 --all --check-coverage --100 --reporter text --reporter cobertura -- mocha --reporter dot './test/**/*.test.js'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b8cd1a37-4d3a-4c94-9759-179774f549f2"}},"repository":{"url":"git+https://github.com/TryGhost/framework.git","type":"git","directory":"packages/security"},"_npmVersion":"11.10.1","description":"Security primitives for token generation, password hashing, and safe identifiers","directories":{},"_nodeVersion":"22.22.0","dependencies":{"bcryptjs":"3.0.3","@tryghost/string":"0.2.21"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"8.0.1","uuid":"9.0.1","mocha":"11.7.5","sinon":"21.0.1"},"_npmOperationalInternal":{"tmp":"tmp/security_1.0.6_1771631821907_0.9694378611106493","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@tryghost/security","version":"2.0.0","author":{"name":"Ghost Foundation"},"license":"MIT","_id":"@tryghost/security@2.0.0","maintainers":[{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"kernalghost","email":"matthew@ghost.org"},{"name":"chrisraible","email":"chris@ghost.org"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"minimaluminium","email":"sodbileg.gansukh@gmail.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"pauladamdavis","email":"paul@ghost.org"},{"name":"bobvaneck","email":"bobvaneck@gmail.com"},{"name":"joeegrigg","email":"account@joegrigg.com"},{"name":"hadret","email":"filip@ghost.org"},{"name":"jonhickman","email":"jon@theplan.co.uk"},{"name":"erik-ghost","email":"erik@ghost.org"},{"name":"sagzy","email":"guptazy@gmail.com"},{"name":"vershwal","email":"vershwal.princi@gmail.com"},{"name":"mike182uk","email":"mike182uk@gmail.com"},{"name":"lsinger","email":"leif@ghost.org"},{"name":"rblstr-ghost","email":"rob@ghost.org"},{"name":"evanhahn-ghost","email":"evan@ghost.org"},{"name":"weylandswart","email":"weyland.swart@gmail.com"},{"name":"ghost-slimer","email":"info@ghost.org"},{"name":"tmciesco","email":"tmciesco@gmail.com"},{"name":"jonatan-ghost","email":"jonatan@ghost.org"},{"name":"9larsons","email":"9larsons@gmail.com"}],"homepage":"https://github.com/TryGhost/framework#readme","bugs":{"url":"https://github.com/TryGhost/framework/issues"},"dist":{"shasum":"1f7f259ab995d7809ea7e3c28253ede82d7e5c87","tarball":"https://registry.npmjs.org/@tryghost/security/-/security-2.0.0.tgz","fileCount":9,"integrity":"sha512-DRjqo4yKawyRts6yZycARmpM/B+XdGRjEsrlgLMHl+6XjYlN8cFTaQN4mwA47/LCNK3ZpFwKtY43LrdLQozlrg==","signatures":[{"sig":"MEUCIQDbQclIU1vSLJqsn5TQXOl86aIMsFkRJlF6BjgMnQkKDgIgDh/E69nUl/S5xRgOVcEq6Lp8HjmDFqCVRT9Ti7nZtyk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tryghost%2fsecurity@2.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":8986},"main":"index.js","gitHead":"860315e34ea76f5666ee4f830c82d896dba3e534","scripts":{"dev":"echo \"Implement me!\"","lint":"yarn lint:code && yarn lint:test","test":"yarn test:unit","lint:code":"eslint *.js lib/ --ext .js --cache","lint:test":"eslint -c test/.eslintrc.js test/ --ext .js --cache","test:unit":"NODE_ENV=testing c8 --all --check-coverage --100 --reporter text --reporter cobertura -- mocha --reporter dot './test/**/*.test.js'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b8cd1a37-4d3a-4c94-9759-179774f549f2"}},"repository":{"url":"git+https://github.com/TryGhost/framework.git","type":"git","directory":"packages/security"},"_npmVersion":"11.10.1","description":"Security primitives for token generation, password hashing, and safe identifiers","directories":{},"_nodeVersion":"22.22.0","dependencies":{"bcryptjs":"3.0.3","@tryghost/string":"0.2.21"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"8.0.1","uuid":"13.0.0","mocha":"11.7.5","sinon":"21.0.1"},"_npmOperationalInternal":{"tmp":"tmp/security_2.0.0_1771637883769_0.35111143122079125","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"@tryghost/security","version":"2.1.0","author":{"name":"Ghost Foundation"},"license":"MIT","_id":"@tryghost/security@2.1.0","maintainers":[{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"kernalghost","email":"matthew@ghost.org"},{"name":"chrisraible","email":"chris@ghost.org"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"minimaluminium","email":"sodbileg.gansukh@gmail.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"pauladamdavis","email":"paul@ghost.org"},{"name":"bobvaneck","email":"bobvaneck@gmail.com"},{"name":"joeegrigg","email":"account@joegrigg.com"},{"name":"hadret","email":"filip@ghost.org"},{"name":"jonhickman","email":"jon@theplan.co.uk"},{"name":"erik-ghost","email":"erik@ghost.org"},{"name":"sagzy","email":"guptazy@gmail.com"},{"name":"vershwal","email":"vershwal.princi@gmail.com"},{"name":"mike182uk","email":"mike182uk@gmail.com"},{"name":"lsinger","email":"leif@ghost.org"},{"name":"rblstr-ghost","email":"rob@ghost.org"},{"name":"evanhahn-ghost","email":"evan@ghost.org"},{"name":"weylandswart","email":"weyland.swart@gmail.com"},{"name":"ghost-slimer","email":"info@ghost.org"},{"name":"tmciesco","email":"tmciesco@gmail.com"},{"name":"jonatan-ghost","email":"jonatan@ghost.org"},{"name":"9larsons","email":"9larsons@gmail.com"}],"homepage":"https://github.com/TryGhost/framework#readme","bugs":{"url":"https://github.com/TryGhost/framework/issues"},"dist":{"shasum":"17689b5e3a6cea1f82a4881c12bc9c7d00c19815","tarball":"https://registry.npmjs.org/@tryghost/security/-/security-2.1.0.tgz","fileCount":9,"integrity":"sha512-Jm/WzFOlABGACirRR3W729npG+a/MarGitm7H+/8U/t5g/pvQEjLKVK+k1yDzr4ViAv/GaAT7ChOebGAw1sVgw==","signatures":[{"sig":"MEQCIDX8kNK1Goedv6FKoZh7ysh84/X8IY/Hiv7VJTuRoVOOAiByj16GvylIXQYTuDR4tYRAcj9FSdIAX11OB2GTKmh56g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tryghost%2fsecurity@2.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":8987},"main":"index.js","gitHead":"b82454a0ddfa35b366749951b1ff2c4a01070bb7","scripts":{"dev":"echo \"Implement me!\"","lint":"yarn lint:code && yarn lint:test","test":"yarn test:unit","lint:code":"eslint *.js lib/ --ext .js --cache","lint:test":"eslint -c test/.eslintrc.js test/ --ext .js --cache","test:unit":"NODE_ENV=testing c8 --all --check-coverage --100 --reporter text --reporter cobertura -- mocha --reporter dot './test/**/*.test.js'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b8cd1a37-4d3a-4c94-9759-179774f549f2"}},"repository":{"url":"git+https://github.com/TryGhost/framework.git","type":"git","directory":"packages/security"},"_npmVersion":"11.10.1","description":"Security primitives for token generation, password hashing, and safe identifiers","directories":{},"_nodeVersion":"22.22.0","dependencies":{"bcryptjs":"3.0.3","@tryghost/string":"0.2.21"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"10.1.3","uuid":"13.0.0","mocha":"11.7.5","sinon":"21.0.1"},"_npmOperationalInternal":{"tmp":"tmp/security_2.1.0_1771640019131_0.04113346487569447","host":"s3://npm-registry-packages-npm-production"}},"2.2.0":{"name":"@tryghost/security","version":"2.2.0","author":{"name":"Ghost Foundation"},"license":"MIT","_id":"@tryghost/security@2.2.0","maintainers":[{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"kernalghost","email":"matthew@ghost.org"},{"name":"chrisraible","email":"chris@ghost.org"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"minimaluminium","email":"sodbileg.gansukh@gmail.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"pauladamdavis","email":"paul@ghost.org"},{"name":"bobvaneck","email":"bobvaneck@gmail.com"},{"name":"joeegrigg","email":"account@joegrigg.com"},{"name":"hadret","email":"filip@ghost.org"},{"name":"jonhickman","email":"jon@theplan.co.uk"},{"name":"erik-ghost","email":"erik@ghost.org"},{"name":"sagzy","email":"guptazy@gmail.com"},{"name":"vershwal","email":"vershwal.princi@gmail.com"},{"name":"mike182uk","email":"mike182uk@gmail.com"},{"name":"lsinger","email":"leif@ghost.org"},{"name":"rblstr-ghost","email":"rob@ghost.org"},{"name":"evanhahn-ghost","email":"evan@ghost.org"},{"name":"weylandswart","email":"weyland.swart@gmail.com"},{"name":"ghost-slimer","email":"info@ghost.org"},{"name":"tmciesco","email":"tmciesco@gmail.com"},{"name":"jonatan-ghost","email":"jonatan@ghost.org"},{"name":"9larsons","email":"9larsons@gmail.com"}],"homepage":"https://github.com/TryGhost/framework#readme","bugs":{"url":"https://github.com/TryGhost/framework/issues"},"dist":{"shasum":"081b19302526478232bf8e1e6bb0ac17772f4956","tarball":"https://registry.npmjs.org/@tryghost/security/-/security-2.2.0.tgz","fileCount":9,"integrity":"sha512-jajyNM6J1SoKfEdczEsNf21+Y8qVJYZpO7CJD5hC7pYZs+oQEWxU1H432hHHWZE8g3tobsz/AJpK4iMy5xsClA==","signatures":[{"sig":"MEUCIDS432mgyzkF+HMHP+Hp4gNGjSrIk1YvP1iDrd6n1IM4AiEAjcgn0mUubwwUcB6fwm2DhdIgbBcFHQZSfy4yXGa9X4g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tryghost%2fsecurity@2.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":8987},"main":"index.js","gitHead":"49513460134c893152bf83fb43af4ca5f03c41ce","scripts":{"dev":"echo \"Implement me!\"","lint":"yarn lint:code && yarn lint:test","test":"yarn test:unit","lint:code":"eslint *.js lib/ --ext .js --cache","lint:test":"eslint -c test/.eslintrc.js test/ --ext .js --cache","test:unit":"NODE_ENV=testing c8 --all --check-coverage --100 --reporter text --reporter cobertura -- mocha --reporter dot './test/**/*.test.js'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b8cd1a37-4d3a-4c94-9759-179774f549f2"}},"repository":{"url":"git+https://github.com/TryGhost/framework.git","type":"git","directory":"packages/security"},"_npmVersion":"11.10.1","description":"Security primitives for token generation, password hashing, and safe identifiers","directories":{},"_nodeVersion":"22.22.0","dependencies":{"bcryptjs":"3.0.3","@tryghost/string":"0.2.21"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"10.1.3","uuid":"13.0.0","mocha":"11.7.5","sinon":"21.0.1"},"_npmOperationalInternal":{"tmp":"tmp/security_2.2.0_1771641397536_0.06445581942050826","host":"s3://npm-registry-packages-npm-production"}},"2.2.1":{"name":"@tryghost/security","version":"2.2.1","author":{"name":"Ghost Foundation"},"license":"MIT","_id":"@tryghost/security@2.2.1","maintainers":[{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"kernalghost","email":"matthew@ghost.org"},{"name":"chrisraible","email":"chris@ghost.org"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"minimaluminium","email":"sodbileg.gansukh@gmail.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"pauladamdavis","email":"paul@ghost.org"},{"name":"bobvaneck","email":"bobvaneck@gmail.com"},{"name":"joeegrigg","email":"account@joegrigg.com"},{"name":"hadret","email":"filip@ghost.org"},{"name":"jonhickman","email":"jon@theplan.co.uk"},{"name":"erik-ghost","email":"erik@ghost.org"},{"name":"sagzy","email":"guptazy@gmail.com"},{"name":"vershwal","email":"vershwal.princi@gmail.com"},{"name":"mike182uk","email":"mike182uk@gmail.com"},{"name":"lsinger","email":"leif@ghost.org"},{"name":"rblstr-ghost","email":"rob@ghost.org"},{"name":"evanhahn-ghost","email":"evan@ghost.org"},{"name":"weylandswart","email":"weyland.swart@gmail.com"},{"name":"ghost-slimer","email":"info@ghost.org"},{"name":"tmciesco","email":"tmciesco@gmail.com"},{"name":"jonatan-ghost","email":"jonatan@ghost.org"},{"name":"9larsons","email":"9larsons@gmail.com"}],"homepage":"https://github.com/TryGhost/framework#readme","bugs":{"url":"https://github.com/TryGhost/framework/issues"},"dist":{"shasum":"d711d05cf06d0fc3a8b7bf230b5530c5366dbaad","tarball":"https://registry.npmjs.org/@tryghost/security/-/security-2.2.1.tgz","fileCount":9,"integrity":"sha512-+VLi/XHSMSGlcyeVE8ISx4qouRpFKQAy6sAiR+khCkgVZgsUysAegyXC6/slLmit6xZaUWSmg6hCRNd42nS6Qw==","signatures":[{"sig":"MEYCIQD9P2jFrmFMWQX8agLWg3Nfi+/hv33+PbNCKVBbDfdB8AIhAL38EvjpoqXyaAmQUXUfqGN0IM4w8Q6x+zdDl7wDIKAn","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tryghost%2fsecurity@2.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":8987},"main":"index.js","gitHead":"bc92ccdb220af24d9de60644ba9bac0fc3368ecc","scripts":{"dev":"echo \"Implement me!\"","lint":"yarn lint:code && yarn lint:test","test":"yarn test:unit","lint:code":"eslint *.js lib/ --ext .js --cache","lint:test":"eslint -c test/.eslintrc.js test/ --ext .js --cache","test:unit":"NODE_ENV=testing c8 --all --check-coverage --100 --reporter text --reporter cobertura -- mocha --reporter dot './test/**/*.test.js'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b8cd1a37-4d3a-4c94-9759-179774f549f2"}},"repository":{"url":"git+https://github.com/TryGhost/framework.git","type":"git","directory":"packages/security"},"_npmVersion":"11.10.1","description":"Security primitives for token generation, password hashing, and safe identifiers","directories":{},"_nodeVersion":"22.22.0","dependencies":{"bcryptjs":"3.0.3","@tryghost/string":"0.2.21"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"10.1.3","uuid":"13.0.0","mocha":"11.7.5","sinon":"21.0.1"},"_npmOperationalInternal":{"tmp":"tmp/security_2.2.1_1771642983608_0.31524662570727635","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"name":"@tryghost/security","version":"3.0.0","author":{"name":"Ghost Foundation"},"license":"MIT","_id":"@tryghost/security@3.0.0","maintainers":[{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"kernalghost","email":"matthew@ghost.org"},{"name":"chrisraible","email":"chris@ghost.org"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"minimaluminium","email":"sodbileg.gansukh@gmail.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"pauladamdavis","email":"paul@ghost.org"},{"name":"bobvaneck","email":"bobvaneck@gmail.com"},{"name":"joeegrigg","email":"account@joegrigg.com"},{"name":"hadret","email":"filip@ghost.org"},{"name":"jonhickman","email":"jon@theplan.co.uk"},{"name":"erik-ghost","email":"erik@ghost.org"},{"name":"sagzy","email":"guptazy@gmail.com"},{"name":"vershwal","email":"vershwal.princi@gmail.com"},{"name":"mike182uk","email":"mike182uk@gmail.com"},{"name":"lsinger","email":"leif@ghost.org"},{"name":"rblstr-ghost","email":"rob@ghost.org"},{"name":"evanhahn-ghost","email":"evan@ghost.org"},{"name":"weylandswart","email":"weyland.swart@gmail.com"},{"name":"ghost-slimer","email":"info@ghost.org"},{"name":"tmciesco","email":"tmciesco@gmail.com"},{"name":"jonatan-ghost","email":"jonatan@ghost.org"},{"name":"9larsons","email":"9larsons@gmail.com"}],"homepage":"https://github.com/TryGhost/framework#readme","bugs":{"url":"https://github.com/TryGhost/framework/issues"},"dist":{"shasum":"260006745af43dc9fc756cd988491bd9f8f2cf09","tarball":"https://registry.npmjs.org/@tryghost/security/-/security-3.0.0.tgz","fileCount":9,"integrity":"sha512-aTkeiSD2loDohyrfzZSW+9BOx1jmFJ0F0qjL/wn63QgI5zSn2YkZldE4NthGMNiEMgJQycD+byAxVWraX3zbmA==","signatures":[{"sig":"MEYCIQDAx/l2/vdG7mQpfV0pEyYYRkDkAl2/eZYULocfTOCOhQIhAOyyDuE7gTAexjq15N+5YHvFTU5XJGIG66Hgx7EeztR2","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tryghost%2fsecurity@3.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":8986},"main":"index.js","gitHead":"a7c0e5ace01732810f9c68c61b320fc9cb089410","scripts":{"dev":"echo \"Implement me!\"","lint":"yarn lint:code && yarn lint:test","test":"yarn test:unit","lint:code":"eslint *.js lib/ --ext .js --cache","lint:test":"eslint -c test/.eslintrc.js test/ --ext .js --cache","test:unit":"NODE_ENV=testing c8 --all --check-coverage --100 --reporter text --reporter cobertura -- mocha --reporter dot './test/**/*.test.js'"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b8cd1a37-4d3a-4c94-9759-179774f549f2"}},"repository":{"url":"git+https://github.com/TryGhost/framework.git","type":"git","directory":"packages/security"},"_npmVersion":"11.11.0","description":"Security primitives for token generation, password hashing, and safe identifiers","directories":{},"_nodeVersion":"24.13.1","dependencies":{"bcryptjs":"3.0.3","@tryghost/string":"0.3.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"11.0.0","uuid":"13.0.0","mocha":"11.7.5","sinon":"21.0.1"},"_npmOperationalInternal":{"tmp":"tmp/security_3.0.0_1772470733683_0.5378782540861031","host":"s3://npm-registry-packages-npm-production"}},"3.0.1":{"name":"@tryghost/security","version":"3.0.1","author":{"name":"Ghost Foundation"},"license":"MIT","_id":"@tryghost/security@3.0.1","maintainers":[{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"kernalghost","email":"matthew@ghost.org"},{"name":"chrisraible","email":"chris@ghost.org"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"minimaluminium","email":"sodbileg.gansukh@gmail.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"pauladamdavis","email":"paul@ghost.org"},{"name":"bobvaneck","email":"bobvaneck@gmail.com"},{"name":"joeegrigg","email":"account@joegrigg.com"},{"name":"hadret","email":"filip@ghost.org"},{"name":"jonhickman","email":"jon@theplan.co.uk"},{"name":"erik-ghost","email":"erik@ghost.org"},{"name":"sagzy","email":"guptazy@gmail.com"},{"name":"vershwal","email":"vershwal.princi@gmail.com"},{"name":"mike182uk","email":"mike182uk@gmail.com"},{"name":"lsinger","email":"leif@ghost.org"},{"name":"rblstr-ghost","email":"rob@ghost.org"},{"name":"evanhahn-ghost","email":"evan@ghost.org"},{"name":"weylandswart","email":"weyland.swart@gmail.com"},{"name":"ghost-slimer","email":"info@ghost.org"},{"name":"tmciesco","email":"tmciesco@gmail.com"},{"name":"jonatan-ghost","email":"jonatan@ghost.org"},{"name":"9larsons","email":"9larsons@gmail.com"}],"homepage":"https://github.com/TryGhost/framework#readme","bugs":{"url":"https://github.com/TryGhost/framework/issues"},"dist":{"shasum":"0f283ceac0e0d6bc7fdbad7ab6dce06b21ba41d9","tarball":"https://registry.npmjs.org/@tryghost/security/-/security-3.0.1.tgz","fileCount":9,"integrity":"sha512-/L1x9rvYjLH0hTu19gkSvaKpPkwCmMH7GXnrMEtRGAUebNqdbygMxXD+5kS8KFSOw24iYpvm5Ksce8ZaC4q4cA==","signatures":[{"sig":"MEQCIE4RV1CvYiaauidLPprymtkWpJwGpYcJGBQkUcnNmB4xAiA1fEGtXKvOp7aodfB5TdMgv7SG905YnfSm7ejy/kVamA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tryghost%2fsecurity@3.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":8882},"main":"index.js","gitHead":"2ce1aa4afde1d3870217f3a7186075b7fdf41eae","scripts":{"dev":"echo \"Implement me!\"","lint":"yarn lint:code && yarn lint:test","test":"yarn test:unit","lint:code":"eslint *.js lib/ --ext .js --cache","lint:test":"eslint -c test/.eslintrc.js test/ --ext .js --cache","test:unit":"NODE_ENV=testing vitest run --coverage --config ../../vitest.config.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b8cd1a37-4d3a-4c94-9759-179774f549f2"}},"repository":{"url":"git+https://github.com/TryGhost/framework.git","type":"git","directory":"packages/security"},"_npmVersion":"11.11.0","description":"Security primitives for token generation, password hashing, and safe identifiers","directories":{},"_nodeVersion":"24.14.0","dependencies":{"bcryptjs":"3.0.3","@tryghost/string":"0.3.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"uuid":"13.0.0","sinon":"21.0.2"},"_npmOperationalInternal":{"tmp":"tmp/security_3.0.1_1773157810980_0.6538156136553239","host":"s3://npm-registry-packages-npm-production"}},"3.0.2":{"name":"@tryghost/security","version":"3.0.2","author":{"name":"Ghost Foundation"},"license":"MIT","_id":"@tryghost/security@3.0.2","maintainers":[{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"kernalghost","email":"matthew@ghost.org"},{"name":"chrisraible","email":"chris@ghost.org"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"minimaluminium","email":"sodbileg.gansukh@gmail.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"pauladamdavis","email":"paul@ghost.org"},{"name":"bobvaneck","email":"bobvaneck@gmail.com"},{"name":"joeegrigg","email":"account@joegrigg.com"},{"name":"hadret","email":"filip@ghost.org"},{"name":"jonhickman","email":"jon@theplan.co.uk"},{"name":"erik-ghost","email":"erik@ghost.org"},{"name":"sagzy","email":"guptazy@gmail.com"},{"name":"vershwal","email":"vershwal.princi@gmail.com"},{"name":"mike182uk","email":"mike182uk@gmail.com"},{"name":"lsinger","email":"leif@ghost.org"},{"name":"rblstr-ghost","email":"rob@ghost.org"},{"name":"evanhahn-ghost","email":"evan@ghost.org"},{"name":"weylandswart","email":"weyland.swart@gmail.com"},{"name":"ghost-slimer","email":"info@ghost.org"},{"name":"tmciesco","email":"tmciesco@gmail.com"},{"name":"jonatan-ghost","email":"jonatan@ghost.org"},{"name":"9larsons","email":"9larsons@gmail.com"}],"homepage":"https://github.com/TryGhost/framework#readme","bugs":{"url":"https://github.com/TryGhost/framework/issues"},"dist":{"shasum":"23dcd2ab8f28c25590b0e38f9561543e2223f792","tarball":"https://registry.npmjs.org/@tryghost/security/-/security-3.0.2.tgz","fileCount":9,"integrity":"sha512-teVBp4b8WRZQk7AaKX7acfgCYn+SvJpckKp4srUFADurOeSQx980VUHYJZ62hDN7oX0I4enXO5IxWbe1XDz9iQ==","signatures":[{"sig":"MEYCIQDO148jsbYK5nkAICQ42+D7g5iwPQrvGhme010Jg3yg3QIhANW7VZDoy3+dxrNxRg1zV9YJqDY1Qnsy6OIJpwGoCooJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tryghost%2fsecurity@3.0.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":8882},"main":"index.js","gitHead":"2bd07ce13161c206f2ff480daa2b878561c85e5e","scripts":{"dev":"echo \"Implement me!\"","lint":"yarn lint:code && yarn lint:test","test":"yarn test:unit","lint:code":"eslint *.js lib/ --ext .js --cache","lint:test":"eslint -c test/.eslintrc.js test/ --ext .js --cache","test:unit":"NODE_ENV=testing vitest run --coverage --config ../../vitest.config.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b8cd1a37-4d3a-4c94-9759-179774f549f2"}},"repository":{"url":"git+https://github.com/TryGhost/framework.git","type":"git","directory":"packages/security"},"_npmVersion":"11.11.0","description":"Security primitives for token generation, password hashing, and safe identifiers","directories":{},"_nodeVersion":"24.14.0","dependencies":{"bcryptjs":"3.0.3","@tryghost/string":"0.3.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"uuid":"13.0.0","sinon":"21.0.2"},"_npmOperationalInternal":{"tmp":"tmp/security_3.0.2_1773237427121_0.35752434173468317","host":"s3://npm-registry-packages-npm-production"}},"3.0.3":{"name":"@tryghost/security","version":"3.0.3","author":{"name":"Ghost Foundation"},"license":"MIT","_id":"@tryghost/security@3.0.3","maintainers":[{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"kernalghost","email":"matthew@ghost.org"},{"name":"chrisraible","email":"chris@ghost.org"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"minimaluminium","email":"sodbileg.gansukh@gmail.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"pauladamdavis","email":"paul@ghost.org"},{"name":"bobvaneck","email":"bobvaneck@gmail.com"},{"name":"joeegrigg","email":"account@joegrigg.com"},{"name":"hadret","email":"filip@ghost.org"},{"name":"jonhickman","email":"jon@theplan.co.uk"},{"name":"erik-ghost","email":"erik@ghost.org"},{"name":"sagzy","email":"guptazy@gmail.com"},{"name":"vershwal","email":"vershwal.princi@gmail.com"},{"name":"mike182uk","email":"mike182uk@gmail.com"},{"name":"lsinger","email":"leif@ghost.org"},{"name":"rblstr-ghost","email":"rob@ghost.org"},{"name":"evanhahn-ghost","email":"evan@ghost.org"},{"name":"weylandswart","email":"weyland.swart@gmail.com"},{"name":"ghost-slimer","email":"info@ghost.org"},{"name":"tmciesco","email":"tmciesco@gmail.com"},{"name":"jonatan-ghost","email":"jonatan@ghost.org"},{"name":"9larsons","email":"9larsons@gmail.com"}],"homepage":"https://github.com/TryGhost/framework#readme","bugs":{"url":"https://github.com/TryGhost/framework/issues"},"dist":{"shasum":"25876356b831bc8ec2ea6019465d0eba2d0776ab","tarball":"https://registry.npmjs.org/@tryghost/security/-/security-3.0.3.tgz","fileCount":9,"integrity":"sha512-dOS9hPhK2bFUY2CunG/1+Jh6XLdOzp6f6yFW5F6XcThBM9Iy9VERH6tetg01DV/i6Alw/i/zf2dLya8CdsltKA==","signatures":[{"sig":"MEUCIElHGtVozJZ97FrGLZuxAEDuvEzPOqSV2FjHMJ5ekn+gAiEAyqqX+TXENG4zEhPRwMUlZ3uyRX3msQ1HQzXYUXPGtoI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tryghost%2fsecurity@3.0.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":8882},"main":"index.js","gitHead":"2c65889add9feedcb29f984e63057087ca54ae69","scripts":{"dev":"echo \"Implement me!\"","lint":"yarn lint:code && yarn lint:test","test":"yarn test:unit","lint:code":"eslint *.js lib/ --ext .js --cache","lint:test":"eslint -c test/.eslintrc.js test/ --ext .js --cache","test:unit":"NODE_ENV=testing vitest run --coverage --config ../../vitest.config.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b8cd1a37-4d3a-4c94-9759-179774f549f2"}},"repository":{"url":"git+https://github.com/TryGhost/framework.git","type":"git","directory":"packages/security"},"_npmVersion":"11.11.1","description":"Security primitives for token generation, password hashing, and safe identifiers","directories":{},"_nodeVersion":"24.14.0","dependencies":{"bcryptjs":"3.0.3","@tryghost/string":"0.3.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"uuid":"13.0.0","sinon":"21.0.2"},"_npmOperationalInternal":{"tmp":"tmp/security_3.0.3_1773655108181_0.7948005735607193","host":"s3://npm-registry-packages-npm-production"}},"3.1.0":{"name":"@tryghost/security","version":"3.1.0","author":{"name":"Ghost Foundation"},"license":"MIT","_id":"@tryghost/security@3.1.0","maintainers":[{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"kernalghost","email":"matthew@ghost.org"},{"name":"chrisraible","email":"chris@ghost.org"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"minimaluminium","email":"sodbileg.gansukh@gmail.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"pauladamdavis","email":"paul@ghost.org"},{"name":"bobvaneck","email":"bobvaneck@gmail.com"},{"name":"joeegrigg","email":"account@joegrigg.com"},{"name":"hadret","email":"filip@ghost.org"},{"name":"jonhickman","email":"jon@theplan.co.uk"},{"name":"erik-ghost","email":"erik@ghost.org"},{"name":"sagzy","email":"guptazy@gmail.com"},{"name":"vershwal","email":"vershwal.princi@gmail.com"},{"name":"mike182uk","email":"mike182uk@gmail.com"},{"name":"lsinger","email":"leif@ghost.org"},{"name":"nickmoreton","email":"nick@ghost.org"},{"name":"rblstr-ghost","email":"rob@ghost.org"},{"name":"evanhahn-ghost","email":"evan@ghost.org"},{"name":"weylandswart","email":"weyland.swart@gmail.com"},{"name":"ghost-slimer","email":"info@ghost.org"},{"name":"tmciesco","email":"tmciesco@gmail.com"},{"name":"jonatan-ghost","email":"jonatan@ghost.org"},{"name":"9larsons","email":"9larsons@gmail.com"}],"homepage":"https://github.com/TryGhost/framework#readme","bugs":{"url":"https://github.com/TryGhost/framework/issues"},"dist":{"shasum":"c820c867374697090915b559232fa1243d7ed0de","tarball":"https://registry.npmjs.org/@tryghost/security/-/security-3.1.0.tgz","fileCount":10,"integrity":"sha512-M1boInUyJhftX4qWdEJdr0Xk8G5lBU+GT82m8K5XvvSnE91q7Gre/GRCNDi2b1uz00vXGRuu9U6FURQEIX/WPw==","signatures":[{"sig":"MEUCIGcH7XgEIQ2lS74QhchIKJBTjBbez4fpbVJ3OgR9g88QAiEArR+NQdTLOMe8YNtPtaSy76DWf1IT/66GFkJfwKIUVh4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tryghost%2fsecurity@3.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":9845},"main":"index.js","_from":"file:tryghost-security-3.1.0.tgz","scripts":{"dev":"echo \"Implement me!\"","lint":"oxlint -c ../../.oxlintrc.json .","test":"pnpm run test:unit","test:unit":"NODE_ENV=testing vitest run --coverage --config ../../vitest.config.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b8cd1a37-4d3a-4c94-9759-179774f549f2"}},"_resolved":"/tmp/8dc4a4a6c93432b69ffccca97592437e/tryghost-security-3.1.0.tgz","_integrity":"sha512-M1boInUyJhftX4qWdEJdr0Xk8G5lBU+GT82m8K5XvvSnE91q7Gre/GRCNDi2b1uz00vXGRuu9U6FURQEIX/WPw==","repository":{"url":"git+https://github.com/TryGhost/framework.git","type":"git","directory":"packages/security"},"_npmVersion":"11.12.1","description":"Security primitives for token generation, password hashing, and safe identifiers","directories":{},"_nodeVersion":"24.14.1","dependencies":{"bcryptjs":"3.0.3","@tryghost/string":"0.3.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"uuid":"13.0.0","sinon":"21.1.2"},"_npmOperationalInternal":{"tmp":"tmp/security_3.1.0_1776868930016_0.9599817215955244","host":"s3://npm-registry-packages-npm-production"}},"3.2.0":{"name":"@tryghost/security","version":"3.2.0","author":{"name":"Ghost Foundation"},"license":"MIT","_id":"@tryghost/security@3.2.0","maintainers":[{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"kernalghost","email":"matthew@ghost.org"},{"name":"chrisraible","email":"chris@ghost.org"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"minimaluminium","email":"sodbileg.gansukh@gmail.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"pauladamdavis","email":"paul@ghost.org"},{"name":"bobvaneck","email":"bobvaneck@gmail.com"},{"name":"joeegrigg","email":"account@joegrigg.com"},{"name":"hadret","email":"filip@ghost.org"},{"name":"jonhickman","email":"jon@theplan.co.uk"},{"name":"erik-ghost","email":"erik@ghost.org"},{"name":"sagzy","email":"guptazy@gmail.com"},{"name":"vershwal","email":"vershwal.princi@gmail.com"},{"name":"mike182uk","email":"mike182uk@gmail.com"},{"name":"lsinger","email":"leif@ghost.org"},{"name":"nickmoreton","email":"nick@ghost.org"},{"name":"rblstr-ghost","email":"rob@ghost.org"},{"name":"evanhahn-ghost","email":"evan@ghost.org"},{"name":"weylandswart","email":"weyland.swart@gmail.com"},{"name":"ghost-slimer","email":"info@ghost.org"},{"name":"tmciesco","email":"tmciesco@gmail.com"},{"name":"jonatan-ghost","email":"jonatan@ghost.org"},{"name":"9larsons","email":"9larsons@gmail.com"}],"homepage":"https://github.com/TryGhost/framework#readme","bugs":{"url":"https://github.com/TryGhost/framework/issues"},"dist":{"shasum":"af7dbd2a70139bb936d7d0b7015adffcb50bbd53","tarball":"https://registry.npmjs.org/@tryghost/security/-/security-3.2.0.tgz","fileCount":10,"integrity":"sha512-A0THqsti4hJ20nraK24kUJGDS5Syf4hpLLrJLUQXWmLjdJv1qqgaIrQt9JgYtQFxzmkg10sdBlXFuhlvZ2sPnQ==","signatures":[{"sig":"MEUCIQCQUrV7IODKcK1Lf08/B9Hypd5yQrxFMOUKO9mH7+4EIwIgDiHb+aob1J6Exs/bvFUoVWZMHdxHpBb9kimzJN4KoGI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tryghost%2fsecurity@3.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":9752},"main":"index.js","_from":"file:tryghost-security-3.2.0.tgz","scripts":{"dev":"echo \"Implement me!\"","lint":"oxlint -c ../../.oxlintrc.json .","test":"NODE_ENV=testing vitest run --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b8cd1a37-4d3a-4c94-9759-179774f549f2"}},"_resolved":"/tmp/383412d19cfbc5bf7de5816b421d7959/tryghost-security-3.2.0.tgz","_integrity":"sha512-A0THqsti4hJ20nraK24kUJGDS5Syf4hpLLrJLUQXWmLjdJv1qqgaIrQt9JgYtQFxzmkg10sdBlXFuhlvZ2sPnQ==","repository":{"url":"git+https://github.com/TryGhost/framework.git","type":"git","directory":"packages/security"},"_npmVersion":"11.11.0","description":"Security primitives for token generation, password hashing, and safe identifiers","directories":{},"_nodeVersion":"24.14.1","dependencies":{"bcryptjs":"3.0.3","@tryghost/string":"0.3.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"sinon":"21.1.2"},"_npmOperationalInternal":{"tmp":"tmp/security_3.2.0_1777304518900_0.8812635364480008","host":"s3://npm-registry-packages-npm-production"}},"3.2.1":{"name":"@tryghost/security","version":"3.2.1","author":"Ghost Foundation","license":"MIT","_id":"@tryghost/security@3.2.1","maintainers":[{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"kernalghost","email":"matthew@ghost.org"},{"name":"chrisraible","email":"chris@ghost.org"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"minimaluminium","email":"sodbileg.gansukh@gmail.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"pauladamdavis","email":"paul@ghost.org"},{"name":"bobvaneck","email":"bobvaneck@gmail.com"},{"name":"joeegrigg","email":"account@joegrigg.com"},{"name":"hadret","email":"filip@ghost.org"},{"name":"jonhickman","email":"jon@theplan.co.uk"},{"name":"erik-ghost","email":"erik@ghost.org"},{"name":"sagzy","email":"guptazy@gmail.com"},{"name":"vershwal","email":"vershwal.princi@gmail.com"},{"name":"mike182uk","email":"mike182uk@gmail.com"},{"name":"luissazevedo","email":"luis@ghost.org"},{"name":"lsinger","email":"leif@ghost.org"},{"name":"nickmoreton","email":"nick@ghost.org"},{"name":"renatoworks","email":"renatocesarcp@gmail.com"},{"name":"rblstr-ghost","email":"rob@ghost.org"},{"name":"evanhahn-ghost","email":"evan@ghost.org"},{"name":"weylandswart","email":"weyland.swart@gmail.com"},{"name":"ghost-slimer","email":"info@ghost.org"},{"name":"tmciesco","email":"tmciesco@gmail.com"},{"name":"jonatan-ghost","email":"jonatan@ghost.org"},{"name":"9larsons","email":"9larsons@gmail.com"}],"dist":{"shasum":"53076e40312447048c4b2b92a98ca9924663bd50","tarball":"https://registry.npmjs.org/@tryghost/security/-/security-3.2.1.tgz","fileCount":10,"integrity":"sha512-CTCNrMZSMRJCqOA6wJl1C+/6mq9k3SaBUGwbmPGdnEMKHuA1gEYQSw9CiVTXg3i+vTSdvkL5/2J4oqJNWn8jCQ==","signatures":[{"sig":"MEYCIQDyk2bydIumVChQNhb24cBc7RMoIPJKegesVutQSf2pMQIhAJi8Ro9tkBt1gUHfloRo1NCijHd/tE/1+g6BsA7gi0wk","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tryghost%2fsecurity@3.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":9752},"main":"index.js","scripts":{"dev":"echo \"Implement me!\"","lint":"oxlint -c ../../.oxlintrc.json .","test":"NODE_ENV=testing vitest run --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b8cd1a37-4d3a-4c94-9759-179774f549f2"}},"repository":{"url":"git+https://github.com/TryGhost/framework.git","type":"git","directory":"packages/security"},"description":"Security primitives for token generation, password hashing, and safe identifiers","directories":{},"_nodeVersion":"24.15.0","dependencies":{"bcryptjs":"3.0.3","@tryghost/string":"0.3.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"sinon":"22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/security_3.2.1_1779807041468_0.3996215775031138","host":"s3://npm-registry-packages-npm-production"}},"3.2.2":{"name":"@tryghost/security","version":"3.2.2","author":"Ghost Foundation","license":"MIT","_id":"@tryghost/security@3.2.2","maintainers":[{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"kernalghost","email":"matthew@ghost.org"},{"name":"chrisraible","email":"chris@ghost.org"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"minimaluminium","email":"sodbileg.gansukh@gmail.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"pauladamdavis","email":"paul@ghost.org"},{"name":"bobvaneck","email":"bobvaneck@gmail.com"},{"name":"joeegrigg","email":"account@joegrigg.com"},{"name":"hadret","email":"filip@ghost.org"},{"name":"jonhickman","email":"jon@theplan.co.uk"},{"name":"erik-ghost","email":"erik@ghost.org"},{"name":"sagzy","email":"guptazy@gmail.com"},{"name":"vershwal","email":"vershwal.princi@gmail.com"},{"name":"mike182uk","email":"mike182uk@gmail.com"},{"name":"luissazevedo","email":"luis@ghost.org"},{"name":"lsinger","email":"leif@ghost.org"},{"name":"nickmoreton","email":"nick@ghost.org"},{"name":"renatoworks","email":"renatocesarcp@gmail.com"},{"name":"rblstr-ghost","email":"rob@ghost.org"},{"name":"evanhahn-ghost","email":"evan@ghost.org"},{"name":"weylandswart","email":"weyland.swart@gmail.com"},{"name":"ghost-slimer","email":"info@ghost.org"},{"name":"tmciesco","email":"tmciesco@gmail.com"},{"name":"jonatan-ghost","email":"jonatan@ghost.org"},{"name":"9larsons","email":"9larsons@gmail.com"}],"dist":{"shasum":"e3ae9539af342bc878f2098e1def69b558506229","tarball":"https://registry.npmjs.org/@tryghost/security/-/security-3.2.2.tgz","fileCount":10,"integrity":"sha512-oJLi8cTTzJpabTVR79p1ynpyNVZUkywjVh5kyp9edkXyMXHl5LxQRryUctvRb2adzdd94G7JsYWEYVjytUESWA==","signatures":[{"sig":"MEUCIQCCr3d/UZRIFg94X1PAJvU6xu9YFdgPuNwlZoBidtOMlAIgZwVYaK3wKGUcvDC1nN6lC9f4qFiGvQu0KzPbErTTcKM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tryghost%2fsecurity@3.2.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":9752},"main":"index.js","scripts":{"dev":"echo \"Implement me!\"","lint":"oxlint -c ../../.oxlintrc.json .","test":"NODE_ENV=testing vitest run --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b8cd1a37-4d3a-4c94-9759-179774f549f2"}},"repository":{"url":"git+https://github.com/TryGhost/framework.git","type":"git","directory":"packages/security"},"description":"Security primitives for token generation, password hashing, and safe identifiers","directories":{},"_nodeVersion":"24.16.0","dependencies":{"bcryptjs":"3.0.3","@tryghost/string":"0.3.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"sinon":"22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/security_3.2.2_1780317916977_0.812715711458428","host":"s3://npm-registry-packages-npm-production"}},"3.2.3":{"name":"@tryghost/security","version":"3.2.3","author":"Ghost Foundation","license":"MIT","_id":"@tryghost/security@3.2.3","maintainers":[{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"kernalghost","email":"matthew@ghost.org"},{"name":"chrisraible","email":"chris@ghost.org"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"minimaluminium","email":"sodbileg.gansukh@gmail.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"pauladamdavis","email":"paul@ghost.org"},{"name":"bobvaneck","email":"bobvaneck@gmail.com"},{"name":"joeegrigg","email":"account@joegrigg.com"},{"name":"hadret","email":"filip@ghost.org"},{"name":"jonhickman","email":"jon@theplan.co.uk"},{"name":"erik-ghost","email":"erik@ghost.org"},{"name":"sagzy","email":"guptazy@gmail.com"},{"name":"vershwal","email":"vershwal.princi@gmail.com"},{"name":"mike182uk","email":"mike182uk@gmail.com"},{"name":"luissazevedo","email":"luis@ghost.org"},{"name":"lsinger","email":"leif@ghost.org"},{"name":"nickmoreton","email":"nick@ghost.org"},{"name":"renatoworks","email":"renatocesarcp@gmail.com"},{"name":"rblstr-ghost","email":"rob@ghost.org"},{"name":"evanhahn-ghost","email":"evan@ghost.org"},{"name":"weylandswart","email":"weyland.swart@gmail.com"},{"name":"ghost-slimer","email":"info@ghost.org"},{"name":"tmciesco","email":"tmciesco@gmail.com"},{"name":"jonatan-ghost","email":"jonatan@ghost.org"},{"name":"9larsons","email":"9larsons@gmail.com"}],"dist":{"shasum":"8daf5257e73b921a5b23e8aedfed2af0e48ee635","tarball":"https://registry.npmjs.org/@tryghost/security/-/security-3.2.3.tgz","fileCount":10,"integrity":"sha512-99UqFRn7pjloAUB6lHSUMQlJ6iJ5vlsBE7sDsMzi81MKQLzJ5/wv8BTxfZ7iR1Z/p1qN77VMY9gzcWXJJfGaDg==","signatures":[{"sig":"MEQCIHrBwKuP/KQ/suAwz4uLpFQoKLF71U/8tqQGjzKqjaY+AiBUylU+zR88c/u44WPjGHKj1Oce8EsKiyLf2yyEzumhGw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tryghost%2fsecurity@3.2.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":9752},"main":"index.js","scripts":{"dev":"echo \"Implement me!\"","lint":"oxlint -c ../../.oxlintrc.json .","test":"NODE_ENV=testing vitest run --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b8cd1a37-4d3a-4c94-9759-179774f549f2"}},"repository":{"url":"git+https://github.com/TryGhost/framework.git","type":"git","directory":"packages/security"},"description":"Security primitives for token generation, password hashing, and safe identifiers","directories":{},"_nodeVersion":"24.16.0","dependencies":{"bcryptjs":"3.0.3","@tryghost/string":"0.3.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"sinon":"22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/security_3.2.3_1781284607033_0.10888339485046794","host":"s3://npm-registry-packages-npm-production"}},"3.3.0":{"name":"@tryghost/security","version":"3.3.0","author":"Ghost Foundation","license":"MIT","_id":"@tryghost/security@3.3.0","maintainers":[{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"kernalghost","email":"matthew@ghost.org"},{"name":"chrisraible","email":"chris@ghost.org"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"minimaluminium","email":"sodbileg.gansukh@gmail.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"pauladamdavis","email":"paul@ghost.org"},{"name":"bobvaneck","email":"bobvaneck@gmail.com"},{"name":"joeegrigg","email":"account@joegrigg.com"},{"name":"hadret","email":"filip@ghost.org"},{"name":"jonhickman","email":"jon@theplan.co.uk"},{"name":"erik-ghost","email":"erik@ghost.org"},{"name":"sagzy","email":"guptazy@gmail.com"},{"name":"vershwal","email":"vershwal.princi@gmail.com"},{"name":"mike182uk","email":"mike182uk@gmail.com"},{"name":"luissazevedo","email":"luis@ghost.org"},{"name":"lsinger","email":"leif@ghost.org"},{"name":"nickmoreton","email":"nick@ghost.org"},{"name":"renatoworks","email":"renatocesarcp@gmail.com"},{"name":"rblstr-ghost","email":"rob@ghost.org"},{"name":"evanhahn-ghost","email":"evan@ghost.org"},{"name":"weylandswart","email":"weyland.swart@gmail.com"},{"name":"ghost-slimer","email":"info@ghost.org"},{"name":"tmciesco","email":"tmciesco@gmail.com"},{"name":"jonatan-ghost","email":"jonatan@ghost.org"},{"name":"9larsons","email":"9larsons@gmail.com"}],"dist":{"shasum":"28b2dca13e2843c945fc7a7434b406f0de8249d8","tarball":"https://registry.npmjs.org/@tryghost/security/-/security-3.3.0.tgz","fileCount":10,"integrity":"sha512-0fca1g7hFbK+wqCytRyfWYLCuWzYTEPJmrREkfedp0Ck7uVxdeaw/YRhMxP8p04N8rj9k5dVNP4Tl8iLbdsrFA==","signatures":[{"sig":"MEUCIQDhy8NfKdNy7F1Yxxd2UI8nbUefCwBzlgoQu+G5hPokZAIgM2ManS1GwKU9QexT9kQ2cAEJV+DyEVZoWusG2npnhYw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tryghost%2fsecurity@3.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":9752},"main":"index.js","scripts":{"dev":"echo \"Implement me!\"","lint":"oxlint -c ../../.oxlintrc.json .","test":"NODE_ENV=testing vitest run --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b8cd1a37-4d3a-4c94-9759-179774f549f2"}},"repository":{"url":"git+https://github.com/TryGhost/framework.git","type":"git","directory":"packages/security"},"description":"Security primitives for token generation, password hashing, and safe identifiers","directories":{},"_nodeVersion":"24.16.0","dependencies":{"bcryptjs":"3.0.3","@tryghost/string":"0.3.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"sinon":"22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/security_3.3.0_1781970058174_0.5501631598934442","host":"s3://npm-registry-packages-npm-production"}},"3.3.1":{"name":"@tryghost/security","version":"3.3.1","author":"Ghost Foundation","license":"MIT","_id":"@tryghost/security@3.3.1","maintainers":[{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"kernalghost","email":"matthew@ghost.org"},{"name":"chrisraible","email":"chris@ghost.org"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"minimaluminium","email":"sodbileg.gansukh@gmail.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"pauladamdavis","email":"paul@ghost.org"},{"name":"bobvaneck","email":"bobvaneck@gmail.com"},{"name":"joeegrigg","email":"account@joegrigg.com"},{"name":"hadret","email":"filip@ghost.org"},{"name":"jonhickman","email":"jon@theplan.co.uk"},{"name":"erik-ghost","email":"erik@ghost.org"},{"name":"sagzy","email":"guptazy@gmail.com"},{"name":"vershwal","email":"vershwal.princi@gmail.com"},{"name":"mike182uk","email":"mike182uk@gmail.com"},{"name":"luissazevedo","email":"luis@ghost.org"},{"name":"lsinger","email":"leif@ghost.org"},{"name":"nickmoreton","email":"nick@ghost.org"},{"name":"renatoworks","email":"renatocesarcp@gmail.com"},{"name":"rblstr-ghost","email":"rob@ghost.org"},{"name":"evanhahn-ghost","email":"evan@ghost.org"},{"name":"weylandswart","email":"weyland.swart@gmail.com"},{"name":"ghost-slimer","email":"info@ghost.org"},{"name":"tmciesco","email":"tmciesco@gmail.com"},{"name":"jonatan-ghost","email":"jonatan@ghost.org"},{"name":"9larsons","email":"9larsons@gmail.com"}],"dist":{"shasum":"8d436ea2e6d5180e54b662674814a8901e7c26e0","tarball":"https://registry.npmjs.org/@tryghost/security/-/security-3.3.1.tgz","fileCount":10,"integrity":"sha512-UcLSCaQAVbTHTcssjtNeLJbmG0bIyA2q8jvdZXm+rfef2Ida0TWxQKb+VxlMRhDXtaKzDrLJPKJDsMxafpBp3w==","signatures":[{"sig":"MEUCIQCE0F8Fp13v+NQrmt3RDyjZjyanMzt932LS3baDjBV8LgIgHeNjpyEkFuQIs9YVdlMbRcErHmZyxwa6RaZqqRad+R0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tryghost%2fsecurity@3.3.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":9752},"main":"index.js","scripts":{"dev":"echo \"Implement me!\"","lint":"oxlint -c ../../.oxlintrc.json .","test":"NODE_ENV=testing vitest run --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b8cd1a37-4d3a-4c94-9759-179774f549f2"}},"repository":{"url":"git+https://github.com/TryGhost/framework.git","type":"git","directory":"packages/security"},"description":"Security primitives for token generation, password hashing, and safe identifiers","directories":{},"_nodeVersion":"24.16.0","dependencies":{"bcryptjs":"3.0.3","@tryghost/string":"0.3.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"sinon":"22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/security_3.3.1_1782341335083_0.843297319275971","host":"s3://npm-registry-packages-npm-production"}},"3.3.2":{"name":"@tryghost/security","version":"3.3.2","author":"Ghost Foundation","license":"MIT","_id":"@tryghost/security@3.3.2","maintainers":[{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"kernalghost","email":"matthew@ghost.org"},{"name":"chrisraible","email":"chris@ghost.org"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"minimaluminium","email":"sodbileg.gansukh@gmail.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"pauladamdavis","email":"paul@ghost.org"},{"name":"bobvaneck","email":"bobvaneck@gmail.com"},{"name":"joeegrigg","email":"account@joegrigg.com"},{"name":"hadret","email":"filip@ghost.org"},{"name":"jonhickman","email":"jon@theplan.co.uk"},{"name":"erik-ghost","email":"erik@ghost.org"},{"name":"sagzy","email":"guptazy@gmail.com"},{"name":"vershwal","email":"vershwal.princi@gmail.com"},{"name":"zach1618","email":"zach@ghost.org"},{"name":"mike182uk","email":"mike182uk@gmail.com"},{"name":"luissazevedo","email":"luis@ghost.org"},{"name":"lsinger","email":"leif@ghost.org"},{"name":"nickmoreton","email":"nick@ghost.org"},{"name":"renatoworks","email":"renatocesarcp@gmail.com"},{"name":"rblstr-ghost","email":"rob@ghost.org"},{"name":"evanhahn-ghost","email":"evan@ghost.org"},{"name":"weylandswart","email":"weyland.swart@gmail.com"},{"name":"ghost-slimer","email":"info@ghost.org"},{"name":"tmciesco","email":"tmciesco@gmail.com"},{"name":"jonatan-ghost","email":"jonatan@ghost.org"},{"name":"9larsons","email":"9larsons@gmail.com"}],"dist":{"shasum":"43f7a1de0661f7a1bcf8a97a17f1681200689bfd","tarball":"https://registry.npmjs.org/@tryghost/security/-/security-3.3.2.tgz","fileCount":10,"integrity":"sha512-Xwhb4xztbny2Z0rI+0LWhxVEFDEji3yZ6dALxW77UOQDizvJwNBEM0U5lr+QJOkvbn0d8seOW0Rq06LSIDshzA==","signatures":[{"sig":"MEUCIQDYDQf8euWTha8veVWMv25W+l5Fh6dGuTTQ33d/Iyl1YQIgAKr2HhZCfID3AsshbkBGBkIx2Ki7H2xXGN9pD+nl0cw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tryghost%2fsecurity@3.3.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":9954},"main":"index.js","scripts":{"dev":"echo \"Implement me!\"","lint":"oxlint -c ../../.oxlintrc.json .","test":"NODE_ENV=testing vitest run --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b8cd1a37-4d3a-4c94-9759-179774f549f2"}},"repository":{"url":"git+https://github.com/TryGhost/framework.git","type":"git","directory":"packages/security"},"description":"Security primitives for token generation, password hashing, and safe identifiers","directories":{},"_nodeVersion":"24.18.0","dependencies":{"bcryptjs":"3.0.3","@tryghost/string":"0.3.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"sinon":"22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/security_3.3.2_1784120954578_0.8432597200739143","host":"s3://npm-registry-packages-npm-production"}},"3.3.3":{"name":"@tryghost/security","version":"3.3.3","author":"Ghost Foundation","license":"MIT","_id":"@tryghost/security@3.3.3","maintainers":[{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"kernalghost","email":"matthew@ghost.org"},{"name":"chrisraible","email":"chris@ghost.org"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"minimaluminium","email":"sodbileg.gansukh@gmail.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"pauladamdavis","email":"paul@ghost.org"},{"name":"bobvaneck","email":"bobvaneck@gmail.com"},{"name":"joeegrigg","email":"account@joegrigg.com"},{"name":"hadret","email":"filip@ghost.org"},{"name":"jonhickman","email":"jon@theplan.co.uk"},{"name":"erik-ghost","email":"erik@ghost.org"},{"name":"sagzy","email":"guptazy@gmail.com"},{"name":"vershwal","email":"vershwal.princi@gmail.com"},{"name":"zach1618","email":"zach@ghost.org"},{"name":"mike182uk","email":"mike182uk@gmail.com"},{"name":"luissazevedo","email":"luis@ghost.org"},{"name":"lsinger","email":"leif@ghost.org"},{"name":"nickmoreton","email":"nick@ghost.org"},{"name":"renatoworks","email":"renatocesarcp@gmail.com"},{"name":"rblstr-ghost","email":"rob@ghost.org"},{"name":"evanhahn-ghost","email":"evan@ghost.org"},{"name":"austin.burdine","email":"austin@ghost.org"},{"name":"weylandswart","email":"weyland.swart@gmail.com"},{"name":"ghost-slimer","email":"info@ghost.org"},{"name":"tmciesco","email":"tmciesco@gmail.com"},{"name":"jonatan-ghost","email":"jonatan@ghost.org"},{"name":"9larsons","email":"9larsons@gmail.com"}],"dist":{"shasum":"6ba8a5a8502f3ed506ebdabd1f09a7c822829860","tarball":"https://registry.npmjs.org/@tryghost/security/-/security-3.3.3.tgz","fileCount":10,"integrity":"sha512-0Zr0RSWWQof2lMz/TCplCl2T/1EdEM/8z3O702UTtJlzHydrHFBNoI24F1duRoRbrZ/fFxi6OhbAe52YJwrnsA==","signatures":[{"sig":"MEYCIQDZx1XjWFaFDGSg49OuphfLoh0fradVx6pn0OrzSNyjOgIhALWBYz7V9FgXq3EDYsVDWyMeud2wFB8o+yFTJzwCqeIw","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tryghost%2fsecurity@3.3.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":9954},"main":"index.js","scripts":{"dev":"echo \"Implement me!\"","lint":"oxlint -c ../../.oxlintrc.json .","test":"NODE_ENV=testing vitest run --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b8cd1a37-4d3a-4c94-9759-179774f549f2"}},"repository":{"url":"git+https://github.com/TryGhost/framework.git","type":"git","directory":"packages/security"},"description":"Security primitives for token generation, password hashing, and safe identifiers","directories":{},"_nodeVersion":"24.18.0","dependencies":{"bcryptjs":"3.0.3","@tryghost/string":"0.3.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"sinon":"22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/security_3.3.3_1784573600329_0.10678228578044813","host":"s3://npm-registry-packages-npm-production"}},"3.3.4":{"name":"@tryghost/security","version":"3.3.4","author":"Ghost Foundation","license":"MIT","_id":"@tryghost/security@3.3.4","maintainers":[{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"kernalghost","email":"matthew@ghost.org"},{"name":"chrisraible","email":"chris@ghost.org"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"minimaluminium","email":"sodbileg.gansukh@gmail.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"pauladamdavis","email":"paul@ghost.org"},{"name":"bobvaneck","email":"bobvaneck@gmail.com"},{"name":"joeegrigg","email":"account@joegrigg.com"},{"name":"hadret","email":"filip@ghost.org"},{"name":"jonhickman","email":"jon@theplan.co.uk"},{"name":"erik-ghost","email":"erik@ghost.org"},{"name":"sagzy","email":"guptazy@gmail.com"},{"name":"vershwal","email":"vershwal.princi@gmail.com"},{"name":"zach1618","email":"zach@ghost.org"},{"name":"mike182uk","email":"mike182uk@gmail.com"},{"name":"luissazevedo","email":"luis@ghost.org"},{"name":"lsinger","email":"leif@ghost.org"},{"name":"nickmoreton","email":"nick@ghost.org"},{"name":"renatoworks","email":"renatocesarcp@gmail.com"},{"name":"rblstr-ghost","email":"rob@ghost.org"},{"name":"evanhahn-ghost","email":"evan@ghost.org"},{"name":"austin.burdine","email":"austin@ghost.org"},{"name":"weylandswart","email":"weyland.swart@gmail.com"},{"name":"ghost-slimer","email":"info@ghost.org"},{"name":"tmciesco","email":"tmciesco@gmail.com"},{"name":"jonatan-ghost","email":"jonatan@ghost.org"},{"name":"9larsons","email":"9larsons@gmail.com"}],"dist":{"shasum":"913b5e63cc07f3728d4092bb3498e0db7c212675","tarball":"https://registry.npmjs.org/@tryghost/security/-/security-3.3.4.tgz","fileCount":10,"integrity":"sha512-20vRJt3h4f/GdiISH7JWOdMeskGT7q/OfLJO9kWYPGAUOJ8zwGrWy8EbyhkXv/ELGsaODZ1BLZAIpp8K4dRjSA==","signatures":[{"sig":"MEQCIGLrZFN1rI1o4WJjolQvbuCOP59RbBLSOAHYmgvCwqjfAiBrKCl9vCXk+CaccvjtiG517NGnFxRhbKjzqfZtLPwzGA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tryghost%2fsecurity@3.3.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":9954},"main":"index.js","scripts":{"dev":"echo \"Implement me!\"","lint":"oxlint -c ../../.oxlintrc.json .","test":"NODE_ENV=testing vitest run --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b8cd1a37-4d3a-4c94-9759-179774f549f2"}},"repository":{"url":"git+https://github.com/TryGhost/framework.git","type":"git","directory":"packages/security"},"description":"Security primitives for token generation, password hashing, and safe identifiers","directories":{},"_nodeVersion":"24.18.0","dependencies":{"bcryptjs":"3.0.3","@tryghost/string":"0.3.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"sinon":"22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/security_3.3.4_1784577778048_0.29088163369657627","host":"s3://npm-registry-packages-npm-production"}},"3.3.5":{"name":"@tryghost/security","version":"3.3.5","author":"Ghost Foundation","license":"MIT","_id":"@tryghost/security@3.3.5","maintainers":[{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"kernalghost","email":"matthew@ghost.org"},{"name":"chrisraible","email":"chris@ghost.org"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"minimaluminium","email":"sodbileg.gansukh@gmail.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"pauladamdavis","email":"paul@ghost.org"},{"name":"bobvaneck","email":"bobvaneck@gmail.com"},{"name":"joeegrigg","email":"account@joegrigg.com"},{"name":"hadret","email":"filip@ghost.org"},{"name":"jonhickman","email":"jon@theplan.co.uk"},{"name":"erik-ghost","email":"erik@ghost.org"},{"name":"sagzy","email":"guptazy@gmail.com"},{"name":"vershwal","email":"vershwal.princi@gmail.com"},{"name":"zach1618","email":"zach@ghost.org"},{"name":"mike182uk","email":"mike182uk@gmail.com"},{"name":"luissazevedo","email":"luis@ghost.org"},{"name":"lsinger","email":"leif@ghost.org"},{"name":"nickmoreton","email":"nick@ghost.org"},{"name":"renatoworks","email":"renatocesarcp@gmail.com"},{"name":"rblstr-ghost","email":"rob@ghost.org"},{"name":"evanhahn-ghost","email":"evan@ghost.org"},{"name":"austin.burdine","email":"austin@ghost.org"},{"name":"weylandswart","email":"weyland.swart@gmail.com"},{"name":"ghost-slimer","email":"info@ghost.org"},{"name":"tmciesco","email":"tmciesco@gmail.com"},{"name":"jonatan-ghost","email":"jonatan@ghost.org"},{"name":"9larsons","email":"9larsons@gmail.com"}],"dist":{"shasum":"f1cea0070c395891cc734f2cc9731d75f8fbb44c","tarball":"https://registry.npmjs.org/@tryghost/security/-/security-3.3.5.tgz","fileCount":10,"integrity":"sha512-EHitR/2J0Fa5bF5vLIxuUt2JcwDHIa9Y/bWDnAyHnloAUPhWSaGnJuc01Ququlrnr/4XlTV19occCIAV7HVutw==","signatures":[{"sig":"MEUCIG4z7Cmc2Y33qnc1GeA9NWAh8cDRIEE97HX9RBx3hli3AiEAi3A4GNey8GpGac6BjwSdYzERukpoPUCQU8qSJzEfUzQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tryghost%2fsecurity@3.3.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":9954},"main":"index.js","scripts":{"dev":"echo \"Implement me!\"","lint":"oxlint -c ../../.oxlintrc.json .","test":"NODE_ENV=testing vitest run --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b8cd1a37-4d3a-4c94-9759-179774f549f2"}},"repository":{"url":"git+https://github.com/TryGhost/framework.git","type":"git","directory":"packages/security"},"description":"Security primitives for token generation, password hashing, and safe identifiers","directories":{},"_nodeVersion":"24.18.0","dependencies":{"bcryptjs":"3.0.3","@tryghost/string":"0.3.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"sinon":"22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/security_3.3.5_1784746086137_0.5697120242346463","host":"s3://npm-registry-packages-npm-production"}},"3.3.6":{"name":"@tryghost/security","version":"3.3.6","author":"Ghost Foundation","license":"MIT","_id":"@tryghost/security@3.3.6","maintainers":[{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"kernalghost","email":"matthew@ghost.org"},{"name":"chrisraible","email":"chris@ghost.org"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"minimaluminium","email":"sodbileg.gansukh@gmail.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"pauladamdavis","email":"paul@ghost.org"},{"name":"bobvaneck","email":"bobvaneck@gmail.com"},{"name":"joeegrigg","email":"account@joegrigg.com"},{"name":"hadret","email":"filip@ghost.org"},{"name":"jonhickman","email":"jon@theplan.co.uk"},{"name":"erik-ghost","email":"erik@ghost.org"},{"name":"sagzy","email":"guptazy@gmail.com"},{"name":"vershwal","email":"vershwal.princi@gmail.com"},{"name":"zach1618","email":"zach@ghost.org"},{"name":"mike182uk","email":"mike182uk@gmail.com"},{"name":"luissazevedo","email":"luis@ghost.org"},{"name":"lsinger","email":"leif@ghost.org"},{"name":"nickmoreton","email":"nick@ghost.org"},{"name":"renatoworks","email":"renatocesarcp@gmail.com"},{"name":"rblstr-ghost","email":"rob@ghost.org"},{"name":"evanhahn-ghost","email":"evan@ghost.org"},{"name":"austin.burdine","email":"austin@ghost.org"},{"name":"weylandswart","email":"weyland.swart@gmail.com"},{"name":"ghost-slimer","email":"info@ghost.org"},{"name":"tmciesco","email":"tmciesco@gmail.com"},{"name":"jonatan-ghost","email":"jonatan@ghost.org"},{"name":"9larsons","email":"9larsons@gmail.com"}],"dist":{"shasum":"023795f76e1351dd0efa1e71d2673cc372e945fe","tarball":"https://registry.npmjs.org/@tryghost/security/-/security-3.3.6.tgz","fileCount":10,"integrity":"sha512-dcrCfBNpLm/ie0DZY4PTmrw8OZeFacfY18T54Teeo0uMX+OJuX2eD9e7GFsM9zZA/h3Zj5TNHbjBuB6TZvKgUA==","signatures":[{"sig":"MEYCIQDgomjsFa5lTclX29zx7qceY63oxQwDWDCxRje/3XTKfwIhALHPHQ5xVijA4RJoq5k4OCupEe8t4k09KMeBZMRSnDMZ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tryghost%2fsecurity@3.3.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":9954},"main":"index.js","scripts":{"dev":"echo \"Implement me!\"","lint":"oxlint -c ../../.oxlintrc.json .","test":"NODE_ENV=testing vitest run --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b8cd1a37-4d3a-4c94-9759-179774f549f2"}},"repository":{"url":"git+https://github.com/TryGhost/framework.git","type":"git","directory":"packages/security"},"description":"Security primitives for token generation, password hashing, and safe identifiers","directories":{},"_nodeVersion":"24.18.0","dependencies":{"bcryptjs":"3.0.3","@tryghost/string":"0.3.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"sinon":"22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/security_3.3.6_1784831103401_0.25448746151324353","host":"s3://npm-registry-packages-npm-production"}},"3.3.7":{"name":"@tryghost/security","version":"3.3.7","author":"Ghost Foundation","license":"MIT","_id":"@tryghost/security@3.3.7","maintainers":[{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"kernalghost","email":"matthew@ghost.org"},{"name":"chrisraible","email":"chris@ghost.org"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"minimaluminium","email":"sodbileg.gansukh@gmail.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"pauladamdavis","email":"paul@ghost.org"},{"name":"bobvaneck","email":"bobvaneck@gmail.com"},{"name":"joeegrigg","email":"account@joegrigg.com"},{"name":"hadret","email":"filip@ghost.org"},{"name":"erik-ghost","email":"erik@ghost.org"},{"name":"sagzy","email":"guptazy@gmail.com"},{"name":"vershwal","email":"vershwal.princi@gmail.com"},{"name":"zach1618","email":"zach@ghost.org"},{"name":"mike182uk","email":"mike182uk@gmail.com"},{"name":"luissazevedo","email":"luis@ghost.org"},{"name":"lsinger","email":"leif@ghost.org"},{"name":"nickmoreton","email":"nick@ghost.org"},{"name":"renatoworks","email":"renatocesarcp@gmail.com"},{"name":"rblstr-ghost","email":"rob@ghost.org"},{"name":"evanhahn-ghost","email":"evan@ghost.org"},{"name":"austin.burdine","email":"austin@ghost.org"},{"name":"weylandswart","email":"weyland.swart@gmail.com"},{"name":"ghost-slimer","email":"info@ghost.org"},{"name":"tmciesco","email":"tmciesco@gmail.com"},{"name":"jonatan-ghost","email":"jonatan@ghost.org"},{"name":"9larsons","email":"9larsons@gmail.com"}],"dist":{"shasum":"d2b739717bfe28b96c1f512f1631539f9037f99d","tarball":"https://registry.npmjs.org/@tryghost/security/-/security-3.3.7.tgz","fileCount":10,"integrity":"sha512-5JKn92+D17YcBjw3i4xa1Jaf5QRj1ZtimMioZ4q/MRGwcY48PSIWuFVfxNlLj/nSE/SIx0hebnuTx1PHxggaRg==","signatures":[{"sig":"MEQCIA3+ilmq6WgWFVVR385w5rGGhjjrD1zX5HjUqqLrnXLIAiANTaPyItZn8KjieNK9TfYJwGvzFmEWpBmpCkp35mWa7g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tryghost%2fsecurity@3.3.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":9954},"main":"index.js","scripts":{"dev":"echo \"Implement me!\"","lint":"oxlint -c ../../.oxlintrc.json .","test":"NODE_ENV=testing vitest run --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b8cd1a37-4d3a-4c94-9759-179774f549f2"}},"repository":{"url":"git+https://github.com/TryGhost/framework.git","type":"git","directory":"packages/security"},"description":"Security primitives for token generation, password hashing, and safe identifiers","directories":{},"_nodeVersion":"24.18.0","dependencies":{"bcryptjs":"3.0.3","@tryghost/string":"0.3.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"sinon":"22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/security_3.3.7_1786542107446_0.730991400905219","host":"s3://npm-registry-packages-npm-production"}},"3.3.8":{"name":"@tryghost/security","version":"3.3.8","author":"Ghost Foundation","license":"MIT","_id":"@tryghost/security@3.3.8","maintainers":[{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"kernalghost","email":"matthew@ghost.org"},{"name":"chrisraible","email":"chris@ghost.org"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"minimaluminium","email":"sodbileg.gansukh@gmail.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"pauladamdavis","email":"paul@ghost.org"},{"name":"bobvaneck","email":"bobvaneck@gmail.com"},{"name":"joeegrigg","email":"account@joegrigg.com"},{"name":"hadret","email":"filip@ghost.org"},{"name":"erik-ghost","email":"erik@ghost.org"},{"name":"sagzy","email":"guptazy@gmail.com"},{"name":"vershwal","email":"vershwal.princi@gmail.com"},{"name":"zach1618","email":"zach@ghost.org"},{"name":"mike182uk","email":"mike182uk@gmail.com"},{"name":"luissazevedo","email":"luis@ghost.org"},{"name":"lsinger","email":"leif@ghost.org"},{"name":"nickmoreton","email":"nick@ghost.org"},{"name":"renatoworks","email":"renatocesarcp@gmail.com"},{"name":"rblstr-ghost","email":"rob@ghost.org"},{"name":"evanhahn-ghost","email":"evan@ghost.org"},{"name":"austin.burdine","email":"austin@ghost.org"},{"name":"weylandswart","email":"weyland.swart@gmail.com"},{"name":"ghost-slimer","email":"info@ghost.org"},{"name":"tmciesco","email":"tmciesco@gmail.com"},{"name":"jonatan-ghost","email":"jonatan@ghost.org"},{"name":"9larsons","email":"9larsons@gmail.com"}],"dist":{"shasum":"b7d53b1b0bf41956e1620285b5e1c76342a043e2","tarball":"https://registry.npmjs.org/@tryghost/security/-/security-3.3.8.tgz","fileCount":10,"integrity":"sha512-wJbVFlabK3Ax/Yq6TRr8uzQPKBSylgPxXM6GPJCbQkB7PpMtn3fKr60QIus6Lkl/EndsEAYGCVXm4TU1YGS8LA==","signatures":[{"sig":"MEYCIQCsIv0px0q8JAiu9zeK351mqtpEuXFl0QCToCyu3wNlwwIhAKpjyKgoWD4+HED96MsqiNMYrJFwLgamYWp3O1fi1pKR","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tryghost%2fsecurity@3.3.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":9954},"main":"index.js","scripts":{"dev":"echo \"Implement me!\"","lint":"oxlint -c ../../.oxlintrc.json .","test":"NODE_ENV=testing vitest run --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b8cd1a37-4d3a-4c94-9759-179774f549f2"}},"repository":{"url":"git+https://github.com/TryGhost/framework.git","type":"git","directory":"packages/security"},"description":"Security primitives for token generation, password hashing, and safe identifiers","directories":{},"_nodeVersion":"24.19.0","dependencies":{"bcryptjs":"3.0.3","@tryghost/string":"0.3.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"sinon":"22.1.0"},"_npmOperationalInternal":{"tmp":"tmp/security_3.3.8_1786997129595_0.06912817188213016","host":"s3://npm-registry-packages-npm-production"}},"3.3.9":{"name":"@tryghost/security","version":"3.3.9","author":"Ghost Foundation","license":"MIT","_id":"@tryghost/security@3.3.9","maintainers":[{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"kernalghost","email":"matthew@ghost.org"},{"name":"chrisraible","email":"chris@ghost.org"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"minimaluminium","email":"sodbileg.gansukh@gmail.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"pauladamdavis","email":"paul@ghost.org"},{"name":"bobvaneck","email":"bobvaneck@gmail.com"},{"name":"joeegrigg","email":"account@joegrigg.com"},{"name":"hadret","email":"filip@ghost.org"},{"name":"erik-ghost","email":"erik@ghost.org"},{"name":"sagzy","email":"guptazy@gmail.com"},{"name":"vershwal","email":"vershwal.princi@gmail.com"},{"name":"zach1618","email":"zach@ghost.org"},{"name":"mike182uk","email":"mike182uk@gmail.com"},{"name":"luissazevedo","email":"luis@ghost.org"},{"name":"lsinger","email":"leif@ghost.org"},{"name":"nickmoreton","email":"nick@ghost.org"},{"name":"renatoworks","email":"renatocesarcp@gmail.com"},{"name":"rblstr-ghost","email":"rob@ghost.org"},{"name":"evanhahn-ghost","email":"evan@ghost.org"},{"name":"austin.burdine","email":"austin@ghost.org"},{"name":"weylandswart","email":"weyland.swart@gmail.com"},{"name":"ghost-slimer","email":"info@ghost.org"},{"name":"tmciesco","email":"tmciesco@gmail.com"},{"name":"jonatan-ghost","email":"jonatan@ghost.org"},{"name":"9larsons","email":"9larsons@gmail.com"}],"dist":{"shasum":"63988298141e7432fd9bb67b44ee3de524ac5f91","tarball":"https://registry.npmjs.org/@tryghost/security/-/security-3.3.9.tgz","fileCount":10,"integrity":"sha512-2WKpjSxRKiPx7GaX5AZMIKNUYvtrOPuCzBbPlEhoZz0gmT/oFYtR1xQFT03+gBTkH0Zbooay2DZi7z1jjrTkgQ==","signatures":[{"sig":"MEQCIHdeCnQI2fwvu9JWm48DhaBwVAX/BDmo/WRr2Ck4p5TpAiA5x0YIwwtGUv4HjwM2skg3ceX+ufCwI9lmorcwYMWesQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tryghost%2fsecurity@3.3.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":9954},"main":"index.js","scripts":{"dev":"echo \"Implement me!\"","lint":"oxlint -c ../../.oxlintrc.json .","test":"NODE_ENV=testing vitest run --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b8cd1a37-4d3a-4c94-9759-179774f549f2"}},"repository":{"url":"git+https://github.com/TryGhost/framework.git","type":"git","directory":"packages/security"},"description":"Security primitives for token generation, password hashing, and safe identifiers","directories":{},"_nodeVersion":"24.19.0","dependencies":{"bcryptjs":"3.0.3","@tryghost/string":"0.3.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"sinon":"22.1.0"},"_npmOperationalInternal":{"tmp":"tmp/security_3.3.9_1787241648381_0.8010017236361595","host":"s3://npm-registry-packages-npm-production"}},"3.3.10":{"name":"@tryghost/security","version":"3.3.10","author":"Ghost Foundation","license":"MIT","_id":"@tryghost/security@3.3.10","maintainers":[{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"kernalghost","email":"matthew@ghost.org"},{"name":"chrisraible","email":"chris@ghost.org"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"minimaluminium","email":"sodbileg.gansukh@gmail.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"pauladamdavis","email":"paul@ghost.org"},{"name":"bobvaneck","email":"bobvaneck@gmail.com"},{"name":"joeegrigg","email":"account@joegrigg.com"},{"name":"hadret","email":"filip@ghost.org"},{"name":"erik-ghost","email":"erik@ghost.org"},{"name":"sagzy","email":"guptazy@gmail.com"},{"name":"vershwal","email":"vershwal.princi@gmail.com"},{"name":"zach1618","email":"zach@ghost.org"},{"name":"mike182uk","email":"mike182uk@gmail.com"},{"name":"luissazevedo","email":"luis@ghost.org"},{"name":"lsinger","email":"leif@ghost.org"},{"name":"nickmoreton","email":"nick@ghost.org"},{"name":"renatoworks","email":"renatocesarcp@gmail.com"},{"name":"rblstr-ghost","email":"rob@ghost.org"},{"name":"evanhahn-ghost","email":"evan@ghost.org"},{"name":"austin.burdine","email":"austin@ghost.org"},{"name":"weylandswart","email":"weyland.swart@gmail.com"},{"name":"ghost-slimer","email":"info@ghost.org"},{"name":"tmciesco","email":"tmciesco@gmail.com"},{"name":"jonatan-ghost","email":"jonatan@ghost.org"},{"name":"9larsons","email":"9larsons@gmail.com"}],"dist":{"shasum":"043a75f75da2f9b2fd669746c6b46c179a10e4ee","tarball":"https://registry.npmjs.org/@tryghost/security/-/security-3.3.10.tgz","fileCount":10,"integrity":"sha512-1Hyx7VfOYWYwJmyMpvbIxEsvXyXitR6sF28V0fl5GUwk1vhtXBEdOQmafP3iNYuAfCK81A0ETpZtiG2iXOuXFw==","signatures":[{"sig":"MEYCIQCPcuEXMDjAFXrw3dSHNZkxkF7+5FUkS8dXlzi3kIinEQIhAMtStnjVeRlnNDqbkP1ubbgMilXAqyzE4+LR+5Uq2TaE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tryghost%2fsecurity@3.3.10","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":9955},"main":"index.js","scripts":{"dev":"echo \"Implement me!\"","lint":"oxlint -c ../../.oxlintrc.json .","test":"NODE_ENV=testing vitest run --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b8cd1a37-4d3a-4c94-9759-179774f549f2"}},"repository":{"url":"git+https://github.com/TryGhost/framework.git","type":"git","directory":"packages/security"},"description":"Security primitives for token generation, password hashing, and safe identifiers","directories":{},"_nodeVersion":"24.19.0","dependencies":{"bcryptjs":"3.0.3","@tryghost/string":"0.3.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"sinon":"22.1.0"},"_npmOperationalInternal":{"tmp":"tmp/security_3.3.10_1787710518965_0.8857852271978086","host":"s3://npm-registry-packages-npm-production"}},"3.3.11":{"name":"@tryghost/security","version":"3.3.11","author":"Ghost Foundation","license":"MIT","_id":"@tryghost/security@3.3.11","maintainers":[{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"kernalghost","email":"matthew@ghost.org"},{"name":"chrisraible","email":"chris@ghost.org"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"minimaluminium","email":"sodbileg.gansukh@gmail.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"pauladamdavis","email":"paul@ghost.org"},{"name":"bobvaneck","email":"bobvaneck@gmail.com"},{"name":"joeegrigg","email":"account@joegrigg.com"},{"name":"hadret","email":"filip@ghost.org"},{"name":"erik-ghost","email":"erik@ghost.org"},{"name":"sagzy","email":"guptazy@gmail.com"},{"name":"vershwal","email":"vershwal.princi@gmail.com"},{"name":"zach1618","email":"zach@ghost.org"},{"name":"mike182uk","email":"mike182uk@gmail.com"},{"name":"luissazevedo","email":"luis@ghost.org"},{"name":"lsinger","email":"leif@ghost.org"},{"name":"nickmoreton","email":"nick@ghost.org"},{"name":"renatoworks","email":"renatocesarcp@gmail.com"},{"name":"rblstr-ghost","email":"rob@ghost.org"},{"name":"evanhahn-ghost","email":"evan@ghost.org"},{"name":"austin.burdine","email":"austin@ghost.org"},{"name":"weylandswart","email":"weyland.swart@gmail.com"},{"name":"ghost-slimer","email":"info@ghost.org"},{"name":"tmciesco","email":"tmciesco@gmail.com"},{"name":"jonatan-ghost","email":"jonatan@ghost.org"},{"name":"9larsons","email":"9larsons@gmail.com"}],"dist":{"shasum":"7bb285c35a0643f71c8a1c8b1a79f56b7eac55f6","tarball":"https://registry.npmjs.org/@tryghost/security/-/security-3.3.11.tgz","fileCount":10,"integrity":"sha512-tjvWKU7Pvd3FQYNJQeConohTQbf7B3s64QXAN5pDSg1fDXdM/2AUODK46JTyQjyEcNc61CULPEKzXtIuMgxWHQ==","signatures":[{"sig":"MEUCIQCm03S7fZa9/aP9EeB7WprnXE/zLZ3Wuc5Dgz3wICIgRAIgekQT84lePduyQngtgOIfJZfnJhoH7YxnBoUamMfSJmc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tryghost%2fsecurity@3.3.11","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":9955},"main":"index.js","scripts":{"dev":"echo \"Implement me!\"","lint":"oxlint -c ../../.oxlintrc.json .","test":"NODE_ENV=testing vitest run --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b8cd1a37-4d3a-4c94-9759-179774f549f2"}},"repository":{"url":"git+https://github.com/TryGhost/framework.git","type":"git","directory":"packages/security"},"description":"Security primitives for token generation, password hashing, and safe identifiers","directories":{},"_nodeVersion":"24.19.0","dependencies":{"bcryptjs":"3.0.3","@tryghost/string":"0.3.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"sinon":"22.1.0"},"_npmOperationalInternal":{"tmp":"tmp/security_3.3.11_1788290731166_0.8908986814903286","host":"s3://npm-registry-packages-npm-production"}},"3.3.12":{"name":"@tryghost/security","version":"3.3.12","author":"Ghost Foundation","license":"MIT","_id":"@tryghost/security@3.3.12","maintainers":[{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"kernalghost","email":"matthew@ghost.org"},{"name":"chrisraible","email":"chris@ghost.org"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"minimaluminium","email":"sodbileg.gansukh@gmail.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"pauladamdavis","email":"paul@ghost.org"},{"name":"bobvaneck","email":"bobvaneck@gmail.com"},{"name":"joeegrigg","email":"account@joegrigg.com"},{"name":"hadret","email":"filip@ghost.org"},{"name":"erik-ghost","email":"erik@ghost.org"},{"name":"sagzy","email":"guptazy@gmail.com"},{"name":"vershwal","email":"vershwal.princi@gmail.com"},{"name":"zach1618","email":"zach@ghost.org"},{"name":"mike182uk","email":"mike182uk@gmail.com"},{"name":"luissazevedo","email":"luis@ghost.org"},{"name":"lsinger","email":"leif@ghost.org"},{"name":"nickmoreton","email":"nick@ghost.org"},{"name":"renatoworks","email":"renatocesarcp@gmail.com"},{"name":"rblstr-ghost","email":"rob@ghost.org"},{"name":"evanhahn-ghost","email":"evan@ghost.org"},{"name":"austin.burdine","email":"austin@ghost.org"},{"name":"weylandswart","email":"weyland.swart@gmail.com"},{"name":"ghost-slimer","email":"info@ghost.org"},{"name":"tmciesco","email":"tmciesco@gmail.com"},{"name":"jonatan-ghost","email":"jonatan@ghost.org"},{"name":"9larsons","email":"9larsons@gmail.com"}],"dist":{"shasum":"b4cec2186b590765d68ccb024a3077ed74774c51","tarball":"https://registry.npmjs.org/@tryghost/security/-/security-3.3.12.tgz","fileCount":10,"integrity":"sha512-qps5rbz0UJsp0EUQvJasSQJe3HOp0DeXKjHkcJYKLtxwBASh3/umHe1SwdcQ+bBtvV/sCZ2z5r+NJWYXvk8ZJQ==","signatures":[{"sig":"MEUCIHQ2pHwDgOpMUolfQKAc/B4lP+6dCwQ0tZbFMOgUwmIrAiEAkIysW/FMnZo1JuX+zUuin0mIl7mp/k+m/3A5ON/hth0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tryghost%2fsecurity@3.3.12","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":9955},"main":"index.js","scripts":{"dev":"echo \"Implement me!\"","lint":"oxlint -c ../../.oxlintrc.json .","test":"NODE_ENV=testing vitest run --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b8cd1a37-4d3a-4c94-9759-179774f549f2"}},"repository":{"url":"git+https://github.com/TryGhost/framework.git","type":"git","directory":"packages/security"},"description":"Security primitives for token generation, password hashing, and safe identifiers","directories":{},"_nodeVersion":"24.19.0","dependencies":{"bcryptjs":"3.0.3","@tryghost/string":"0.3.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"sinon":"22.1.0"},"_npmOperationalInternal":{"tmp":"tmp/security_3.3.12_1788291396927_0.08293264060148742","host":"s3://npm-registry-packages-npm-production"}},"3.3.13":{"name":"@tryghost/security","version":"3.3.13","author":"Ghost Foundation","license":"MIT","_id":"@tryghost/security@3.3.13","maintainers":[{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"kernalghost","email":"matthew@ghost.org"},{"name":"chrisraible","email":"chris@ghost.org"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"minimaluminium","email":"sodbileg.gansukh@gmail.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"pauladamdavis","email":"paul@ghost.org"},{"name":"bobvaneck","email":"bobvaneck@gmail.com"},{"name":"joeegrigg","email":"account@joegrigg.com"},{"name":"hadret","email":"filip@ghost.org"},{"name":"erik-ghost","email":"erik@ghost.org"},{"name":"sagzy","email":"guptazy@gmail.com"},{"name":"vershwal","email":"vershwal.princi@gmail.com"},{"name":"zach1618","email":"zach@ghost.org"},{"name":"mike182uk","email":"mike182uk@gmail.com"},{"name":"luissazevedo","email":"luis@ghost.org"},{"name":"lsinger","email":"leif@ghost.org"},{"name":"nickmoreton","email":"nick@ghost.org"},{"name":"renatoworks","email":"renatocesarcp@gmail.com"},{"name":"rblstr-ghost","email":"rob@ghost.org"},{"name":"evanhahn-ghost","email":"evan@ghost.org"},{"name":"austin.burdine","email":"austin@ghost.org"},{"name":"weylandswart","email":"weyland.swart@gmail.com"},{"name":"ghost-slimer","email":"info@ghost.org"},{"name":"tmciesco","email":"tmciesco@gmail.com"},{"name":"jonatan-ghost","email":"jonatan@ghost.org"},{"name":"9larsons","email":"9larsons@gmail.com"}],"dist":{"shasum":"f664cfe649f246daa038fa4e5afb581bd11260b4","tarball":"https://registry.npmjs.org/@tryghost/security/-/security-3.3.13.tgz","fileCount":10,"integrity":"sha512-t3DHAeXgS3d8pyxreA/BFVKXZE96We445oWwbKr3mzp2AeQY1N/u/oROsF8wonvgubHj2CVCeiM3E7jbwZxcPA==","signatures":[{"sig":"MEUCIHrGSWKm+kh7skN5EYaZU8p+Awm3xtJ7f33ztthlNbOoAiEAtSlvOdxA9bPFdtuShGnIv4ZI6dZop4qw4ZRqsOXTEyY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tryghost%2fsecurity@3.3.13","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":9957},"main":"index.js","scripts":{"dev":"echo \"Implement me!\"","lint":"oxlint -c ../../.oxlintrc.json .","test":"NODE_ENV=testing vitest run --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b8cd1a37-4d3a-4c94-9759-179774f549f2"}},"repository":{"url":"git+https://github.com/TryGhost/framework.git","type":"git","directory":"packages/security"},"description":"Security primitives for token generation, password hashing, and safe identifiers","directories":{},"_nodeVersion":"24.19.0","dependencies":{"bcryptjs":"^3.0.3","@tryghost/string":"^0.3.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"sinon":"22.1.0"},"_npmOperationalInternal":{"tmp":"tmp/security_3.3.13_1788469531358_0.33211653448715506","host":"s3://npm-registry-packages-npm-production"}},"3.3.14":{"name":"@tryghost/security","version":"3.3.14","author":"Ghost Foundation","license":"MIT","_id":"@tryghost/security@3.3.14","maintainers":[{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"kernalghost","email":"matthew@ghost.org"},{"name":"chrisraible","email":"chris@ghost.org"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"minimaluminium","email":"sodbileg.gansukh@gmail.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"pauladamdavis","email":"paul@ghost.org"},{"name":"bobvaneck","email":"bobvaneck@gmail.com"},{"name":"joeegrigg","email":"account@joegrigg.com"},{"name":"hadret","email":"filip@ghost.org"},{"name":"erik-ghost","email":"erik@ghost.org"},{"name":"sagzy","email":"guptazy@gmail.com"},{"name":"vershwal","email":"vershwal.princi@gmail.com"},{"name":"zach1618","email":"zach@ghost.org"},{"name":"mike182uk","email":"mike182uk@gmail.com"},{"name":"luissazevedo","email":"luis@ghost.org"},{"name":"lsinger","email":"leif@ghost.org"},{"name":"nickmoreton","email":"nick@ghost.org"},{"name":"renatoworks","email":"renatocesarcp@gmail.com"},{"name":"rblstr-ghost","email":"rob@ghost.org"},{"name":"evanhahn-ghost","email":"evan@ghost.org"},{"name":"austin.burdine","email":"austin@ghost.org"},{"name":"weylandswart","email":"weyland.swart@gmail.com"},{"name":"ghost-slimer","email":"info@ghost.org"},{"name":"tmciesco","email":"tmciesco@gmail.com"},{"name":"jonatan-ghost","email":"jonatan@ghost.org"},{"name":"9larsons","email":"9larsons@gmail.com"}],"dist":{"shasum":"d4ad6586e46da09bae8c89935bb5afc4c5ff4c98","tarball":"https://registry.npmjs.org/@tryghost/security/-/security-3.3.14.tgz","fileCount":10,"integrity":"sha512-7LsI78iWiYKumKpjBocm6Gpaa4egPDMRyM4YAmn3G+kHpSwsvzvKfi3ONO9Yp+pqGlYkDeFAPZRmb8xfxmUOaQ==","signatures":[{"sig":"MEQCIAeawh6H7S+DVoqNLEcmz0JYbTsKzeOYBVAUkFXW87ctAiBf8wZILHbGYzGCmUK8wyfCcsdzo0Q6gEu7o55KHm9c3A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tryghost%2fsecurity@3.3.14","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":9957},"main":"index.js","scripts":{"dev":"echo \"Implement me!\"","lint":"oxlint -c ../../.oxlintrc.json .","test":"NODE_ENV=testing vitest run --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b8cd1a37-4d3a-4c94-9759-179774f549f2"}},"repository":{"url":"git+https://github.com/TryGhost/framework.git","type":"git","directory":"packages/security"},"description":"Security primitives for token generation, password hashing, and safe identifiers","directories":{},"dependencies":{"bcryptjs":"^3.0.3","@tryghost/string":"^0.3.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"sinon":"22.1.0"},"_npmOperationalInternal":{"tmp":"tmp/security_3.3.14_1789149766205_0.9643756072333718","host":"s3://npm-registry-packages-npm-production"}},"3.3.15":{"name":"@tryghost/security","version":"3.3.15","author":"Ghost Foundation","license":"MIT","_id":"@tryghost/security@3.3.15","maintainers":[{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"kernalghost","email":"matthew@ghost.org"},{"name":"chrisraible","email":"chris@ghost.org"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"minimaluminium","email":"sodbileg.gansukh@gmail.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"pauladamdavis","email":"paul@ghost.org"},{"name":"bobvaneck","email":"bobvaneck@gmail.com"},{"name":"joeegrigg","email":"account@joegrigg.com"},{"name":"hadret","email":"filip@ghost.org"},{"name":"erik-ghost","email":"erik@ghost.org"},{"name":"sagzy","email":"guptazy@gmail.com"},{"name":"vershwal","email":"vershwal.princi@gmail.com"},{"name":"zach1618","email":"zach@ghost.org"},{"name":"mike182uk","email":"mike182uk@gmail.com"},{"name":"luissazevedo","email":"luis@ghost.org"},{"name":"lsinger","email":"leif@ghost.org"},{"name":"nickmoreton","email":"nick@ghost.org"},{"name":"renatoworks","email":"renatocesarcp@gmail.com"},{"name":"rblstr-ghost","email":"rob@ghost.org"},{"name":"evanhahn-ghost","email":"evan@ghost.org"},{"name":"austin.burdine","email":"austin@ghost.org"},{"name":"weylandswart","email":"weyland.swart@gmail.com"},{"name":"ghost-slimer","email":"info@ghost.org"},{"name":"tmciesco","email":"tmciesco@gmail.com"},{"name":"jonatan-ghost","email":"jonatan@ghost.org"},{"name":"9larsons","email":"9larsons@gmail.com"}],"dist":{"shasum":"1cd54c5d323f5037c4ed13f4c47d54b9c183a6ee","tarball":"https://registry.npmjs.org/@tryghost/security/-/security-3.3.15.tgz","fileCount":10,"integrity":"sha512-ZH/qjrL5pHq0VQXjTFFtcHmM8dpKKnTd/jxVd4QBpNDLeRykNZ5cBhvmHtXlmGkMtZVIUb/blh+1RALkgfHgnw==","signatures":[{"sig":"MEUCIQCBgS7LUdGQKGO7dXrzHPq2YnaCZk/pQP9GotbDHVg42AIgaID4Kot0Zk6sV1cMNQBRLYN74MzI24+CGvgFES7ibgM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQD9GeYa2DMJO6qLZ7IQQpI1LsWvxirhhHj6+AXxUYvbAAIgMBjGx1rtMGFeXkYtxs/YilYYx5WOpdDdRtwFfvrwqQM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tryghost%2fsecurity@3.3.15","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":9957},"main":"index.js","scripts":{"dev":"echo \"Implement me!\"","lint":"oxlint -c ../../.oxlintrc.json .","test":"NODE_ENV=testing vitest run --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"b8cd1a37-4d3a-4c94-9759-179774f549f2"}},"repository":{"url":"git+https://github.com/TryGhost/framework.git","type":"git","directory":"packages/security"},"description":"Security primitives for token generation, password hashing, and safe identifiers","directories":{},"dependencies":{"bcryptjs":"^3.0.3","@tryghost/string":"^0.3.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"sinon":"22.1.0"},"_npmOperationalInternal":{"tmp":"tmp/security_3.3.15_1790796955846_0.7790707025431833","host":"s3://npm-registry-packages-npm-production"}},"3.3.16":{"_id":"@tryghost/security@3.3.16","dist":{"shasum":"7e539b1d6cfd12d19766c9178c4d05875be3a27c","tarball":"https://registry.npmjs.org/@tryghost/security/-/security-3.3.16.tgz","fileCount":10,"integrity":"sha512-syFY/e2utsp7oYcoILKyctdfRSsW9j8eND8/LiadN7Aq2pWYTGllkBy27bQXk+54NUdC+IK957tjy/HFOKbl+A==","signatures":[{"sig":"MEUCIQCwETv7CFbK9a4lMGBj8eki1fzjHUlvTITxCTkj2gFjkgIgKW6Xkya+yw2L/wn4/araUVVj3hIVJHZbe37mjgwju1c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDzUsFU/LCrOufqwM1XGsp0WqvfOe2WylrolLWHmqeFJwIhALbYyrGWF7/Ux5VZy3xwDU/fz2Y/4jtIqi6u265Q40v6"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@tryghost%2fsecurity@3.3.16","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":9907},"main":"index.js","name":"@tryghost/security","author":"Ghost Foundation","license":"MIT","scripts":{"dev":"echo \"Implement me!\"","lint":"oxlint -c ../../.oxlintrc.json .","test":"NODE_ENV=testing vitest run --coverage"},"version":"3.3.16","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"b8cd1a37-4d3a-4c94-9759-179774f549f2"}},"repository":{"url":"git+https://github.com/TryGhost/framework.git","type":"git","directory":"packages/security"},"description":"Security primitives for token generation, password hashing, and safe identifiers","directories":{},"maintainers":[{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"kernalghost","email":"matthew@ghost.org"},{"name":"chrisraible","email":"chris@ghost.org"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"minimaluminium","email":"sodbileg.gansukh@gmail.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"pauladamdavis","email":"paul@ghost.org"},{"name":"bobvaneck","email":"bobvaneck@gmail.com"},{"name":"joeegrigg","email":"account@joegrigg.com"},{"name":"hadret","email":"filip@ghost.org"},{"name":"erik-ghost","email":"erik@ghost.org"},{"name":"sagzy","email":"guptazy@gmail.com"},{"name":"vershwal","email":"vershwal.princi@gmail.com"},{"name":"zach1618","email":"zach@ghost.org"},{"name":"mike182uk","email":"mike182uk@gmail.com"},{"name":"luissazevedo","email":"luis@ghost.org"},{"name":"lsinger","email":"leif@ghost.org"},{"name":"nickmoreton","email":"nick@ghost.org"},{"name":"renatoworks","email":"renatocesarcp@gmail.com"},{"name":"rblstr-ghost","email":"rob@ghost.org"},{"name":"evanhahn-ghost","email":"evan@ghost.org"},{"name":"austin.burdine","email":"austin@ghost.org"},{"name":"weylandswart","email":"weyland.swart@gmail.com"},{"name":"ghost-slimer","email":"info@ghost.org"},{"name":"tmciesco","email":"tmciesco@gmail.com"},{"name":"jonatan-ghost","email":"jonatan@ghost.org"},{"name":"9larsons","email":"9larsons@gmail.com"}],"dependencies":{"bcryptjs":"^3.0.3","@tryghost/string":"^0.3.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/security_3.3.16_1790877818216_0.26566018065499364"}}},"time":{"created":"2020-08-11T12:50:05.101Z","modified":"2026-10-01T18:03:39.566Z","0.1.0":"2020-08-11T12:50:05.454Z","0.2.0":"2020-09-22T03:36:58.493Z","0.2.1":"2020-11-05T04:38:50.177Z","0.2.2":"2020-11-19T05:17:23.307Z","0.2.3":"2020-12-14T04:54:34.977Z","0.2.4":"2021-01-12T16:44:01.931Z","0.2.5":"2021-02-09T11:54:25.599Z","0.2.6":"2021-02-22T06:16:44.201Z","0.2.7":"2021-04-07T01:47:49.448Z","0.2.8":"2021-04-19T09:26:12.033Z","0.2.9":"2021-06-09T11:10:23.394Z","0.2.10":"2021-09-22T09:59:58.815Z","0.2.11":"2021-09-30T17:24:13.049Z","0.2.12":"2021-10-01T15:57:25.253Z","0.2.13":"2021-10-22T12:01:58.896Z","0.2.14":"2022-01-18T09:08:24.931Z","0.2.15":"2022-03-01T07:41:02.544Z","0.2.16":"2022-04-21T12:58:59.031Z","0.2.17":"2022-05-04T09:22:04.846Z","0.3.0":"2022-05-06T14:46:38.970Z","0.3.1":"2022-05-09T10:26:14.399Z","0.3.2":"2022-05-24T11:06:38.540Z","0.3.3":"2022-07-22T15:47:30.865Z","1.0.0":"2025-05-13T12:17:09.480Z","1.0.1":"2025-05-25T20:40:37.748Z","1.0.2":"2026-02-12T16:48:38.030Z","1.0.3":"2026-02-20T20:50:37.826Z","1.0.4":"2026-02-20T23:16:46.180Z","1.0.5":"2026-02-20T23:41:28.338Z","1.0.6":"2026-02-20T23:57:02.048Z","2.0.0":"2026-02-21T01:38:03.934Z","2.1.0":"2026-02-21T02:13:39.283Z","2.2.0":"2026-02-21T02:36:37.704Z","2.2.1":"2026-02-21T03:03:03.748Z","3.0.0":"2026-03-02T16:58:53.828Z","3.0.1":"2026-03-10T15:50:11.117Z","3.0.2":"2026-03-11T13:57:07.278Z","3.0.3":"2026-03-16T09:58:28.343Z","3.1.0":"2026-04-22T14:42:10.191Z","3.2.0":"2026-04-27T15:41:59.027Z","3.2.1":"2026-05-26T14:50:41.607Z","3.2.2":"2026-06-01T12:45:17.112Z","3.2.3":"2026-06-12T17:16:47.201Z","3.3.0":"2026-06-20T15:40:58.367Z","3.3.1":"2026-06-24T22:48:55.214Z","3.3.2":"2026-07-15T13:09:14.727Z","3.3.3":"2026-07-20T18:53:20.462Z","3.3.4":"2026-07-20T20:02:58.188Z","3.3.5":"2026-07-22T18:48:06.289Z","3.3.6":"2026-07-23T18:25:03.549Z","3.3.7":"2026-08-12T13:41:47.577Z","3.3.8":"2026-08-17T20:05:29.737Z","3.3.9":"2026-08-20T16:00:48.584Z","3.3.10":"2026-08-26T02:15:19.140Z","3.3.11":"2026-09-01T19:25:31.286Z","3.3.12":"2026-09-01T19:36:37.060Z","3.3.13":"2026-09-03T21:05:31.498Z","3.3.14":"2026-09-11T18:02:46.336Z","3.3.15":"2026-09-30T19:35:55.929Z","3.3.16":"2026-10-01T18:03:38.321Z"},"author":"Ghost Foundation","license":"MIT","repository":{"url":"git+https://github.com/TryGhost/framework.git","type":"git","directory":"packages/security"},"description":"Security primitives for token generation, password hashing, and safe identifiers","maintainers":[{"name":"zimoatghost","email":"zimo@ghost.org"},{"name":"allouis","email":"fabien@allou.is"},{"name":"kernalghost","email":"matthew@ghost.org"},{"name":"chrisraible","email":"chris@ghost.org"},{"name":"erisds","email":"github.erisds@gmail.com"},{"name":"johnonolan","email":"john@onolan.org"},{"name":"kevinansfield","email":"kevin@ghost.org"},{"name":"cobbspur","email":"david@ghost.org"},{"name":"aileencgn","email":"aileen@ghost.org"},{"name":"jloh","email":"npmjs@jloh.co"},{"name":"minimaluminium","email":"sodbileg.gansukh@gmail.com"},{"name":"sam-lord","email":"hello@samlord.me"},{"name":"pauladamdavis","email":"paul@ghost.org"},{"name":"bobvaneck","email":"bobvaneck@gmail.com"},{"name":"joeegrigg","email":"account@joegrigg.com"},{"name":"hadret","email":"filip@ghost.org"},{"name":"erik-ghost","email":"erik@ghost.org"},{"name":"sagzy","email":"guptazy@gmail.com"},{"name":"vershwal","email":"vershwal.princi@gmail.com"},{"name":"zach1618","email":"zach@ghost.org"},{"name":"mike182uk","email":"mike182uk@gmail.com"},{"name":"luissazevedo","email":"luis@ghost.org"},{"name":"lsinger","email":"leif@ghost.org"},{"name":"nickmoreton","email":"nick@ghost.org"},{"name":"renatoworks","email":"renatocesarcp@gmail.com"},{"name":"rblstr-ghost","email":"rob@ghost.org"},{"name":"evanhahn-ghost","email":"evan@ghost.org"},{"name":"austin.burdine","email":"austin@ghost.org"},{"name":"weylandswart","email":"weyland.swart@gmail.com"},{"name":"ghost-slimer","email":"info@ghost.org"},{"name":"tmciesco","email":"tmciesco@gmail.com"},{"name":"jonatan-ghost","email":"jonatan@ghost.org"},{"name":"9larsons","email":"9larsons@gmail.com"}],"readme":"# Security\n\nSecurity helper primitives used by Ghost services.\n\n## Install\n\n`npm install @tryghost/security --save`\n\nor\n\n`pnpm add @tryghost/security`\n\n## Purpose\n\n`@tryghost/security` provides focused helpers for secure token generation and validation, password hashing, URL-safe encoding, and identifier/string normalization.\n\n## Usage\n\n```js\nconst security = require('@tryghost/security');\n\nconst secret = security.secret.create('content');\nconst hash = await security.password.hash('super-secret');\nconst isMatch = await security.password.compare('super-secret', hash);\n```\n\n## API\n\n- `security.password`: password hashing and comparison helpers (`hash`, `compare`).\n- `security.secret`: secure random secret generation (`create`).\n- `security.tokens`: token generation and reset token helpers.\n- `security.url`: base64 URL-safe encode/decode helpers.\n- `security.string`: safe slug-style string normalization.\n- `security.identifier`: legacy identifier helper (`uid`, deprecated).\n\n# Copyright & License\n\nCopyright (c) 2013-2026 Ghost Foundation - Released under the [MIT license](LICENSE).\n","readmeFilename":""}