That page doesn't seem to exist
30 |Looking to build a security policy? Start here
31 |Want more information about SOAP? Go to the home page
32 |See a problem with this site? Raise an issue on GitHub here or send an email.
33 |├── .gitignore ├── assets ├── images │ ├── soapLogo.png │ └── soapLogoW.png ├── SOAP-alphaReport.pdf ├── js │ ├── views │ │ ├── home.js │ │ ├── policyView.js │ │ └── questionsView.js │ ├── controllers │ │ ├── policyPage.js │ │ ├── home.js │ │ └── questionPage.js │ ├── templates │ │ ├── intro.js │ │ ├── homeSection.js │ │ ├── policyTemplate.js │ │ └── questionsTemplate.js │ ├── transition.js │ ├── styling.js │ ├── utils.js │ ├── snapshot.js │ ├── init.js │ ├── overlay.js │ ├── keyboard.js │ ├── subpolicies.js │ ├── start.js │ ├── edit.js │ └── policy.js ├── css │ ├── webfonts │ │ ├── fa-solid-900.eot │ │ ├── fa-solid-900.ttf │ │ ├── fa-brands-400.eot │ │ ├── fa-brands-400.ttf │ │ ├── fa-brands-400.woff │ │ ├── fa-regular-400.eot │ │ ├── fa-regular-400.ttf │ │ ├── fa-solid-900.woff │ │ ├── fa-solid-900.woff2 │ │ ├── fa-brands-400.woff2 │ │ ├── fa-regular-400.woff │ │ ├── fa-regular-400.woff2 │ │ ├── SinkinSans-100Thin.otf │ │ ├── SinkinSans-300Light.otf │ │ ├── SinkinSans-700Bold.otf │ │ ├── SinkinSans-800Black.otf │ │ ├── SinkinSans-200XLight.otf │ │ ├── SinkinSans-400Italic.otf │ │ ├── SinkinSans-400Regular.otf │ │ ├── SinkinSans-500Medium.otf │ │ ├── SinkinSans-600SemiBold.otf │ │ ├── SinkinSans-900XBlack.otf │ │ ├── SinkinSans-100ThinItalic.otf │ │ ├── SinkinSans-700BoldItalic.otf │ │ ├── SinkinSans-200XLightItalic.otf │ │ ├── SinkinSans-300LightItalic.otf │ │ ├── SinkinSans-500MediumItalic.otf │ │ ├── SinkinSans-600SemiBoldItali.otf │ │ ├── SinkinSans-800BlackItalic.otf │ │ └── SinkinSans-900XBlackItalic.otf │ ├── media.css │ └── styles.css └── SecuringCivilSociety-report.pdf ├── .github └── ISSUE_TEMPLATE │ ├── feature_request.md │ ├── content-request.md │ └── bug_report.md ├── server.py ├── content ├── section-7.js ├── rest-of-site.js ├── section-6.js ├── section-1.js └── section-3.js ├── 404.html ├── code-of-conduct.md ├── README.md └── index.html /.gitignore: -------------------------------------------------------------------------------- 1 | *.DS_Store -------------------------------------------------------------------------------- /assets/images/soapLogo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gembarrett/soap/HEAD/assets/images/soapLogo.png -------------------------------------------------------------------------------- /assets/SOAP-alphaReport.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gembarrett/soap/HEAD/assets/SOAP-alphaReport.pdf -------------------------------------------------------------------------------- /assets/images/soapLogoW.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gembarrett/soap/HEAD/assets/images/soapLogoW.png -------------------------------------------------------------------------------- /assets/js/views/home.js: -------------------------------------------------------------------------------- 1 | views.home = function(data, params){ 2 | controllers['homePage'](data, params); 3 | } 4 | -------------------------------------------------------------------------------- /assets/css/webfonts/fa-solid-900.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gembarrett/soap/HEAD/assets/css/webfonts/fa-solid-900.eot -------------------------------------------------------------------------------- /assets/css/webfonts/fa-solid-900.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gembarrett/soap/HEAD/assets/css/webfonts/fa-solid-900.ttf -------------------------------------------------------------------------------- /assets/SecuringCivilSociety-report.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gembarrett/soap/HEAD/assets/SecuringCivilSociety-report.pdf -------------------------------------------------------------------------------- /assets/css/webfonts/fa-brands-400.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gembarrett/soap/HEAD/assets/css/webfonts/fa-brands-400.eot -------------------------------------------------------------------------------- /assets/css/webfonts/fa-brands-400.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gembarrett/soap/HEAD/assets/css/webfonts/fa-brands-400.ttf -------------------------------------------------------------------------------- /assets/css/webfonts/fa-brands-400.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gembarrett/soap/HEAD/assets/css/webfonts/fa-brands-400.woff -------------------------------------------------------------------------------- /assets/css/webfonts/fa-regular-400.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gembarrett/soap/HEAD/assets/css/webfonts/fa-regular-400.eot -------------------------------------------------------------------------------- /assets/css/webfonts/fa-regular-400.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gembarrett/soap/HEAD/assets/css/webfonts/fa-regular-400.ttf -------------------------------------------------------------------------------- /assets/css/webfonts/fa-solid-900.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gembarrett/soap/HEAD/assets/css/webfonts/fa-solid-900.woff -------------------------------------------------------------------------------- /assets/css/webfonts/fa-solid-900.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gembarrett/soap/HEAD/assets/css/webfonts/fa-solid-900.woff2 -------------------------------------------------------------------------------- /assets/css/webfonts/fa-brands-400.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gembarrett/soap/HEAD/assets/css/webfonts/fa-brands-400.woff2 -------------------------------------------------------------------------------- /assets/css/webfonts/fa-regular-400.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gembarrett/soap/HEAD/assets/css/webfonts/fa-regular-400.woff -------------------------------------------------------------------------------- /assets/css/webfonts/fa-regular-400.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gembarrett/soap/HEAD/assets/css/webfonts/fa-regular-400.woff2 -------------------------------------------------------------------------------- /assets/js/views/policyView.js: -------------------------------------------------------------------------------- 1 | views.policyView = function(data, params){ 2 | controllers['policyPage'](data, params); 3 | } 4 | -------------------------------------------------------------------------------- /assets/css/webfonts/SinkinSans-100Thin.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gembarrett/soap/HEAD/assets/css/webfonts/SinkinSans-100Thin.otf -------------------------------------------------------------------------------- /assets/css/webfonts/SinkinSans-300Light.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gembarrett/soap/HEAD/assets/css/webfonts/SinkinSans-300Light.otf -------------------------------------------------------------------------------- /assets/css/webfonts/SinkinSans-700Bold.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gembarrett/soap/HEAD/assets/css/webfonts/SinkinSans-700Bold.otf -------------------------------------------------------------------------------- /assets/css/webfonts/SinkinSans-800Black.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gembarrett/soap/HEAD/assets/css/webfonts/SinkinSans-800Black.otf -------------------------------------------------------------------------------- /assets/js/views/questionsView.js: -------------------------------------------------------------------------------- 1 | views.questionsView = function(data, params){ 2 | controllers['questionPage'](data, params); 3 | } 4 | -------------------------------------------------------------------------------- /assets/css/webfonts/SinkinSans-200XLight.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gembarrett/soap/HEAD/assets/css/webfonts/SinkinSans-200XLight.otf -------------------------------------------------------------------------------- /assets/css/webfonts/SinkinSans-400Italic.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gembarrett/soap/HEAD/assets/css/webfonts/SinkinSans-400Italic.otf -------------------------------------------------------------------------------- /assets/css/webfonts/SinkinSans-400Regular.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gembarrett/soap/HEAD/assets/css/webfonts/SinkinSans-400Regular.otf -------------------------------------------------------------------------------- /assets/css/webfonts/SinkinSans-500Medium.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gembarrett/soap/HEAD/assets/css/webfonts/SinkinSans-500Medium.otf -------------------------------------------------------------------------------- /assets/css/webfonts/SinkinSans-600SemiBold.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gembarrett/soap/HEAD/assets/css/webfonts/SinkinSans-600SemiBold.otf -------------------------------------------------------------------------------- /assets/css/webfonts/SinkinSans-900XBlack.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gembarrett/soap/HEAD/assets/css/webfonts/SinkinSans-900XBlack.otf -------------------------------------------------------------------------------- /assets/css/webfonts/SinkinSans-100ThinItalic.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gembarrett/soap/HEAD/assets/css/webfonts/SinkinSans-100ThinItalic.otf -------------------------------------------------------------------------------- /assets/css/webfonts/SinkinSans-700BoldItalic.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gembarrett/soap/HEAD/assets/css/webfonts/SinkinSans-700BoldItalic.otf -------------------------------------------------------------------------------- /assets/css/webfonts/SinkinSans-200XLightItalic.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gembarrett/soap/HEAD/assets/css/webfonts/SinkinSans-200XLightItalic.otf -------------------------------------------------------------------------------- /assets/css/webfonts/SinkinSans-300LightItalic.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gembarrett/soap/HEAD/assets/css/webfonts/SinkinSans-300LightItalic.otf -------------------------------------------------------------------------------- /assets/css/webfonts/SinkinSans-500MediumItalic.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gembarrett/soap/HEAD/assets/css/webfonts/SinkinSans-500MediumItalic.otf -------------------------------------------------------------------------------- /assets/css/webfonts/SinkinSans-600SemiBoldItali.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gembarrett/soap/HEAD/assets/css/webfonts/SinkinSans-600SemiBoldItali.otf -------------------------------------------------------------------------------- /assets/css/webfonts/SinkinSans-800BlackItalic.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gembarrett/soap/HEAD/assets/css/webfonts/SinkinSans-800BlackItalic.otf -------------------------------------------------------------------------------- /assets/css/webfonts/SinkinSans-900XBlackItalic.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gembarrett/soap/HEAD/assets/css/webfonts/SinkinSans-900XBlackItalic.otf -------------------------------------------------------------------------------- /assets/js/controllers/policyPage.js: -------------------------------------------------------------------------------- 1 | controllers.policyPage = function(data, params){ 2 | var policyContainer = templates.policyTemplate(); 3 | utils.render('page', policyContainer); 4 | }; 5 | -------------------------------------------------------------------------------- /assets/js/controllers/home.js: -------------------------------------------------------------------------------- 1 | controllers.homePage = function(data, params){ 2 | var homeContent = templates.intro(); 3 | homeContent += '
`+text.subhead+`
` 18 | +list+ 19 | ``+moreText+`
22 |Looking to build a security policy? Start here
31 |Want more information about SOAP? Go to the home page
32 |See a problem with this site? Raise an issue on GitHub here or send an email.
33 |For more information on organizational and personal security, and how you can get the most out of your new policy, check out these resources:
"; 7 | for (var r = 0; rDownload pre-formatted versions of your organizational security policy documents in plaintext, markdown and HTML.
26 |Edit your policy below for copying and pasting into your own file.
33 | 34 | 37 | `+editTxt+` 38 |If you have a few minutes, it would be great to hear your thoughts on SOAP so it can be improved in the future. SOAP doesn't use analytics to follow you around the site, so this is the best way to share your opinion.
44 | Sure, I'll complete a quick survey! 45 |All done? You'll need to reload the page before building another policy.
55 | 58 |Take a quick survey and tell us how you rate SOAP. If you've spotted a problem with the site, including typos or bugs, please raise an issue on GitHub (account required). Alternatively, you can email about your experience - and feel free to download the PGP key to send encrypted.
62 | 67 |
LOADING
Need to pause this process? Use your snapshot link to pre-select your answers on your return. Note that no text entries are included in this snapshot, and this link is not stored.
`+data.desc[p]+`
`; 7 | } 8 | layout += `'+contextP.join('
')+'
'; 161 | 162 | if (deviceP.length > 0){ 163 | doc.plain += '\n\nDevice Security\n' + deviceP.join('\n'); 164 | doc.markdown += '\n\n### Device Security \n' + deviceP.join('\n'); 165 | doc.html += '' + deviceP.join('
')+'
'; 166 | } 167 | if (commsP.length > 0){ 168 | doc.plain += '\n\nCommunications Security\n' + commsP.join('\n'); 169 | doc.markdown += '\n\n### Communications Security \n' + commsP.join('\n'); 170 | doc.html += '' + commsP.join('
')+'
'; 171 | } 172 | if (acctsP.length > 0){ 173 | doc.plain += '\n\nAccounts Security\n' + acctsP.join('\n'); 174 | doc.markdown += '\n\n### Accounts Security \n' + acctsP.join('\n'); 175 | doc.html += '' + acctsP.join('
')+'
'; 176 | } 177 | if (travelP.length > 0){ 178 | doc.plain += '\n\nTravel Security\n' + travelP.join('\n'); 179 | doc.markdown += '\n\n### Travel Security \n' + travelP.join('\n'); 180 | doc.html += '' + travelP.join('
')+'
'; 181 | } 182 | if (envP.length > 0){ 183 | doc.plain += '\n\nEnvironmental Security\n' + envP.join('\n'); 184 | doc.markdown += '\n\n### Environmental Security \n' + envP.join('\n'); 185 | doc.html += '' + envP.join('
')+'
'; 186 | } 187 | if (networkP.length > 0){ 188 | doc.plain += '\n\nNetwork Security\n' + networkP.join('\n'); 189 | doc.markdown += '\n\n### Network Security \n' + networkP.join('\n'); 190 | doc.html += '' + networkP.join('
')+'
'; 191 | } 192 | if (incResP.length > 0){ 193 | doc.plain += '\n\nWhat to do if...\n' + incResP.join('\n\n'); 194 | doc.markdown += '\n\n### What to do if...\n' + incResP.join('\n\n'); 195 | doc.html += '' + incResP.join('
')+'
'; 196 | } 197 | 198 | // if appendix is requested, join the policy, appendix and routines arrays together, and add the team-specific policies 199 | if (a) { 200 | doc.plain += '\n\nAppendix\n'; 201 | doc.markdown += '\n\n## Appendix\n'; 202 | doc.html += ''+contextP.join('
')+'
'; 246 | 247 | // for each of the optional areas 248 | for (var a = 0; a< areas.length; a++){ 249 | // add the area title 250 | // add the corresponding policy text in each format 251 | switch (areas[a]) { 252 | case 0: 253 | pText += '\n\nDevice Security\n' + deviceP.join('\n'); 254 | mText += '\n\n### Device Security \n' + deviceP.join('\n'); 255 | hText += '' + deviceP.join('
')+'
'; 256 | break; 257 | case 1: 258 | pText += '\n\nCommunications Security\n' + commsP.join('\n'); 259 | mText += '\n\n### Communications Security \n' + commsP.join('\n'); 260 | hText += '' + commsP.join('
')+'
'; 261 | break; 262 | case 2: 263 | pText += '\n\nAccounts Security\n' + acctsP.join('\n'); 264 | mText += '\n\n### Accounts Security \n' + acctsP.join('\n'); 265 | hText += '' + acctsP.join('
')+'
'; 266 | break; 267 | case 3: 268 | pText += '\n\nTravel Security\n' + travelP.join('\n'); 269 | mText += '\n\n### Travel Security \n' + travelP.join('\n'); 270 | hText += '' + travelP.join('
')+'
'; 271 | break; 272 | case 4: 273 | pText += '\n\nEnvironmental Security\n' + envP.join('\n'); 274 | mText += '\n\n### Environmental Security \n' + envP.join('\n'); 275 | hText += '' + envP.join('
')+'
'; 276 | break; 277 | case 5: 278 | pText += '\n\nNetwork Security\n' + networkP.join('\n'); 279 | mText += '\n\n### Network Security \n' + networkP.join('\n'); 280 | hText += '' + networkP.join('
')+'
'; 281 | break; 282 | default: 283 | console.log(areas[a]); 284 | } 285 | 286 | } 287 | // then add any other default content 288 | if (incResP.length > 0){ 289 | pText += '\n\nWhat to do if...\n' + incResP.join('\n\n'); 290 | mText += '\n\n### What to do if...\n' + incResP.join('\n\n'); 291 | hText += '' + incResP.join('
')+'
'; 292 | } 293 | // and push the team policies to the array 294 | teamPolicies.push({ 295 | "team":teamContent[t].name, 296 | "plain": pText, 297 | "markdown": mText, 298 | "html": hText, 299 | }); 300 | } 301 | } 302 | for (var tm=0; tm