{"id":37,"date":"2021-02-08T04:57:38","date_gmt":"2021-02-08T04:57:38","guid":{"rendered":"http:\/\/blogs.oregonstate.edu\/softwareengineering\/?p=37"},"modified":"2021-02-08T04:57:39","modified_gmt":"2021-02-08T04:57:39","slug":"how-does-one-balance-security-and-usability","status":"publish","type":"post","link":"https:\/\/blogs.oregonstate.edu\/softwareengineering\/2021\/02\/08\/how-does-one-balance-security-and-usability\/","title":{"rendered":"How Does One Balance Security and Usability?"},"content":{"rendered":"\n<p>This week has been jumping through a lot of organizational hoops at work. Disclaimer: The following might be a bit vague because of NDAs. My team was given a task to design and build a particular tool and piece of infrastructure for one of our clients. Working with this particular client comes with a lot of constraints. Constraints consisting of doing things the company&#8217;s way, rather than the best way. Most of these constraints come under the guise of being more secure than industry standard. Security is obviously a valid concern but what is the responsibility of the developer and the security engineer? Excessively complex security requirements prevent developers from accomplishing things in a timely manner but the lack of those requirements creates vulnerabilities.<\/p>\n\n\n\n<p>It&#8217;s very difficult being required to use a particular piece of software that claims to do a thing, but doesn&#8217;t actually do that thing correctly because it&#8217;s still in development, when there&#8217;s a perfectly good piece of software that does reliably do that thing.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This week has been jumping through a lot of organizational hoops at work. Disclaimer: The following might be a bit vague because of NDAs. My team was given a task to design and build a particular tool and piece of infrastructure for one of our clients. Working with this particular client comes with a lot [&hellip;]<\/p>\n","protected":false},"author":10823,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-37","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/blogs.oregonstate.edu\/softwareengineering\/wp-json\/wp\/v2\/posts\/37","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.oregonstate.edu\/softwareengineering\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.oregonstate.edu\/softwareengineering\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.oregonstate.edu\/softwareengineering\/wp-json\/wp\/v2\/users\/10823"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.oregonstate.edu\/softwareengineering\/wp-json\/wp\/v2\/comments?post=37"}],"version-history":[{"count":1,"href":"https:\/\/blogs.oregonstate.edu\/softwareengineering\/wp-json\/wp\/v2\/posts\/37\/revisions"}],"predecessor-version":[{"id":38,"href":"https:\/\/blogs.oregonstate.edu\/softwareengineering\/wp-json\/wp\/v2\/posts\/37\/revisions\/38"}],"wp:attachment":[{"href":"https:\/\/blogs.oregonstate.edu\/softwareengineering\/wp-json\/wp\/v2\/media?parent=37"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.oregonstate.edu\/softwareengineering\/wp-json\/wp\/v2\/categories?post=37"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.oregonstate.edu\/softwareengineering\/wp-json\/wp\/v2\/tags?post=37"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}