{"componentChunkName":"component---src-templates-blog-post-js","path":"/blog/how-featurepeek-manages-security/","webpackCompilationHash":"c6b5b6157647393bc037","result":{"data":{"site":{"siteMetadata":{"title":"Deployment previews for UI/UX teams · FeaturePeek","siteUrl":"https://featurepeek.com"}},"markdownRemark":{"id":"0554c83f-9d6e-5b83-8652-adb59d79c488","excerpt":"The development of web applications requires the cooperation of many roles; from design, to engineering, product management and operations. But security isn’t…","html":"<p>The development of web applications requires the <a href=\"https://whatis.techtarget.com/definition/security-by-design\">cooperation of many roles;</a> from design, to engineering, product management and operations. But security isn’t something that’s simply designed and done. Instead, effective security requires the coordinated buy-in of organizational leadership, designers, and the developers building and running the application. This is true about web applications that are being developed. But it’s also true about the third-party services that a web application depends on to function. If a third-party is vulnerable, it’s possible that a dependency on it could compromise your application.</p>\n<p>This isn’t limited to production services, either. It makes sense that if an infrastructure provider (like AWS) is compromised, it would affect your production application. But what about during the development, staging, and product review phases? If you’re a web agency with enterprise clients, you might be working with sensitive proprietary information. Likewise, if you’re a developer at a major technology company, the website you’re building may be for a product that hasn’t even been announced yet.</p>\n<p>So it’s no surprise that one of the most common questions we get asked by new users is “How do you manage security at FeaturePeek?” In order to help our users better understand our security objectives and practices, that’s why we put together this blog post.</p>\n<h2 id=\"1-featurepeek-deployment-previews-are-private-by-default\" style=\"position:relative;\"><a href=\"#1-featurepeek-deployment-previews-are-private-by-default\" aria-label=\"1 featurepeek deployment previews are private by default permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>1. FeaturePeek deployment previews are private by default</h2>\n<p>Did you know that some deploy preview experiences are <a href=\"https://www.google.com/search?q=inurl%3A%22deploy-preview%22+site%3A%22*.netlify.app%22\">indexable on Google?</a> But that’s not the case with FeaturePeek. Our deployment previews are private by default, meaning that even if someone has a deploy preview URL, they can only access it if they’re logged in and on the team that owns the project. This way, you can ensure that only approved stakeholders have access to view your in-progress work and keep wandering eyes out.</p>\n<h2 id=\"2-we-never-store-your-source-code-on-our-side\" style=\"position:relative;\"><a href=\"#2-we-never-store-your-source-code-on-our-side\" aria-label=\"2 we never store your source code on our side permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>2. We never store your source code on our side</h2>\n<p>FeaturePeek never stores your source code on our side. We request access to a repo’s source code to read the <code class=\"language-text\">peek.yml</code> configuration file, in order to see which repos are opted-in to FeaturePeek. This enables us to detect configuration details about each frontend, like the type of frontend architecture, and whether you to specified if your project is a static or <a href=\"https://docs.featurepeek.com/dockerhub\">Docker project.</a></p>\n<h2 id=\"3-we-never-write-code-directly-to-your-repo\" style=\"position:relative;\"><a href=\"#3-we-never-write-code-directly-to-your-repo\" aria-label=\"3 we never write code directly to your repo permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>3. We never write code directly to your repo</h2>\n<p>The only time we write references is via a pull request: when a user follows the project setup wizard and requests a <a href=\"https://docs.featurepeek.com/github-actions\">GitHub Actions</a> template to be added to their repo. Outside this particular exception, FeaturePeek will never write code directly to a repo. Configuring FeaturePeek doesn’t touch any of your production deployments, so you can tinker away without fear of screwing things up for your own customers.</p>\n<h2 id=\"4-we-use-https-everywhere\" style=\"position:relative;\"><a href=\"#4-we-use-https-everywhere\" aria-label=\"4 we use https everywhere permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>4. We use HTTPS everywhere</h2>\n<p>To ensure proper encryption and security for FeaturePeek deployment previews, we exclusively rely on <a href=\"https://www.cloudflare.com/learning/ssl/what-is-https/\">HTTPS-enabled URLs.</a> Not only do we think this is a “no-brainer” best practice for your deploy previews, but we hope it helps give everyone that you send a FeaturePeek deployment preview link an added sense of confidence in content of what they’re about to review.</p>\n<h2 id=\"5-your-app-is-completely-isolated-from-other-users-apps\" style=\"position:relative;\"><a href=\"#5-your-app-is-completely-isolated-from-other-users-apps\" aria-label=\"5 your app is completely isolated from other users apps permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>5. Your app is completely isolated from other users’ apps</h2>\n<p>Every FeaturePeek environment gets its own namespace in the cluster, so it’s completely isolated from other FeaturePeek users’ deployments. We chose to make this security design decision in order to make sure all our users’ deployment previews stay private and that their code is only accessed by authorized users.</p>\n<h2 id=\"6-featurepeek-environment-variables-are-encrypted-at-rest\" style=\"position:relative;\"><a href=\"#6-featurepeek-environment-variables-are-encrypted-at-rest\" aria-label=\"6 featurepeek environment variables are encrypted at rest permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>6. FeaturePeek environment variables are encrypted at rest</h2>\n<p>Rest assured (excuse the pun) that we encrypt all environment variables. If your encrypted environment variables were ever hacked/stolen, their values couldn’t be recovered. We encrypt your environment variables to ensure your proprietary information and technological secret sauce is safely under lock and key. If you want to learn more about how Auth works at FeaturePeek, you can read more about it <a href=\"https://docs.featurepeek.com/oauth\">in our docs.</a></p>\n<h2 id=\"7-we-use-a-password-manager-and-you-should-too\" style=\"position:relative;\"><a href=\"#7-we-use-a-password-manager-and-you-should-too\" aria-label=\"7 we use a password manager and you should too permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>7. We use a password manager (and you should too!)</h2>\n<p>We’re big fans of <a href=\"https://www.cnet.com/news/password-managers-a-little-pain-for-a-lot-better-security-world-password-day/\">password managers</a> at FeaturePeek. Beyond the convenience of not needing to remember which password you use for each service, by choosing to use a password manager, you’re making it easy for yourself to make good decisions about your accounts and password choices. Whether you choose <a href=\"https://www.lastpass.com/\">LastPass</a>, <a href=\"https://1password.com/\">1Password</a>, <a href=\"https://passwords.google.com/\">Google Password Manager</a>, or another service, password managers are a simple way anyone can improve their own security on the Web.</p>\n<h2 id=\"learn-more\" style=\"position:relative;\"><a href=\"#learn-more\" aria-label=\"learn more permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Learn more</h2>\n<p><a href=\"https://featurepeek.com/\">FeaturePeek</a> turns your deployment previews into the hub for your team’s frontend product review. It’s the easiest way for UI/UX teams to collaborate on frontend code, and integrates with familiar tools so you can continue to use the services that you’ve come to know and love. From Continuous Integration services to container registries, and from bug tracking platforms to getting notified in Slack, we’ve got you covered.</p>\n<p>FeaturePeek provides collaborative frontend staging environments on-demand, so you can collect implementation feedback from stakeholders sooner. Learn more about <a href=\"https://featurepeek.com/product/teams\">FeaturePeek Teams,</a> our collaborative tool that supercharges deployment previews for development teams.</p>","tableOfContents":"<ul>\n<li><a href=\"#1-featurepeek-deployment-previews-are-private-by-default\">1. FeaturePeek deployment previews are private by default</a></li>\n<li><a href=\"#2-we-never-store-your-source-code-on-our-side\">2. We never store your source code on our side</a></li>\n<li><a href=\"#3-we-never-write-code-directly-to-your-repo\">3. We never write code directly to your repo</a></li>\n<li><a href=\"#4-we-use-https-everywhere\">4. We use HTTPS everywhere</a></li>\n<li><a href=\"#5-your-app-is-completely-isolated-from-other-users-apps\">5. Your app is completely isolated from other users’ apps</a></li>\n<li><a href=\"#6-featurepeek-environment-variables-are-encrypted-at-rest\">6. FeaturePeek environment variables are encrypted at rest</a></li>\n<li><a href=\"#7-we-use-a-password-manager-and-you-should-too\">7. We use a password manager (and you should too!)</a></li>\n<li><a href=\"#learn-more\">Learn more</a></li>\n</ul>","frontmatter":{"title":"How FeaturePeek manages security","date":"December 29, 2020","description":"How we engineered the security behind the FeaturePeek deployment preview platform","author":"bradjohnson","hero":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAFwABAQEBAAAAAAAAAAAAAAAAAwABAv/EABYBAQEBAAAAAAAAAAAAAAAAAAEABP/aAAwDAQACEAMQAAABXjTMhx0//8QAGhAAAgIDAAAAAAAAAAAAAAAAAQIAIhEhQ//aAAgBAQABBQITN2G1M6O1v//EABYRAQEBAAAAAAAAAAAAAAAAAAABIf/aAAgBAwEBPwGVr//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8BP//EABkQAAEFAAAAAAAAAAAAAAAAABAAASFxgf/aAAgBAQAGPwKFheh//8QAGhAAAwEBAQEAAAAAAAAAAAAAAAEhETFRYf/aAAgBAQABPyGM+DtHrFtOA41eBmj/2gAMAwEAAgADAAAAEBjf/8QAFREBAQAAAAAAAAAAAAAAAAAAEFH/2gAIAQMBAT8QoP/EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8QP//EABsQAQEBAQEAAwAAAAAAAAAAAAERACFBMVGx/9oACAEBAAE/EKEhi4/XPcVODl58LkWesyOeOgpH9lyab//Z","aspectRatio":1.5,"src":"/static/94aad89433c59753f1dd30aa69ed326b/bc3a8/hero.jpg","srcSet":"/static/94aad89433c59753f1dd30aa69ed326b/d278e/hero.jpg 200w,\n/static/94aad89433c59753f1dd30aa69ed326b/8539d/hero.jpg 400w,\n/static/94aad89433c59753f1dd30aa69ed326b/bc3a8/hero.jpg 800w,\n/static/94aad89433c59753f1dd30aa69ed326b/81ef8/hero.jpg 1200w,\n/static/94aad89433c59753f1dd30aa69ed326b/989b1/hero.jpg 1600w,\n/static/94aad89433c59753f1dd30aa69ed326b/e7c7e/hero.jpg 5760w","sizes":"(max-width: 800px) 100vw, 800px"}}},"heroAttributionURL":"https://www.pexels.com/photo/door-green-closed-lock-4291/"},"timeToRead":4}},"pageContext":{"isCreatedByStatefulCreatePages":false,"slug":"/how-featurepeek-manages-security/","postPath":"/blog/how-featurepeek-manages-security/","previous":{"fields":{"slug":"/eric-silverman-beginning-your-career-in-software-engineering-video/"},"frontmatter":{"title":"FeaturePeek CEO Eric Silverman on Beginning your career in Software Engineering (video)"}},"next":{"fields":{"slug":"/featurepeek-has-joined-netlify/"},"frontmatter":{"title":"FeaturePeek has joined Netlify!"}}}}}