{"componentChunkName":"component---src-templates-blog-list-template-js","path":"/126","result":{"data":{"allMarkdownRemark":{"edges":[{"node":{"excerpt":"The influx of unprecedented amounts of data in the hands of product teams only started a decade ago.  Cut to ten years later, the world has…","fields":{"slug":"/identity/data-governance-best-practices/"},"html":"<p>The influx of unprecedented amounts of data in the hands of product teams only started a decade ago. </p>\n<p>Cut to ten years later, the world has undergone a massive transformation in governing the data and is establishing methods to standardize, integrate, and protect such information.</p>\n<p>The EU's General Data Protection Regulation implemented in 2018 was a masterstroke to the data governance arrangement. It fundamentally changed how companies interact with customer data and their understanding of the need to:</p>\n<ul>\n<li>Minimize the risk of <a href=\"https://www.loginradius.com/blog/2020/05/cyber-threats-business-risk-covid-19/\">data theft</a>.</li>\n<li>Establish strategic rules for the use of data.</li>\n<li>Implement data compliance.</li>\n<li>Maintain the communication flow, both internally and externally.</li>\n<li>Increase the value of data.</li>\n<li>Reduce expenses.</li>\n<li>Ensure the continued existence of a company via risk management.</li>\n</ul>\n<p>Your data assets are the key metrics that can make or break your business. So, let’s find out if your data management practices are as good as it should be. </p>\n<p>First.</p>\n<h2 id=\"what-is-data-governance-and-why-it-is-important-for-your-business\" style=\"position:relative;\"><a href=\"#what-is-data-governance-and-why-it-is-important-for-your-business\" aria-label=\"what is data governance and why it is important for your business 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>What Is Data Governance and Why It Is Important for Your Business</h2>\n<p>Data governance usually affects the tactical and operational levels in most enterprises. It is a set of laws implemented within an organization to decide the authority and control over data assets.</p>\n<p>Data governance involves agreed-upon models and encompasses the people, processes, and technologies that describes who can take what actions, under what circumstances, and how data assets may be used. </p>\n<p>Digital transformation is realigning how people conduct business with data being one of the key assets that dictate and decide a company's performance. Only when you can control your data can you leverage your data assets and make an effective <a href=\"https://www.loginradius.com/blog/2018/11/enterprise-needs-digital-business-transformation-strategy/\">digital transformation</a>. </p>\n<p>Deploying a data governance system that suits the company and its potential business goals makes it easier for employees to align and work together towards achieving it. </p>\n<h2 id=\"predictions-for-data-governance-in-the-next-decade\" style=\"position:relative;\"><a href=\"#predictions-for-data-governance-in-the-next-decade\" aria-label=\"predictions for data governance in the next decade 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>Predictions for Data Governance in the Next Decade</h2>\n<p>The world created 1.2 zettabytes (1.2 trillion gigabytes) of new data in 2010. The amount is estimated to grow by 44 times and reach <a href=\"https://www.seagate.com/files/www-content/our-story/trends/files/idc-seagate-dataage-whitepaper.pdf\">35 zettabytes in 2020</a>. This led the IDC to predict that the world will create 175 zettabytes (175 trillion gigabytes) of new data in 2025. And that's a MASSIVE number!</p>\n<p>Data will continue to drive innovation, break boundaries, and create new concerns for day-to-day business operations in the years to come. No wonder, it has already led to the subsequent implementation of new data governance laws around the world. </p>\n<p>The following are a few predictions concerning data governance around the world. </p>\n<h3 id=\"a-radical-shift-in-roles-and-responsibilities\" style=\"position:relative;\"><a href=\"#a-radical-shift-in-roles-and-responsibilities\" aria-label=\"a radical shift in roles and responsibilities 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>A radical shift in roles and responsibilities.</h3>\n<p>As the world witnessed a major paradigm shift in the digital landscape, more and more companies are adopting robust data governance practices into their organizational framework. </p>\n<p>Of late, there has been a cultural shift to a data-centric approach from the existing campaign-centric one. This is beginning to make rooms for new roles and responsibilities like that of a Chief Data Officer (CDO) in companies that look to associate with a data-driven world.</p>\n<h3 id=\"the-changing-data-privacy-ecosystem\" style=\"position:relative;\"><a href=\"#the-changing-data-privacy-ecosystem\" aria-label=\"the changing data privacy ecosystem 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>The changing data privacy ecosystem.</h3>\n<p>The digital world has everything to do with creating, storing, and sharing data constantly. So no, it isn't wise to implement simple guidelines and standards to cover multiple circumstances. Data governance professionals recognize how we are at the epicenter of data creation, and a single decision has the power to make or break a business. </p>\n<p>The coming decade will witness privacy regulations becoming more stringent—the EU's GDPR and the <a href=\"https://www.loginradius.com/blog/2019/09/ccpa-vs-gdpr-the-compliance-war/\">California Consumer Privacy Act (CCPA)</a> are examples of the new revolution in the making. These laws focus on the individual and the consumer experience at a granular level for data officers to take the cue. </p>\n<h3 id=\"the-foundation-of-customer-experience\" style=\"position:relative;\"><a href=\"#the-foundation-of-customer-experience\" aria-label=\"the foundation of customer experience 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>The foundation of customer experience</h3>\n<p>Data governance will be at the center of customer and business relationships. Today, there are a plethora of channels - AR/VR, AI, cross-platform, omnichannel (to name a few) to connect the latter with their customers. But the only way to understand customer experience and converse with them, in general, is through data. </p>\n<p>Needless to say,  data governance will emerge as a competitive differentiator when delivering the best customer experiences.</p>\n<p><a href=\"https://www.loginradius.com/resource/the-ccpa-and-customer-identity\"><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 768px; \"\n    >\n      <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 30.307692307692307%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAGCAYAAADDl76dAAAACXBIWXMAAAsSAAALEgHS3X78AAABWklEQVQY002QTUsCURSGhxY5X5FpCmPgR1rNOCpmOo7WaOagohVEQaQE0TJI2rSzNq36JdEmiDaFi4hWbtq1adFfeTtzdarFy/m49zznvZcTljfgSCRJKxZktQJJtcai2j13xCfKEPUtzJt78GfqEFI2eLUKYWkd/OQOx2A0GMjU4NMIGi9iJmHCn7QQzNrw6pvgaYBBKUppG+HaEXT7EFJxH550g/XZQoqcm8TMNkqdHrL1A/gJ7AnnIC0amE1W6ZxqcucjVxFzG8paE0q+hVCuMa4pdxgM6G5XyE200ETMaCGgVyBE85AnwN8n093gagOhQhvh0g4WjA7LnW9yOQwoUWNOs5gjkST9kwN0Bjgli7PBLT6/vvHw/Iq7xxfcPw3xNvrA8H0Eb6qG6Xj5D+hVyUWsAJH+0JVMch1ORQwUd08YtNe/Qvd8gG5/gNPLGxxfXEPWKvAQ6wfQn8CjOYwLfAAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"ccpa-customer-identity\"\n        title=\"ccpa-customer-identity\"\n        src=\"/static/277eebfdb42ba7a9547788e0c4bc7ae6/e5715/ccpa-customer-identity.png\"\n        srcset=\"/static/277eebfdb42ba7a9547788e0c4bc7ae6/a6d36/ccpa-customer-identity.png 650w,\n/static/277eebfdb42ba7a9547788e0c4bc7ae6/e5715/ccpa-customer-identity.png 768w,\n/static/277eebfdb42ba7a9547788e0c4bc7ae6/63ff0/ccpa-customer-identity.png 2887w\"\n        sizes=\"(max-width: 768px) 100vw, 768px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n      />\n    </span></a></p>\n<h2 id=\"data-governance-best-practices-enterprises-should-follow\" style=\"position:relative;\"><a href=\"#data-governance-best-practices-enterprises-should-follow\" aria-label=\"data governance best practices enterprises should follow 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>Data Governance Best Practices Enterprises Should Follow</h2>\n<p>You need to take care of a lot of things while handling a <a href=\"https://www.loginradius.com/data-governance/\">data governance program</a>. For example, you need to hire the right people around you who can handle your data and invest in the right data management platform to get the best security. </p>\n<p>Similarly, below are a few data governance best practices you should follow: </p>\n<h3 id=\"figure-out-the-operating-model\" style=\"position:relative;\"><a href=\"#figure-out-the-operating-model\" aria-label=\"figure out the operating model 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>Figure out the operating model.</h3>\n<p>The operating model is the foundation of any data governance program. You need to figure out your enterprise's governance structure and define the roles and responsibilities to solve data programs as one unit. Ideally, there could be three kinds of structure.</p>\n<ul>\n<li>Centralized - When there is a central authority to manage everything.</li>\n<li>Decentralized - When there is a group of authorities to manage everything.</li>\n<li>Federated - When there are independent or multiple groups to manage everything with little or no shared ownership. </li>\n</ul>\n<h3 id=\"identify-opportunities-and-benefits\" style=\"position:relative;\"><a href=\"#identify-opportunities-and-benefits\" aria-label=\"identify opportunities and benefits 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>Identify opportunities and benefits.</h3>\n<p>Try to figure out the good that data governance may bring to your organization. When you know the benefits, you can use it to your advantage and plan your strategies according to the desired outcome. </p>\n<p>It can significantly help you get buy-ins from upper-level management and also from those that handle data at all organization levels. </p>\n<h3 id=\"narrow-down-your-data-domains\" style=\"position:relative;\"><a href=\"#narrow-down-your-data-domains\" aria-label=\"narrow down your data domains 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>Narrow down your data domains.</h3>\n<p>Most data domains contain artifacts like data owners, business processes, data and report catalogs, data dictionaries, systems and applications, policies and standards, data quality scorecards, and the likes. Depending on the type of industry, you need to determine these domains for every line of business. </p>\n<p>Mostly, the identification of a data domain starts with a problem. It can be the urge to increase <a href=\"https://www.loginradius.com/blog/2019/11/improve-customer-experience-ecommerce/\">customer experience</a>, manage customer usage, increase upsell, or the need to validate a customer requirement.</p>\n<h3 id=\"if-it-gets-intimidating-start-small\" style=\"position:relative;\"><a href=\"#if-it-gets-intimidating-start-small\" aria-label=\"if it gets intimidating start small 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>If it gets intimidating, start small.</h3>\n<p>Data governance involves complex systems, an intriguing group of people, and above all, large amounts of data. So, if you want to go long, start small. </p>\n<p>Identify a data crisis in one business area and expand from there. Likewise, you can also break more extensive programs into smaller ones and conduct test processes before going big. </p>\n<p>After the initial success, as you move to the next program, your process will be more streamlined, efficient, and cost-effective.</p>\n<h3 id=\"data-governance-is-not-just-about-data-but-people-too\" style=\"position:relative;\"><a href=\"#data-governance-is-not-just-about-data-but-people-too\" aria-label=\"data governance is not just about data but people 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>Data governance is not just about data, but people too.</h3>\n<p>Establish secure communication at every stage of creation and implementation for your data governance plan to work and get more buy-ins. So, next time you plan a new strategy, make sure to communicate about its benefits. </p>\n<p>It is also essential that the group responsible for implementation communicates the participant's roles explicitly in the data management strategy.</p>\n<h3 id=\"there-are-more-regulations-in-the-making\" style=\"position:relative;\"><a href=\"#there-are-more-regulations-in-the-making\" aria-label=\"there are more regulations in the making 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>There are more regulations in the making.</h3>\n<p>The world is coming in terms with the <a href=\"https://www.loginradius.com/compliances-list/\">compliance</a> defined by popular regulations like the GDPR and the CCPA. They completely changed the way companies do business, and how people perceive data protection. </p>\n<p>Following suit, other countries like India, South Korea, Brazil, and Thailand are on the verge of joining the global movement for stricter data protection laws.</p>\n<h2 id=\"how-does-a-robust-data-governance-framework-impact-your-digital-business\" style=\"position:relative;\"><a href=\"#how-does-a-robust-data-governance-framework-impact-your-digital-business\" aria-label=\"how does a robust data governance framework impact your digital business 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>How Does a Robust Data Governance Framework Impact Your Digital Business</h2>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 768px; \"\n    >\n      <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 68.61538461538461%; position: relative; bottom: 0; left: 0; background-image: url('data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAOABQDASIAAhEBAxEB/8QAGAAAAwEBAAAAAAAAAAAAAAAAAAQFAQP/xAAVAQEBAAAAAAAAAAAAAAAAAAABAv/aAAwDAQACEAMQAAABo8VcZbIon//EABgQAQADAQAAAAAAAAAAAAAAAAEAAgMR/9oACAEBAAEFAlOV4x1qLrK3SKr/AP/EABURAQEAAAAAAAAAAAAAAAAAAAAR/9oACAEDAQE/AVf/xAAVEQEBAAAAAAAAAAAAAAAAAAAAEf/aAAgBAgEBPwFH/8QAGRABAAMBAQAAAAAAAAAAAAAAAAERMQIh/9oACAEBAAY/AmKl6nqmv//EABkQAQEBAQEBAAAAAAAAAAAAAAERADEhYf/aAAgBAQABPyHoOoUqbhhPmkkU1VDSnucKt//aAAwDAQACAAMAAAAQr/8A/8QAFREBAQAAAAAAAAAAAAAAAAAAEBH/2gAIAQMBAT8Qo//EABURAQEAAAAAAAAAAAAAAAAAABAR/9oACAECAQE/EIP/xAAbEAEAAwEAAwAAAAAAAAAAAAABABEhQTFRkf/aAAgBAQABPxAKQqKwRaoZ68xBwSc/JuEG6MWKkDaLFcsi4DfWf//Z'); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"Data Governance Best Practices for Enterprises 1\"\n        title=\"Data Governance Best Practices for Enterprises 1\"\n        src=\"/static/10b2b25a61d2c0e15e954758dc121b5f/212bf/Data-Governance-Best-Practices-for-Enterprises-1.jpg\"\n        srcset=\"/static/10b2b25a61d2c0e15e954758dc121b5f/6aca1/Data-Governance-Best-Practices-for-Enterprises-1.jpg 650w,\n/static/10b2b25a61d2c0e15e954758dc121b5f/212bf/Data-Governance-Best-Practices-for-Enterprises-1.jpg 768w,\n/static/10b2b25a61d2c0e15e954758dc121b5f/64175/Data-Governance-Best-Practices-for-Enterprises-1.jpg 1025w\"\n        sizes=\"(max-width: 768px) 100vw, 768px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n      />\n    </span></p>\n<p>Digital transformation is actively on the radar of data security professionals. A well-thought and proactively managed data governance framework can drive business transformation throughout organizational levels in the following ways:</p>\n<ul>\n<li><strong>Production</strong>: It helps in deploying automation.</li>\n<li><strong>Procurement and Supply Chain Management</strong>: It reduces cost and induces operational efficiency.</li>\n<li><strong>Sales and Marketing</strong>: It offers customer preferences and behavioral insights.</li>\n<li><strong>Management</strong>: It ensures the overview of corporate data assets and the changing market opportunities.</li>\n<li><strong>Finance</strong>: It offers consistent and accurate reporting.</li>\n<li><strong>Legal and Compliance</strong>: It provides a decent way to meet the </li>\n<li>Growing international regulatory requirements.</li>\n</ul>\n<h2 id=\"choosing-the-loginradius-ciam-platform-to-help-enterprises\" style=\"position:relative;\"><a href=\"#choosing-the-loginradius-ciam-platform-to-help-enterprises\" aria-label=\"choosing the loginradius ciam platform to help enterprises 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>Choosing the LoginRadius CIAM Platform to Help Enterprises</h2>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 768px; \"\n    >\n      <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 60.61538461538461%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAMCAIAAADtbgqsAAAACXBIWXMAAAsSAAALEgHS3X78AAABfElEQVQoz22SW2/aQBCF/f//WBWpUh6qiCiEFtIQKIa19+K9zG07xhglhJX9YGu+OefMTlNrFam20CmRSVRI6r1DIgOwliUUnksafbtMGXnsUqvJmIlvSGAxCSMJsrjCKoPnBo1KOeAhpt+t2xsHxK7QDWwyIXEY4vSpZJfoAgeUzoXFwa/bXuV3AU8J1WFELsRapwW986u/u3/GGj+IqH8Gkoa0TdZEYlwAgIDsgc4hq4ZMyG3EAGRs2NjysPr4tTV/WmuBNcuYWRWULzxa6DNNxlguYxn/A61b+3MXfiw/ng9+sevWtuAET9VBdeZRKSmfprX1ZXkMK5NeDm7TRQ24OEYtaaYhX4+cH80xoKhz7aimNNrSJAVeTXo+xqc2vtus7ZuzTkURmuUUOPjkEmxd7ufJD4VeTXzch0Ub3/pkE17u+eZo7GPIL6chZNCZXa0l4K0rG5v9vEl3YL0khX2GNhT4ui9K7QNcP+/AmkLXqC/jPX1fNfdpgf8D9+O7yTgKhMkAAAAASUVORK5CYII='); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"image3 1\"\n        title=\"image3 1\"\n        src=\"/static/d3c2c10c3e2bcc3296f6b81404cb9eff/e5715/image3-1.png\"\n        srcset=\"/static/d3c2c10c3e2bcc3296f6b81404cb9eff/a6d36/image3-1.png 650w,\n/static/d3c2c10c3e2bcc3296f6b81404cb9eff/e5715/image3-1.png 768w,\n/static/d3c2c10c3e2bcc3296f6b81404cb9eff/d0143/image3-1.png 1025w\"\n        sizes=\"(max-width: 768px) 100vw, 768px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n      />\n    </span></p>\n<p>Data governance isn’t a one-time project, rather a recurring one. To maintain and sustain such programs require a lot of work. LoginRadius is a customer identity and access management (CIAM) platform that prepares organizations to fuel data-driven decision-making and create better business opportunities. </p>\n<p>The CIAM solution allows only authorized employees to access and manage customer data, so there's a lesser chance of accidental data leak. Among the global standards, it adheres to include the GDPR and the CCPA. Moreover, it supports <a href=\"https://www.loginradius.com/blog/identity/consumer-data-privacy-security/\">global regulatory compliances</a> to deliver a seamless customer experience. </p>\n<p>A few of the certifications include:</p>\n<ul>\n<li><strong>ISO 27001:2013</strong> – For information security management system.</li>\n<li><strong>ISO 27017:2015</strong> – For information security for cloud services.</li>\n<li><strong>ISO/IEC 27018:2019</strong> – For the protection of PII.</li>\n<li><strong>US Privacy Shield</strong> – Complaint resolution for EEA citizens.</li>\n<li><strong>PCI DSS–PCI SSC</strong> – For secure payment transactions.</li>\n<li><strong>ISAE 3000</strong> – For the protection of non-financial information.</li>\n<li><strong>NIST Cybersecurity Framework</strong> – To reduce cybersecurity risk.</li>\n<li><strong>AICPA SOC 2 (Type II)</strong> – For security, availability, process integrity, confidentiality, and data privacy. </li>\n</ul>\n<h2 id=\"conclusion\" style=\"position:relative;\"><a href=\"#conclusion\" aria-label=\"conclusion 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>Conclusion </h2>\n<p>As already mentioned, data governance revolves around people, processes, and technology. You need to stay on top of the changing regulations and management practices to sustain the shifting competition. </p>\n<p>Maximize benefits and optimize your use of data protection strategies in the new decade. Start with implementing the data governance best practices laid out in this article.</p>\n<p><a href=\"https://www.loginradius.com/book-a-demo/\"><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 768px; \"\n    >\n      <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 30.307692307692307%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAGCAYAAADDl76dAAAACXBIWXMAAAsTAAALEwEAmpwYAAABYElEQVQY0z2RO08CURCFN0hcWRZQHhYUKBHFBR+sUQQWefoAE4HCArXSWGhiZUGhsTHGEBsLf4AxdkQriZWWNtrY+HuOMwNaTO69k3PPfOdeZWS2BO9cGS4jD//8Ktyxgpx575kpQp20oE/nMGquQ4+uwBkvw5uswUcajfYOowBtKgsH1RBplQAJ+SI3fH2TwYkMeJBu5OCJF6XHYtvYEtRYCcF8E9HCNgbMGmxGGfbxJNSIJR4Kk+lU7niPjI3EjKiYkofYwykEEmtINQ5gVvewUN1FokJrhdaNHSzX9xG26gSShsKT1UhGCISQjJmKDbk33Kd3Ulwm5UThbAOh9JZUMLkpfQaTyCKmy0yl8Rv1yTiuFs1KnwcpoUWcXNzg8/sHj8+veHjq4r7zgvePL3S6b6Ljp1KYwE9x2Jjfgen+4rti+f8P4jjF5hFa13c4Pm/36qyN08tbHLau5DM56S/3nMSX+4NvoQAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"book-a-demo-loginradius\"\n        title=\"book-a-demo-loginradius\"\n        src=\"/static/c4fac6b24f15c7b7ba84deec1d1107ac/e5715/BD-Plexicon1-1024x310-1.png\"\n        srcset=\"/static/c4fac6b24f15c7b7ba84deec1d1107ac/a6d36/BD-Plexicon1-1024x310-1.png 650w,\n/static/c4fac6b24f15c7b7ba84deec1d1107ac/e5715/BD-Plexicon1-1024x310-1.png 768w,\n/static/c4fac6b24f15c7b7ba84deec1d1107ac/2bef9/BD-Plexicon1-1024x310-1.png 1024w\"\n        sizes=\"(max-width: 768px) 100vw, 768px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n      />\n    </span></a></p>\n<style class=\"grvsc-styles\">\n  .grvsc-container {\n    overflow: auto;\n    -webkit-overflow-scrolling: touch;\n    padding-top: 1rem;\n    padding-top: var(--grvsc-padding-top, var(--grvsc-padding-v, 1rem));\n    padding-bottom: 1rem;\n    padding-bottom: var(--grvsc-padding-bottom, var(--grvsc-padding-v, 1rem));\n    border-radius: 8px;\n    border-radius: var(--grvsc-border-radius, 8px);\n    font-feature-settings: normal;\n  }\n  \n  .grvsc-code {\n    display: inline-block;\n    min-width: 100%;\n  }\n  \n  .grvsc-line {\n    display: inline-block;\n    box-sizing: border-box;\n    width: 100%;\n    padding-left: 1.5rem;\n    padding-left: var(--grvsc-padding-left, var(--grvsc-padding-h, 1.5rem));\n    padding-right: 1.5rem;\n    padding-right: var(--grvsc-padding-right, var(--grvsc-padding-h, 1.5rem));\n  }\n  \n  .grvsc-line-highlighted {\n    background-color: var(--grvsc-line-highlighted-background-color, transparent);\n    box-shadow: inset var(--grvsc-line-highlighted-border-width, 4px) 0 0 0 var(--grvsc-line-highlighted-border-color, transparent);\n  }\n  \n</style>","frontmatter":{"date":"July 22, 2020","updated_date":null,"description":"The world has undergone a massive transformation in governing the data and is establishing methods to standardize, integrate, and protect such information. The EU's General Data Protection Regulation implemented in 2018 was a masterstroke to the data governance arrangement.","title":"Data Governance Best Practices for Enterprises","tags":["data governance","compliance","cx"],"pinned":null,"coverImage":{"childImageSharp":{"fluid":{"aspectRatio":1.408450704225352,"src":"/static/75b0cd9855412c27d96c0690d200f1fd/c3e3a/Data-Governance-Best-Practices.jpg","srcSet":"/static/75b0cd9855412c27d96c0690d200f1fd/f836f/Data-Governance-Best-Practices.jpg 200w,\n/static/75b0cd9855412c27d96c0690d200f1fd/2244e/Data-Governance-Best-Practices.jpg 400w,\n/static/75b0cd9855412c27d96c0690d200f1fd/c3e3a/Data-Governance-Best-Practices.jpg 769w","sizes":"(max-width: 769px) 100vw, 769px"}}},"author":{"id":"Rakesh Soni","github":"oyesoni","avatar":"rakesh-soni.jpg"}}}},{"node":{"excerpt":"What is the “hosts” file A hosts file which is used by operating systems to map a connection between an IP address and domain names before…","fields":{"slug":"/engineering/hosts-file/"},"html":"<h2 id=\"what-is-the-hosts-file\" style=\"position:relative;\"><a href=\"#what-is-the-hosts-file\" aria-label=\"what is the hosts file 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>What is the “hosts” file</h2>\n<p>A hosts file which is used by operating systems to map a connection between an IP address and domain names before going to domain name servers. This file is a simple text file with the mapping of IPs and domain names.</p>\n<h3 id=\"lets-talk-about-the-usage-of-the-hosts-file\" style=\"position:relative;\"><a href=\"#lets-talk-about-the-usage-of-the-hosts-file\" aria-label=\"lets talk about the usage of the hosts file 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>Let’s talk about the usage of the hosts file</h3>\n<h5 id=\"protecting-privacy\" style=\"position:relative;\"><a href=\"#protecting-privacy\" aria-label=\"protecting privacy 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>Protecting Privacy</h5>\n<p>You can use this to block advertisers, trackers, block marketing, or third party websites, block ads, banners, 3rd party page counters, or sites to protect your privacy. </p>\n<h5 id=\"block-website-for-your-kids\" style=\"position:relative;\"><a href=\"#block-website-for-your-kids\" aria-label=\"block website for your kids 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>Block website for your kids</h5>\n<p>If you don’t want your children to open some websites you can block them by the hosts file. You can decide entirely what you wish to block and even most hijackers and possibly unwanted programs. </p>\n<h5 id=\"security\" style=\"position:relative;\"><a href=\"#security\" aria-label=\"security 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>Security</h5>\n<p>We can utilize it as a firewall in our local system. The hosts file is to block Spyware and/or ad Networks you can add all the Spyware sites &#x26; ad Networks domain names in your hosts file also you can block dangerous sites, ransomware sites, blockchain sites. </p>\n<h5 id=\"development\" style=\"position:relative;\"><a href=\"#development\" aria-label=\"development 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>Development</h5>\n<p>You know during the development, you need to run your web application on the localhost for verification. Websites can run on the localhost, 127.0.0.1, or localhost IP address. There are some limitations in the localhost, you want to review your website on the custom domain before launching on the public domain suppose you have developed the e-commerce. You want to debug some payment gateway issue but your payment gateway is not supporting localhost URL or IP in the case of successful payment. You can add custom domain in the hosts file and validate the payment process on localhost </p>\n<h4 id=\"how-to-edit-hosts-file\" style=\"position:relative;\"><a href=\"#how-to-edit-hosts-file\" aria-label=\"how to edit hosts file 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>How to edit hosts file</h4>\n<h5 id=\"windows-8-or-10\" style=\"position:relative;\"><a href=\"#windows-8-or-10\" aria-label=\"windows 8 or 10 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>Windows 8 or 10</h5>\n<p>Windows operating system we need to open the host file </p>\n<ol>\n<li>Go to the Start menu and start typing the Notepad.</li>\n<li>Right-click Notepad and choose Run as administrator</li>\n</ol>\n<p>  <span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 386px; \"\n    >\n      <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 179.01554404145077%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAkCAYAAACJ8xqgAAAACXBIWXMAAAsTAAALEwEAmpwYAAAEgElEQVRIx61W609bdRg+f4JA4hYvmcwx7NgYW7Fc2tJSLygxSjJlRLcYoxvop30xccZPS/zo3PyqH/1iZowfTAiR24Sy2Xt7egFaejttKdDSK1DE8fh7f+yUbiKNWZs8+b3n/b3nOc/7vKfnHKH+2g946spN1I18h/rh2yz+Fg2f3kbd8C2ep2OCvFfHcg1X2d7H3zDcRP0nrP7KLbbuQWhW6aDTanC+XYVWZQd6DK+h+UwblJ1qqHUGdOt60anV4yTLUdyh0fFYrX8FKha3vtyJJnbc3HqOQ3i2qx9NhkE83/0WXmzXQtFtwNFTShxr68LJDh2aVD08Tzlajys1OMLiEyzfyOJnTqtwRKHkOVqFH38bx09jc7gzNos7v/yKsYkp3J2dw9SMEZN/zHJMMfBcRSznp1l81ziH2fsmzJnMEKyLIcQCPoQCiwj4/ShtbeHvnR1sbW4+ho1DY/knGG1u+PwBOEQ3jEYjJiYmMD09DbfbDa/Xx+A9BHv78/PzKBSKeLC7C2HGasf3MyYY/7yHSUY2OjqK8fFx+Hw+LCws8GICxZWgfRl0vPlQpTBjEzG/uMivZDabeUEoxGyIxcqIx+OQJAnRaJSDYsodSHjftwS/z8OKYlhdXcXy8jJWVlaQSCQQDocRiUQ4gZ/5GwgEOEgx1RKoltYt5j0ntPgTEO0OpNfXsb29za9ULBa5SlkZERPkOJPJIJfLIZvNIp/P87hUKu0RBkNWrGRiEF0ibDYrnE4nP0lWSjGRU6u0Li0tYW1tjZMQMdWtMzFlwvmwCyvpGIJLIT5Z8oTaTSaTXBG1TKCWU6kU74I6IDIC5R4htIiLcDtFiKLIzaWVCKgdKiaVsqekhpQVCgW+X9l62UNnMIq4FGF+JfhESRWZTP4RMQ2B1Hk8HjgczOt0+hGFpI5WUrhL96HLH0UiLmGB3Tomk4l7RGTBYJATysMg8wkyCYGUkfJ0eh1/bZdQ2mGEoXgYhXyhXCRfsfJYzhGI5HFkMtmKobB2iw+vfFDx/kmZf6Fyr+yhGEliI5/D+gEn/NfJlasc0/RJpeCMpRhhlhMeprCaeiIklUIklmBm56q2XI2QT5laDkgJNpTaEPLHlyeaKHv4pIR8KC5prSYe7t828RiKuXztCKVkGPlcviYeckKPFOU3ds0UitJqjYcST9V2KB4pWVuFXinAPCxU/S9Xwz5hJFYeymGPqGrYfwUEY8imU1hd23s3VD72/w9IyMbGBvMwkcaD0hZy7CrLiThbM3iSn/DzpBFWu519Qd3D6O8T/KvKxr5zLE4X7CJ7j7CXlpPB5vJgzuxgex5YbDaYzBY43V5YrA5W64Gd7dudXghN6leh7HsHjR16aAeGcMbQj5e0r6P77UG8cL4TTxsuo0F3GWc1Xbj+1RBa1BqcGrwG1fANHD3XgeEPL0Kj0+K5vl40jvTvEbbo38Qx9iXb/sYAFD19aGaEyr4BnOjS4/T716EY+gKtegMujnwAhVoHxaXP0fbZ1ziu68d7N75E74ULaHn3Es5e/Qj/ANDnuTDoxgo/AAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"Start Menu\"\n        title=\"Start Menu\"\n        src=\"/static/c1e0fe215fc1a5012e2137091af255db/7bc0b/windows1.png\"\n        srcset=\"/static/c1e0fe215fc1a5012e2137091af255db/7bc0b/windows1.png 386w\"\n        sizes=\"(max-width: 386px) 100vw, 386px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n      />\n    </span></p>\n<ol start=\"3\">\n<li>\n<p>Open the hosts file. Click on File > Open and Copy and Paste the following path`</p>\n<p><code>c:\\Windows\\System32\\Drivers\\etc\\hosts</code></p>\n</li>\n</ol>\n<p>  <span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 768px; \"\n    >\n      <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 63.230769230769226%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAANCAYAAACpUE5eAAAACXBIWXMAAAsTAAALEwEAmpwYAAACLElEQVQ4y32T6Y7aMBSFef9H6K9K/dHXqFRV3abSwMBAgAEStuyLnTh2Fk7vNVBmUFukIyfY+XzO9fUgznIUhUBVVajr2kpVJWqtz6pvo6ZRqRpSlhBCwhhD7wp1KWleQukKg7Zp7ERZltj7AQTBjWGAsouvYti9LIwM8Pf8HkURBrj8tHVRo+16GJ1DigSFEOTkrP50Qt/3aNsW+gIoL6k6+qY2DfwgfAtMsgJRSrBSIYhSiJJ2bxjQXKIzyNjnsiLnNFY0FhTfiwTm6+0N2FLMfa6xO0boGoOO3JTCJ6e5nT+RQ5ZdSy6zvEBO6rrO1lVTiXbbV8CGgCE5WvoxFNWz7QCVO4jD3V+BSZLYmnFkKSWyLKPIwVuHodQYLrcIj0cIqVCmDtL4+E9gHMW2VAwsigK+79+ARtcQigobZRSzQEr1lImD5D9AdngF5nl+BySHQmkCJjhR/YSsIGIHWRr8AfY9Q6k81GppmiKOzw655bgT7oAGq42L7z9+YjGfY38IoMUSRXqAodPEqbsuJWhvI2Z0KRpyy5dC0km/AfJO3Hcche3zTTjuX/A0m2O22mG1C+DRgbnUBdxvnudis9lQgvQCz3A4HDDgZuU4vAuD2D4rDn2M1z4+/orw4ese7794ePdpTc9brI8ppos1vj0MMZo4WCwWtIGHLbcN14FdMd11Xfvna3kkx5ljMpng8XGImeNg9bLEcLrE54cxRrMVxuMxnp+nGD2N8Bu70OBAxMChEgAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"edit-hosts-file-windows\"\n        title=\"edit-hosts-file-windows\"\n        src=\"/static/a6b91910fadbb359142add8e605b588b/e5715/windows2.png\"\n        srcset=\"/static/a6b91910fadbb359142add8e605b588b/a6d36/windows2.png 650w,\n/static/a6b91910fadbb359142add8e605b588b/e5715/windows2.png 768w,\n/static/a6b91910fadbb359142add8e605b588b/ddc81/windows2.png 837w\"\n        sizes=\"(max-width: 768px) 100vw, 768px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n      />\n    </span></p>\n<p>You can edit the hosts file</p>\n<p>Suppose you want to block facebook.com on your system and want to add a custom domain for your website. Just Copy and Paste following Lines</p>\n<pre class=\"grvsc-container dark-default-dark\" data-language=\"\" data-index=\"0\"><code class=\"grvsc-code\"><span class=\"grvsc-line\">0.0.0.0         www.facebook.com</span>\n<span class=\"grvsc-line\">127.0.0.1       www.customdomain.com</span></code></pre>\n<p>  <span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 735px; \"\n    >\n      <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 65.53846153846153%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAANCAYAAACpUE5eAAAACXBIWXMAAAsTAAALEwEAmpwYAAABy0lEQVQ4y51Sy47TQBDMb+0diRsSJ8R38C2IE8sJ/gBpEUis+AvY+DF+e8aO37GdzabobsdRsuvlwEil7ukZ1VT19MpRHjxXQSmFsixhtEbXdRjHUbDb7fDcOhwOT7BKkxgmy1BVFYwxiOMYmuJmsxEURYGBiIdhEPAj2+0W+/1+mdAYjbbt0DQ1siyn2JDSStRyzg9xnYk557MsM0K6tFau68LzfLiOA+VN1n3fx3p9R1jT3iV4CMIALuVry6L7Ht0JRO1j6yvHselyiCiOxHpG0NogSRKxH0URcqpFxzxNUyQEjtzrmfCkMCSyguzNPWrPPoT3fd+fItvkOud8bya6IGT5SZKKIuVN1liZqCOw/SAIkOc5Kdeyn/vLH/OEkC3Wx+b/zzonE8LJSicvx6SSX+VxmVXNKuq6lr6xcq6fk10orKqaeljJ7BkeD8qLopQxyTcFmrZFVTdik4la2s/D/lidEA5tibGrkaeRRNwP0JGPUNnouwZ4GHHY9afPWVJ1QXj13sKLjz7efA7w8jrA1QeFV9cOXn+y8fZLiHdfNVRxv9i3RYXf/rT4Tri1Ovy4a3Hzu8FPym/tLX7ZU83KpgF+OA7vvxT+BWRo33w9ocBUAAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"Save-hosts-file-windows\"\n        title=\"Save-hosts-file-windows\"\n        src=\"/static/fac9daf370e72e60b1fd57e8ccd07c43/7608e/windows3.png\"\n        srcset=\"/static/fac9daf370e72e60b1fd57e8ccd07c43/a6d36/windows3.png 650w,\n/static/fac9daf370e72e60b1fd57e8ccd07c43/7608e/windows3.png 735w\"\n        sizes=\"(max-width: 735px) 100vw, 735px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n      />\n    </span></p>\n<p>After finishing the Editing, <strong>Save your hosts file</strong></p>\n<p>  <span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 688px; \"\n    >\n      <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 67.07692307692308%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAANCAYAAACpUE5eAAAACXBIWXMAAAsTAAALEwEAmpwYAAACIklEQVQ4y21TTY/TMBDt7+HCiTsSB9hfh5A4INCKf7DaKwdAAokDC0IrdttuEydNNkntJM1H4yRNvx4z7rZqt1ga2ePYz++9mfR+2hJSxojCCEmSoqoqCo31eo3FYmFitVrhcGw2m/38OHpxmsFzHaSxxKzMkSoJx7Kg5ARZliHPc8xms5MHlsul2TsB9FWOX39HuBUBvLiEHSS4otzyIlQExIyLoqB1ZYA5mqbBdDpFXddHjHn0vo5KXP4O8NnS+CIafOrnuLgK8O02wr3vGRtUTJZEEdI0RUzriZRQSpl9Znwov1fmGcbCRkCX9awg6QoJyQ2DAMPhEIP+AJZlw/fGEEKYvf5gAGFbsClXKj4GZI8c4VBhlJGjtTavx3GCtm3QdR3m87mZWSoH+8d5XW+/HwGGYQjXcY0U3/fheR4CYieINQPz94BCkcwkSbZ7D/I5+IEjQPaGWfLhsiSGtTaH2HAzUzBrjradG3ZcqEPvjgD5FZbEDPnSrud2LbK7yGP1IHUn+RBsX2Wta3AuSdJkIpFOMyyWK1NVlpoXJfXb9gJ7zBXms5Kk/xew0dRXVYmqyFBk5AnlXO1Wl6hp5mjIhiIvUFI/ZllOirq9xBPAgR/DTRtc2yGuxQQi1riLCnz/M8SPGwcjWUGWLcndyu+6xZ7xIege8NX5GE9eu3h57uHs4z2evnHx7K2LF+8snH0QeP7ex8VNZQ6vN6f/8+P1Py8x2HduXznYAAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"Save-hosts-file-windows\"\n        title=\"Save-hosts-file-windows\"\n        src=\"/static/9ae12f3a031c3cf9bf210efb2cc18f9c/ebf47/windows4.png\"\n        srcset=\"/static/9ae12f3a031c3cf9bf210efb2cc18f9c/a6d36/windows4.png 650w,\n/static/9ae12f3a031c3cf9bf210efb2cc18f9c/ebf47/windows4.png 688w\"\n        sizes=\"(max-width: 688px) 100vw, 688px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n      />\n    </span></p>\n<p>Open your browser and try to access www.facebook.com and see you can’t access this site</p>\n<p>  <span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 768px; \"\n    >\n      <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 62.153846153846146%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAMCAYAAABiDJ37AAAACXBIWXMAAAsTAAALEwEAmpwYAAAA9ElEQVQoz61TW26DMBDk/P3odSrlKOkHEkKJSYsQtmPj59TriAB5gaJaGu2yDMNod13EGEEIIcA5l+FTHt5EgX8+xejwEejQX5VS1+dXfMJTh6OAtRZlWcIY84w5CZLDNUGKw2Dgvc9u55Fw+81LwXhJwI4MdV2DMYbj4YCmaVBVVa6TeAxTizY57HuO00+L37ZLuYCUCpxLCCFzfwla6209pMjPFm1v0AmLjlv00qVagFBpVTJvw1CQCZeIYBCdSr3UUGcFMwxXzt3arDkkB9+Nx56lYcTb92+sjUsqnzuBjy8BbeciWOzr6lDmpMe15QUYzx8wY7OS8tH6GwAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"Facebook-windows\"\n        title=\"Facebook-windows\"\n        src=\"/static/ca2e87ac50ce1b744a0f7f07fc98f479/e5715/windows5.png\"\n        srcset=\"/static/ca2e87ac50ce1b744a0f7f07fc98f479/a6d36/windows5.png 650w,\n/static/ca2e87ac50ce1b744a0f7f07fc98f479/e5715/windows5.png 768w,\n/static/ca2e87ac50ce1b744a0f7f07fc98f479/9f82e/windows5.png 820w\"\n        sizes=\"(max-width: 768px) 100vw, 768px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n      />\n    </span></p>\n<h5 id=\"linux\" style=\"position:relative;\"><a href=\"#linux\" aria-label=\"linux 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>Linux</h5>\n<p>Use following instructions for Linux </p>\n<ol>\n<li>\n<p>In the Linux terminal window, open hosts file using a favorite text editor </p>\n<pre class=\"grvsc-container dark-default-dark\" data-language=\"\" data-index=\"1\"><code class=\"grvsc-code\"><span class=\"grvsc-line\">$ sudo vim /etc/hosts</span></code></pre>\n</li>\n</ol>\n<p>  <span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 768px; \"\n    >\n      <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 46.61538461538461%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAJCAYAAAAywQxIAAAACXBIWXMAAAsTAAALEwEAmpwYAAAASklEQVQoz+2MsQ3AMAgEDRQmOCamY/9FP2SAFJFS+qVr7qVrawXcHWYGGwOqB3rXchfOOTHKPX9EIDPBzBCRV1oNv0JEO7iDH7kBP6m1huAPS3YAAAAASUVORK5CYII='); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"linux-hosts-file\"\n        title=\"linux-hosts-file\"\n        src=\"/static/e9b2f6ff6089fd0a961fee8495beec03/e5715/linux1.png\"\n        srcset=\"/static/e9b2f6ff6089fd0a961fee8495beec03/a6d36/linux1.png 650w,\n/static/e9b2f6ff6089fd0a961fee8495beec03/e5715/linux1.png 768w,\n/static/e9b2f6ff6089fd0a961fee8495beec03/0f882/linux1.png 1584w\"\n        sizes=\"(max-width: 768px) 100vw, 768px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n      />\n    </span></p>\n<p>  It will prompt for the password, enter your administrator password.</p>\n<ol start=\"2\">\n<li>Using the vim or your favorite text editor you can easily edit. The Linux hosts file is similar to the windows hosts file. Now again I am blocking Facebook and adding a custom domain </li>\n</ol>\n<p>  <span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 768px; \"\n    >\n      <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 41.07692307692307%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAICAYAAAD5nd/tAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAvklEQVQoz62Q1w7CMAxFOzI66QykM4Xy/794cYLECy2CioejSLZ14msvbxpERYG0rpG3LeKyRBhF4HnuYEni4GkKcTqBZ5mr+2EIz/PeORuDdhyhb1dclgVqnlFpDUX1VCkwK7CQTFYVBH1o2RXe1xU1DYx9DzNNmEkuhdge/obVCinuMAzoSTrThozzZ9P3fxd2XYeG7qgp5kjbWaGhuIrihnuxPiFEjCDwwRh7IaV076HIjMnj99oWRn8VPgABiqp9ZOXzsQAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"linux-hosts-file-edit\"\n        title=\"linux-hosts-file-edit\"\n        src=\"/static/96d45a3a2ccedff08dcd2886df06433f/e5715/linux2.png\"\n        srcset=\"/static/96d45a3a2ccedff08dcd2886df06433f/a6d36/linux2.png 650w,\n/static/96d45a3a2ccedff08dcd2886df06433f/e5715/linux2.png 768w,\n/static/96d45a3a2ccedff08dcd2886df06433f/e0577/linux2.png 1796w\"\n        sizes=\"(max-width: 768px) 100vw, 768px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n      />\n    </span></p>\n<ol start=\"3\">\n<li>Save the Changes</li>\n</ol>\n<h5 id=\"mac-os\" style=\"position:relative;\"><a href=\"#mac-os\" aria-label=\"mac os 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>Mac OS</h5>\n<p>Use following instructions for macOS </p>\n<ol>\n<li>Find the terminal application on your system\n-- We can use Spotlight application to search </li>\n</ol>\n<p>  <span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 768px; \"\n    >\n      <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 63.69230769230769%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAANCAYAAACpUE5eAAAACXBIWXMAAAsTAAALEwEAmpwYAAACvElEQVQ4y0WSW2/jVBRG/RNGnZkoTdM4dZrE9vHdcZ0096SepknUkE4pDDeBhJAYUDWPvMEf4JVHbhLwMxfbZ0J5+HRs+Zzltfc+RjVaYyYbVHaDly4x7YxaO6DScKicdKg1PZxoiGl51Bo2z57XeVltclzvcPTCpFI9o266nEpOTrsYVlLQcgfUTE/nxXGLo6pFpdbmqNKQbwlZf47VDjl3epw0utROOxr67KjG85cmx6c29aaiWrMwgnSKn68ILtfY4Zh6o0Pz3OPcjmRVZIMpo/EVjkpodRSu30OFOR35UaPZwTyzOe+GdFWPdtfHmEyXPP70Cz/8/A9fv/sR324TKlsn9l2CIMIPU4Kop1flR3h+jB8kOuWz8mRPEMueRID37xjePZJt3xLefEu0fku8+Y5k+z3J7SNRfylQORz28IJUcoBo0GH1EzFPccTe8L/6lfibv3G+/APzk984++x3HevzP7G++As13OF7gYapg1lpWRpp4/I9yFBRHxVfYry+f2CxKLi5XjEbj4g8l7iMr+hFAWGYHCxiHDcgzXJmszndro2rPMKkjys99dIRKp1gjNYPzK73FJt7knxKmo+5GEzoD2cE8QXuoSzXC3VsR+F5Hu12G6vVIiiB0UCAYwGOpYebjxhf3bJY7VmudoymBVk+ZHA5IYqzJztXGl+m3bFpNptYVosziYpyAV6iEjFMhhirD94wF1ixvmO1vWNZrDWg6/h69Q59csuSVaihunwxL4fgBLlc/AGO9M8RsPFq9zGjxZbF9Y751ZpitaUvduVhPVF9VQ5AgTkqYvFqw2b3Ib3BjI4n0HAgd/h9jKvtA5PiluXNnnmx1ZsH0r84zZ9s/itXA7WZXBGZrO1LxNAO+gLrvweu9p9SCHS9f8P19l5Dy6Ekvb7YBE/D+D+laXIo90Ig+ROszL9NIaGstKV+ZwAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"linux-hosts-file-edit\"\n        title=\"linux-hosts-file-edit\"\n        src=\"/static/725f87402b3ff7b7beed0ce746571631/e5715/mac1.png\"\n        srcset=\"/static/725f87402b3ff7b7beed0ce746571631/a6d36/mac1.png 650w,\n/static/725f87402b3ff7b7beed0ce746571631/e5715/mac1.png 768w,\n/static/725f87402b3ff7b7beed0ce746571631/9685e/mac1.png 1336w\"\n        sizes=\"(max-width: 768px) 100vw, 768px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n      />\n    </span></p>\n<ol start=\"2\">\n<li>Type <code>sudo vim /etc/hosts</code> in the terminal\n-- It will prompt for the password, enter your administrator password\n-- Enter administrator Password\n</li>\n</ol>\n<p>  <span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 768px; \"\n    >\n      <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 52.15384615384615%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAKCAYAAAC0VX7mAAAACXBIWXMAAAsTAAALEwEAmpwYAAAA/0lEQVQoz62R22rCQBCGx2jxcOMDWCgUqoKHaINJE2OiInihF56akKbe+/4v8HezniZhpYJefAzM7H77Z0L7wwGjcAtv94PxdyxqBF/g7WLJJIgxXIfwxcwPfjEO93C3EexVAEdgZ6C3+QYlw0fVnqFojFDouShPI5jLLhpeHVrXQa5tgVrmkXof9NE/VhXv8xVedAcVIdM6FvKdL+R1F6WeiaI+kLKkryV9gfYPVJssQI1P+fo1yUBgSZJeKuHpXO5cM9DrdAlqGjJFemhKuPRyKSti8ouQD2UKnohVJUxKtWcKk3Nyhych3w8XkOLiLXH6k9mPuSuhYpfKHT7CH5qFIp4Bf2LYAAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"mac-password\"\n        title=\"mac-password\"\n        src=\"/static/02f7704766464a68ca840c7ea423d695/e5715/mac2.png\"\n        srcset=\"/static/02f7704766464a68ca840c7ea423d695/a6d36/mac2.png 650w,\n/static/02f7704766464a68ca840c7ea423d695/e5715/mac2.png 768w,\n/static/02f7704766464a68ca840c7ea423d695/e405b/mac2.png 1566w\"\n        sizes=\"(max-width: 768px) 100vw, 768px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n      />\n    </span></p>\n<p><em>Using the vim text editor you can easily edit you. The macOS hosts file is also similar to the windows and Linux hosts file. I am blocking Facebook and adding custom domain here as well</em>.</p>\n<p>  <span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 768px; \"\n    >\n      <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 34.46153846153846%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAHCAYAAAAIy204AAAACXBIWXMAAAsTAAALEwEAmpwYAAAA+klEQVQoz42Q207CUBBFj9LWFnoJQnzAL1BQ6f1+oQUTTfj/z9nOjEBiX+zDykw7c1Z2RplBBcMvsIgb6Psc6jWC2sbT2I16xvBLWGEFMyihfeQinb1nvz2hXdD3hVSeXXfUNiHJCCfu4CQd5mENNz1gETWCR70dtzLj71VxxDLr5R/vOVRZeLdL/6B4aJGM0xiUgh+7JDH9Shbu3wip2YX0VkUwTmiTwApqSWjRPTnZMh9EzCL1cr1pMo2n9htOfoQRtrCzAZvhjGdi05+xbr7gFSdY8QEPUTcJ5VEaO+2h+zXMqIVHcpfEq+oTj+VJ+jndWaMT8M5//ADu/8pmlGD1WgAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"mac-hosts-file-edit\"\n        title=\"mac-hosts-file-edit\"\n        src=\"/static/613a525b29d21509c12da8d4c68919b6/e5715/mac3.png\"\n        srcset=\"/static/613a525b29d21509c12da8d4c68919b6/a6d36/mac3.png 650w,\n/static/613a525b29d21509c12da8d4c68919b6/e5715/mac3.png 768w,\n/static/613a525b29d21509c12da8d4c68919b6/077b7/mac3.png 1166w\"\n        sizes=\"(max-width: 768px) 100vw, 768px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n      />\n    </span></p>\n<ol start=\"3\">\n<li>Save Changes\nOpen your browser and try to access www.facebook.com and see you can’t access this site.</li>\n</ol>\n<p>  <span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 768px; \"\n    >\n      <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 62.153846153846146%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAMCAYAAABiDJ37AAAACXBIWXMAAAsTAAALEwEAmpwYAAAA9ElEQVQoz61TW26DMBDk/P3odSrlKOkHEkKJSYsQtmPj59TriAB5gaJaGu2yDMNod13EGEEIIcA5l+FTHt5EgX8+xejwEejQX5VS1+dXfMJTh6OAtRZlWcIY84w5CZLDNUGKw2Dgvc9u55Fw+81LwXhJwI4MdV2DMYbj4YCmaVBVVa6TeAxTizY57HuO00+L37ZLuYCUCpxLCCFzfwla6209pMjPFm1v0AmLjlv00qVagFBpVTJvw1CQCZeIYBCdSr3UUGcFMwxXzt3arDkkB9+Nx56lYcTb92+sjUsqnzuBjy8BbeciWOzr6lDmpMe15QUYzx8wY7OS8tH6GwAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"edit-hosts-file-mac\"\n        title=\"edit-hosts-file-mac\"\n        src=\"/static/ca2e87ac50ce1b744a0f7f07fc98f479/e5715/mac4.png\"\n        srcset=\"/static/ca2e87ac50ce1b744a0f7f07fc98f479/a6d36/mac4.png 650w,\n/static/ca2e87ac50ce1b744a0f7f07fc98f479/e5715/mac4.png 768w,\n/static/ca2e87ac50ce1b744a0f7f07fc98f479/9f82e/mac4.png 820w\"\n        sizes=\"(max-width: 768px) 100vw, 768px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n      />\n    </span></p>\n<h3 id=\"conclusion\" style=\"position:relative;\"><a href=\"#conclusion\" aria-label=\"conclusion 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>Conclusion</h3>\n<p>The hosts file is found on all operating systems. The hosts file is a powerful tool. It can make your computer more secure and safer by blocking malicious sites    </p>\n<style class=\"grvsc-styles\">\n  .grvsc-container {\n    overflow: auto;\n    -webkit-overflow-scrolling: touch;\n    padding-top: 1rem;\n    padding-top: var(--grvsc-padding-top, var(--grvsc-padding-v, 1rem));\n    padding-bottom: 1rem;\n    padding-bottom: var(--grvsc-padding-bottom, var(--grvsc-padding-v, 1rem));\n    border-radius: 8px;\n    border-radius: var(--grvsc-border-radius, 8px);\n    font-feature-settings: normal;\n  }\n  \n  .grvsc-code {\n    display: inline-block;\n    min-width: 100%;\n  }\n  \n  .grvsc-line {\n    display: inline-block;\n    box-sizing: border-box;\n    width: 100%;\n    padding-left: 1.5rem;\n    padding-left: var(--grvsc-padding-left, var(--grvsc-padding-h, 1.5rem));\n    padding-right: 1.5rem;\n    padding-right: var(--grvsc-padding-right, var(--grvsc-padding-h, 1.5rem));\n  }\n  \n  .grvsc-line-highlighted {\n    background-color: var(--grvsc-line-highlighted-background-color, transparent);\n    box-shadow: inset var(--grvsc-line-highlighted-border-width, 4px) 0 0 0 var(--grvsc-line-highlighted-border-color, transparent);\n  }\n  \n  .dark-default-dark {\n    background-color: #1E1E1E;\n    color: #D4D4D4;\n  }\n</style>","frontmatter":{"date":"July 20, 2020","updated_date":null,"description":"Hosts file maps hostnames to IP addresses, sometimes required to be edited either to block some sites or to test some custom domain.This blog explains how can we edit the hosts in different operating systems.","title":"Benefits and usages of Hosts File","tags":["Computer tricks","Networking","Hosts File"],"pinned":null,"coverImage":{"childImageSharp":{"fluid":{"aspectRatio":1.4184397163120568,"src":"/static/2b2c60ac5ca62d5201374a722f6a3f2f/f422e/index.jpg","srcSet":"/static/2b2c60ac5ca62d5201374a722f6a3f2f/f836f/index.jpg 200w,\n/static/2b2c60ac5ca62d5201374a722f6a3f2f/2244e/index.jpg 400w,\n/static/2b2c60ac5ca62d5201374a722f6a3f2f/f422e/index.jpg 640w","sizes":"(max-width: 640px) 100vw, 640px"}}},"author":{"id":"Vijay Singh Shekhawat","github":"code-vj","avatar":null}}}},{"node":{"excerpt":"Biggest Challenge in React application is the management of state for frontend developers. In large applications, React alone is not…","fields":{"slug":"/engineering/react-state-management/"},"html":"<p>Biggest Challenge in React application is the management of state for frontend developers. In large applications, React alone is not sufficient to handle the complexity which is why some developers use React hooks and others use state management libraries such as Redux.</p>\n<p>In this post, We are going to take a closer look at both React hooks and Redux to manage the state.</p>\n<h2 id=\"what-is-react-state-management\" style=\"position:relative;\"><a href=\"#what-is-react-state-management\" aria-label=\"what is react state management 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>What is React State Management?</h2>\n<p>React components have a built-in state object. The state is encapsulated data where you store assets that are persistent between component renderings.</p>\n<p>The state is just a fancy term for a JavaScript data structure. If a user changes state by interacting with your application, the UI may look completely different afterwards, because it's represented by this new state rather than the old state.</p>\n<blockquote>\n<p><strong>Make a state variable responsible for one concern to use efficiently</strong>.</p>\n</blockquote>\n<h2 id=\"why-do-you-need-react-state-management\" style=\"position:relative;\"><a href=\"#why-do-you-need-react-state-management\" aria-label=\"why do you need react state management 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>Why do you need React state management?</h2>\n<p>React applications are built using components and they manage their state internally and it works well for applications with few components, but when the application grows bigger, the complexity of managing states shared across components becomes difficult.</p>\n<p>Here is a simple example of an e-commerce application, in which the status of multiple components will change when purchasing a product.</p>\n<ul>\n<li>Add that product to the shopping list</li>\n<li>Add product to customer history</li>\n<li>trigger count of purchased products</li>\n</ul>\n<p>If developers do not have scalability in mind then it is really hard to find out what is happening when something goes wrong. This is why you need state management in your application.</p>\n<p>Let’s discuss how to use react state management using react hooks and redux</p>\n<h2 id=\"what-is-redux\" style=\"position:relative;\"><a href=\"#what-is-redux\" aria-label=\"what is redux 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>What is Redux?</h2>\n<p>Redux was created to resolve this particular issue. it provides a central store that holds all states of your application. Each component can access the stored state without sending it from one component to another.  Here is a simple view of how Redux works.</p>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 768px; \"\n    >\n      <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 56.30769230769231%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAALCAYAAAB/Ca1DAAAACXBIWXMAAAsTAAALEwEAmpwYAAAC/UlEQVQoz01SW0hUURRdd8ZCpaIc0j6KXtiLIEJNpIf2/DCFSjMpLcKfMKUys4dIjxEjk8aZ64hOls507+iMzzF7D0ikaYpkkVhqcx+jToJ+9dFHyGnfIaIL655zWGuvs8/eG8nJyfgfBw/tBWMMs4MM9spvvGCRf7Y+UlSPXZ0Sq+QfgkWSqu/2rbeWvQfzMUStBNKOZSLlcGowHrbyj9xbF+MKcitC0o5mLk8/dspw8dy9MCxGWL1pNI8MPS11itgl+hudVbKLDB33bz5ftScpPvLokYzNx9OyloI+s7FbR5wOjdZJNJi+YsjDEBqF8OitiwzEL7QY36Lm3gAEs4oXTX70eQNoqlZAQSjKt2geOkIo8zNUlw0SNxXk6CcvE3hftGgOrOZvD23gS3s3u6oDawgLyopbOMGi6p83+vW9rwN6MtRTkP7XCENL7azBUTkWbbzqiq0q/bCJDNcStxYiL5c/MUuMnjXvcSjMaZUZEUzkpR3ajdoz/q5BkJ4L7nnJTckwV40877ZJTPMgjpFA2k2HkmabWtBYO3LLaZWKSFhIWa/4a8L9b6idn5i/0+pLFXmlWODHr5HpFdGiXCaukGroR8ODMUz0MK0uCwl6a+kwTDdG8dA4h08vGc5k5eHAwSSkHtmPppoJVGxneFDSg1HiEIIIign3itpUjAGm2290NCZcRnq2ITMje11aSm5kYkw+da5LV3KuXxcfl4iTJ3KQtC8Bl84b4W7o4wCGndtyl6TszzPknC5cdiI9O+r6hdoFzxp+69BkneIIaLXNLBcsypfWOr/cYZf9bY8VH43JHN1q1bImcHUVw9upPL5mmyK31fumqe6kUecovshuGoOjclyv1SIIZ5UvgsRuEnd1iZMdHofaToZee+V4YVzCxqhdiTGrrXd7twhmuZ00nU+FyY72erWNmtNN8WephtQPRfev2O5aBQ6ThGdOPwa6Z/DuxTRcNSoeln9GbMJ6bNoWAdOdV0ENDTn6vTPo7pzWuh6Mp2Q4ajD+ABjguSUc0CB4AAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"using react state management with redux flowchart\"\n        title=\"using react state management with redux flowchart\"\n        src=\"/static/878d2cde053633bfea88a8bfcfc28e89/e5715/image1.png\"\n        srcset=\"/static/878d2cde053633bfea88a8bfcfc28e89/a6d36/image1.png 650w,\n/static/878d2cde053633bfea88a8bfcfc28e89/e5715/image1.png 768w,\n/static/878d2cde053633bfea88a8bfcfc28e89/29007/image1.png 1600w\"\n        sizes=\"(max-width: 768px) 100vw, 768px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n      />\n    </span></p>\n<p>There are three building parts: actions, store, and reducers. Let’s briefly discuss what each of them does.</p>\n<h4 id=\"actions-in-redux\" style=\"position:relative;\"><a href=\"#actions-in-redux\" aria-label=\"actions in redux 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>Actions in Redux</h4>\n<p>Actions are payloads of information that send data from your application to your store. Actions are sent using  <a href=\"https://redux.js.org/api/store#dispatchaction\"><code>store.dispatch()</code></a>. Actions are created via an action creator.\nHere is an example action that represents adding a new todo item:</p>\n<pre class=\"grvsc-container dark-default-dark\" data-language=\"\" data-index=\"0\"><code class=\"grvsc-code\"><span class=\"grvsc-line\">{ </span>\n<span class=\"grvsc-line\">type: &quot;ADD_TODO&quot;, </span>\n<span class=\"grvsc-line\">payload: {text:&quot;Hello Foo&quot;}</span>\n<span class=\"grvsc-line\"> }</span></code></pre>\n<p>Here is an example of its action creator:</p>\n<pre class=\"grvsc-container dark-default-dark\" data-language=\"\" data-index=\"1\"><code class=\"grvsc-code\"><span class=\"grvsc-line\">ocnst addTodo = (text) =&gt; {</span>\n<span class=\"grvsc-line\">  return {</span>\n<span class=\"grvsc-line\">     type: &quot;ADD_TODO&quot;,</span>\n<span class=\"grvsc-line\">     text</span>\n<span class=\"grvsc-line\">  };</span>\n<span class=\"grvsc-line\">}</span></code></pre>\n<h4 id=\"reducers-in-redux\" style=\"position:relative;\"><a href=\"#reducers-in-redux\" aria-label=\"reducers in redux 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>Reducers in Redux</h4>\n<p>Reducers specify how the application's state changes in response to actions sent to the store.\nAn example of how Reducer works in Redux is as follows:</p>\n<pre class=\"grvsc-container dark-default-dark\" data-language=\"\" data-index=\"2\"><code class=\"grvsc-code\"><span class=\"grvsc-line\">  const TODOReducer= (state = {}, action) =&gt; {</span>\n<span class=\"grvsc-line\">  switch (action.type) {</span>\n<span class=\"grvsc-line\">    case &quot;ADD_TODO&quot;:</span>\n<span class=\"grvsc-line\">      return {</span>\n<span class=\"grvsc-line\">        ...state,</span>\n<span class=\"grvsc-line\">        ...action.payload</span>\n<span class=\"grvsc-line\">      };</span>\n<span class=\"grvsc-line\">    default:</span>\n<span class=\"grvsc-line\">      return state;</span>\n<span class=\"grvsc-line\">  }</span>\n<span class=\"grvsc-line\">};</span></code></pre>\n<h4 id=\"store-in-redux\" style=\"position:relative;\"><a href=\"#store-in-redux\" aria-label=\"store in redux 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>Store in Redux</h4>\n<p>The store holds the application state. You can access stored state, update the state, and register or unregister listeners via helper methods.</p>\n<p>Let’s create a store for our TODO app:</p>\n<pre class=\"grvsc-container dark-default-dark\" data-language=\"\" data-index=\"3\"><code class=\"grvsc-code\"><span class=\"grvsc-line\">const store = createStore(TODOReducer);</span></code></pre>\n<p>In other words, Redux gives you code organization and debugging superpowers. This makes it easier to build more maintainable code, and much easier to track down the root cause when something goes wrong.</p>\n<h2 id=\"what-is-react-hook\" style=\"position:relative;\"><a href=\"#what-is-react-hook\" aria-label=\"what is react hook 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>What is React Hook?</h2>\n<p>These are functions that hook you into React state and features from function components. Hooks don't work inside classes  and it allows you to use React features without writing a class. </p>\n<p>Hooks are backwards-compatible, which means it doesn't keep any breaking changes. <a href=\"/react-hooks-guide/\">React provides some built-in Hooks</a> like <code>useState</code>, <code>UseEffect</code> and <code>useReducer</code> etc. You can also make custom hooks.</p>\n<h3 id=\"react-hook-rules\" style=\"position:relative;\"><a href=\"#react-hook-rules\" aria-label=\"react hook rules 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>React Hook Rules</h3>\n<ul>\n<li>Call hook at the top level only means that you need to call inside a loop, nested function, or conditions.</li>\n<li>React function components are called hooks only.</li>\n</ul>\n<p>Please see the following examples of some react hooks as follows:</p>\n<h5 id=\"what-is-usestate-and-how-to--use-it\" style=\"position:relative;\"><a href=\"#what-is-usestate-and-how-to--use-it\" aria-label=\"what is usestate and how to  use it 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>What is useState and how to  use it</h5>\n<p><code>useState</code> is a Hook that Lets you add React state to function components.\nExample:\nDeclaring a State Variable in class and initialize count state with 0 by setting this.state  to {count:0}.</p>\n<pre class=\"grvsc-container dark-default-dark\" data-language=\"\" data-index=\"4\"><code class=\"grvsc-code\"><span class=\"grvsc-line\">class Example extends React.Component {</span>\n<span class=\"grvsc-line\">  constructor(props) {</span>\n<span class=\"grvsc-line\">    super(props);</span>\n<span class=\"grvsc-line\">    this.state = {</span>\n<span class=\"grvsc-line\">      count: 0</span>\n<span class=\"grvsc-line\">    };</span>\n<span class=\"grvsc-line\">  }</span>\n<span class=\"grvsc-line\">  </span></code></pre>\n<p>In a function component, we have no this, so we can’t assign or read this.state. Instead, we call the <code>useState</code> Hook directly inside our component:</p>\n<pre class=\"grvsc-container dark-default-dark\" data-language=\"\" data-index=\"5\"><code class=\"grvsc-code\"><span class=\"grvsc-line\">function Example() {</span>\n<span class=\"grvsc-line\">    const [count, setCount] = useState(0);</span>\n<span class=\"grvsc-line\">}</span></code></pre>\n<p>We declare a state variable called count and set it to 0. React will remember its current value between re-renders, and provide the most recent one to our function. If we want to update the current count, we can call setCount.</p>\n<h5 id=\"what-is-usereducer-and-how-to-use-it\" style=\"position:relative;\"><a href=\"#what-is-usereducer-and-how-to-use-it\" aria-label=\"what is usereducer and how to use it 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>what is useReducer and how to use it</h5>\n<p><code>useReducer</code> is a hook I use sometimes to manage the state of the application. It is very similar to the <em>useState</em> hook, just more complex. <em>useReducer</em> hook uses the same concept as the reducers in Redux. It is basically a pure function, with no side-effects.</p>\n<p>Example of useReducer:</p>\n<p>useReducer creates an independent component co-located state container within your component. Whereas Redux creates a global state container that hangs somewhere above your entire application.</p>\n<pre class=\"grvsc-container dark-default-dark\" data-language=\"\" data-index=\"6\"><code class=\"grvsc-code\"><span class=\"grvsc-line\">          +----------------+              +----------------+</span>\n<span class=\"grvsc-line\">          |  Component A   |              |                |</span>\n<span class=\"grvsc-line\">          |                |              |                |</span>\n<span class=\"grvsc-line\">          |                |              |      Redux     |</span>\n<span class=\"grvsc-line\">          +----------------+              |                |</span>\n<span class=\"grvsc-line\">          | connect Redux  |&lt;-------------|                |</span>\n<span class=\"grvsc-line\">          +--------+-------+              +--------+-------+</span>\n<span class=\"grvsc-line\">                   |                               |</span>\n<span class=\"grvsc-line\">         +---------+-----------+                   |</span>\n<span class=\"grvsc-line\">         |                     |                   |</span>\n<span class=\"grvsc-line\">         |                     |                   |</span>\n<span class=\"grvsc-line\">+--------+-------+    +--------+-------+           |</span>\n<span class=\"grvsc-line\">|  Component B   |    |  Component C   |           |</span>\n<span class=\"grvsc-line\">|                |    |                |           |</span>\n<span class=\"grvsc-line\">|                |    |                |           |</span>\n<span class=\"grvsc-line\">+----------------+    +----------------+           |</span>\n<span class=\"grvsc-line\">|    useReducer  |    | connect Redux  |&lt;----------+</span>\n<span class=\"grvsc-line\">+----------------+    +--------+-------+</span>\n<span class=\"grvsc-line\">                               |</span>\n<span class=\"grvsc-line\">                      +--------+-------+</span>\n<span class=\"grvsc-line\">                      |  Component D   |</span>\n<span class=\"grvsc-line\">                      |                |</span>\n<span class=\"grvsc-line\">                      |                |</span>\n<span class=\"grvsc-line\">                      +----------------+</span></code></pre>\n<p>Below an example of todo items is completed or not using the useReducer react hook.</p>\n<p>See the following function which  is a reducer function for managing state transitions for a list of items:</p>\n<pre class=\"grvsc-container dark-default-dark\" data-language=\"\" data-index=\"7\"><code class=\"grvsc-code\"><span class=\"grvsc-line\"> const todoReducer = (state, action) =&gt; {</span>\n<span class=\"grvsc-line\">      switch (action.type) {</span>\n<span class=\"grvsc-line\">        case &quot;ADD_TODO&quot;:</span>\n<span class=\"grvsc-line\">          return state.map(todo =&gt; {</span>\n<span class=\"grvsc-line\">            if (todo.id === action.id) {</span>\n<span class=\"grvsc-line\">              return { ...todo, complete: true };</span>\n<span class=\"grvsc-line\">            } else {</span>\n<span class=\"grvsc-line\">              return todo;</span>\n<span class=\"grvsc-line\">            }</span>\n<span class=\"grvsc-line\">          });</span>\n<span class=\"grvsc-line\">        case &quot;REMOVE_TODO&quot;:</span>\n<span class=\"grvsc-line\">          return state.map(todo =&gt; {</span>\n<span class=\"grvsc-line\">            if (todo.id === action.id) {</span>\n<span class=\"grvsc-line\">              return { ...todo, complete: false };</span>\n<span class=\"grvsc-line\">            } else {</span>\n<span class=\"grvsc-line\">              return todo;</span>\n<span class=\"grvsc-line\">            }</span>\n<span class=\"grvsc-line\">          });</span>\n<span class=\"grvsc-line\">        default:</span>\n<span class=\"grvsc-line\">          return state;</span>\n<span class=\"grvsc-line\">      }</span>\n<span class=\"grvsc-line\">    };</span></code></pre>\n<p>There are two types of actions which are equivalent to two states. they used to toggle the complete boolean field and additional payload to identify incoming action.</p>\n<p>The state which is managed in this reducer is an array of items:</p>\n<pre class=\"grvsc-container dark-default-dark\" data-language=\"\" data-index=\"8\"><code class=\"grvsc-code\"><span class=\"grvsc-line\">const initialTodos = [</span>\n<span class=\"grvsc-line\">      {</span>\n<span class=\"grvsc-line\">        id: &quot;t1&quot;,</span>\n<span class=\"grvsc-line\">        task: &quot;Add Task 1&quot;,</span>\n<span class=\"grvsc-line\">        complete: false</span>\n<span class=\"grvsc-line\">      },</span>\n<span class=\"grvsc-line\">      {</span>\n<span class=\"grvsc-line\">        id: &quot;t2&quot;,</span>\n<span class=\"grvsc-line\">        task: &quot;Add Task 2&quot;,</span>\n<span class=\"grvsc-line\">        complete: false</span>\n<span class=\"grvsc-line\">      }</span>\n<span class=\"grvsc-line\">    ];</span></code></pre>\n<p>In code, The useReducer hook is used for complex state and state transitions. It takes a reducer function and an initial state as input and returns the current state and a dispatch function as output</p>\n<pre class=\"grvsc-container dark-default-dark\" data-language=\"\" data-index=\"9\"><code class=\"grvsc-code\"><span class=\"grvsc-line\"> const [todos, dispatch] = React.useReducer(</span>\n<span class=\"grvsc-line\">    todoReducer,</span>\n<span class=\"grvsc-line\">    initialTodos</span>\n<span class=\"grvsc-line\">  );</span></code></pre>\n<p>Complete file:</p>\n<pre class=\"grvsc-container dark-default-dark\" data-language=\"\" data-index=\"10\"><code class=\"grvsc-code\"><span class=\"grvsc-line\">import React from &quot;react&quot;;</span>\n<span class=\"grvsc-line\"></span>\n<span class=\"grvsc-line\">const initialTodos = [</span>\n<span class=\"grvsc-line\">  {</span>\n<span class=\"grvsc-line\">    id: &quot;t1&quot;,</span>\n<span class=\"grvsc-line\">    task: &quot;Add Task 1&quot;,</span>\n<span class=\"grvsc-line\">    complete: false</span>\n<span class=\"grvsc-line\">  },</span>\n<span class=\"grvsc-line\">  {</span>\n<span class=\"grvsc-line\">    id: &quot;t2&quot;,</span>\n<span class=\"grvsc-line\">    task: &quot;Add Task 2&quot;,</span>\n<span class=\"grvsc-line\">    complete: false</span>\n<span class=\"grvsc-line\">  }</span>\n<span class=\"grvsc-line\">];</span>\n<span class=\"grvsc-line\">const todoReducer = (state, action) =&gt; {</span>\n<span class=\"grvsc-line\">  switch (action.type) {</span>\n<span class=\"grvsc-line\">    case &quot;ADD_TODO&quot;:</span>\n<span class=\"grvsc-line\">      return state.map(todo =&gt; {</span>\n<span class=\"grvsc-line\">        if (todo.id === action.id) {</span>\n<span class=\"grvsc-line\">          return { ...todo, complete: true };</span>\n<span class=\"grvsc-line\">        } else {</span>\n<span class=\"grvsc-line\">          return todo;</span>\n<span class=\"grvsc-line\">        }</span>\n<span class=\"grvsc-line\">      });</span>\n<span class=\"grvsc-line\">    case &quot;REMOVE_TODO&quot;:</span>\n<span class=\"grvsc-line\">      return state.map(todo =&gt; {</span>\n<span class=\"grvsc-line\">        if (todo.id === action.id) {</span>\n<span class=\"grvsc-line\">          return { ...todo, complete: false };</span>\n<span class=\"grvsc-line\">        } else {</span>\n<span class=\"grvsc-line\">          return todo;</span>\n<span class=\"grvsc-line\">        }</span>\n<span class=\"grvsc-line\">      });</span>\n<span class=\"grvsc-line\">    default:</span>\n<span class=\"grvsc-line\">      return state;</span>\n<span class=\"grvsc-line\">  }</span>\n<span class=\"grvsc-line\">};</span>\n<span class=\"grvsc-line\">const App = () =&gt; {</span>\n<span class=\"grvsc-line\">  const [todos, dispatch] = React.useReducer(todoReducer, initialTodos);</span>\n<span class=\"grvsc-line\"></span>\n<span class=\"grvsc-line\">  const handleChange = todo =&gt; {</span>\n<span class=\"grvsc-line\">    dispatch({</span>\n<span class=\"grvsc-line\">      type: todo.complete ? &quot;REMOVE_TODO&quot; : &quot;ADD_TODO&quot;,</span>\n<span class=\"grvsc-line\">      id: todo.id</span>\n<span class=\"grvsc-line\">    });</span>\n<span class=\"grvsc-line\">  };</span>\n<span class=\"grvsc-line\">  return (</span>\n<span class=\"grvsc-line\">    &lt;ul&gt;</span>\n<span class=\"grvsc-line\">      {todos.map(todo =&gt; (</span>\n<span class=\"grvsc-line\">        &lt;li key={todo.id}&gt;</span>\n<span class=\"grvsc-line\">          &lt;label&gt;</span>\n<span class=\"grvsc-line\">            &lt;input</span>\n<span class=\"grvsc-line\">              type=&quot;checkbox&quot;</span>\n<span class=\"grvsc-line\">              checked={todo.complete}</span>\n<span class=\"grvsc-line\">              onChange={() =&gt; handleChange(todo)}</span>\n<span class=\"grvsc-line\">            /&gt;</span>\n<span class=\"grvsc-line\">            {todo.task}</span>\n<span class=\"grvsc-line\">          &lt;/label&gt;</span>\n<span class=\"grvsc-line\">        &lt;/li&gt;</span>\n<span class=\"grvsc-line\">      ))}</span>\n<span class=\"grvsc-line\">    &lt;/ul&gt;</span>\n<span class=\"grvsc-line\">  );</span>\n<span class=\"grvsc-line\">};</span>\n<span class=\"grvsc-line\"></span>\n<span class=\"grvsc-line\">export default App;</span></code></pre>\n<p>Let’s do a similar example with Redux.</p>\n<p>Store in <em>App.js</em>.</p>\n<pre class=\"grvsc-container dark-default-dark\" data-language=\"\" data-index=\"11\"><code class=\"grvsc-code\"><span class=\"grvsc-line\">import React from &quot;react&quot;;</span>\n<span class=\"grvsc-line\">import { Provider } from &quot;react-redux&quot;;</span>\n<span class=\"grvsc-line\">import { createStore } from &quot;redux&quot;;</span>\n<span class=\"grvsc-line\">import rootReducer from &quot;./reducers&quot;;</span>\n<span class=\"grvsc-line\">import Todo from &quot;./Components/TODO&quot;;</span>\n<span class=\"grvsc-line\">const store = createStore(rootReducer);</span>\n<span class=\"grvsc-line\"></span>\n<span class=\"grvsc-line\">function App() {</span>\n<span class=\"grvsc-line\">  return (</span>\n<span class=\"grvsc-line\">    &lt;div className=&quot;App&quot;&gt;</span>\n<span class=\"grvsc-line\">      &lt;Provider store={store}&gt;</span>\n<span class=\"grvsc-line\">        &lt;Todo /&gt;</span>\n<span class=\"grvsc-line\">      &lt;/Provider&gt;</span>\n<span class=\"grvsc-line\">    &lt;/div&gt;</span>\n<span class=\"grvsc-line\">  );</span>\n<span class=\"grvsc-line\">}</span>\n<span class=\"grvsc-line\"></span>\n<span class=\"grvsc-line\">export default App;</span></code></pre>\n<p>Actions in <em>actions/index.js</em>.</p>\n<pre class=\"grvsc-container dark-default-dark\" data-language=\"\" data-index=\"12\"><code class=\"grvsc-code\"><span class=\"grvsc-line\">export const addTodo = id =&gt; ({</span>\n<span class=\"grvsc-line\">  type: &quot;ADD_TODO&quot;,</span>\n<span class=\"grvsc-line\">  id</span>\n<span class=\"grvsc-line\">});</span>\n<span class=\"grvsc-line\"></span>\n<span class=\"grvsc-line\">export const removeTodo = id =&gt; ({</span>\n<span class=\"grvsc-line\">  type: &quot;REMOVE_TODO&quot;,</span>\n<span class=\"grvsc-line\">  id</span>\n<span class=\"grvsc-line\">});</span></code></pre>\n<p>Reducers in <em>reducers/index.js</em>.</p>\n<pre class=\"grvsc-container dark-default-dark\" data-language=\"\" data-index=\"13\"><code class=\"grvsc-code\"><span class=\"grvsc-line\">const initialTodos = [</span>\n<span class=\"grvsc-line\">  {</span>\n<span class=\"grvsc-line\">    id: &quot;t1&quot;,</span>\n<span class=\"grvsc-line\">    task: &quot;Add Task 1&quot;,</span>\n<span class=\"grvsc-line\">    complete: false</span>\n<span class=\"grvsc-line\">  },</span>\n<span class=\"grvsc-line\">  {</span>\n<span class=\"grvsc-line\">    id: &quot;t2&quot;,</span>\n<span class=\"grvsc-line\">    task: &quot;Add Task 2&quot;,</span>\n<span class=\"grvsc-line\">    complete: false</span>\n<span class=\"grvsc-line\">  }</span>\n<span class=\"grvsc-line\">];</span>\n<span class=\"grvsc-line\">const todos = (state = initialTodos, action) =&gt; {</span>\n<span class=\"grvsc-line\">  switch (action.type) {</span>\n<span class=\"grvsc-line\">    case &quot;ADD_TODO&quot;:</span>\n<span class=\"grvsc-line\">      return state.map(todo =&gt; {</span>\n<span class=\"grvsc-line\">        if (todo.id === action.id) {</span>\n<span class=\"grvsc-line\">          return { ...todo, complete: true };</span>\n<span class=\"grvsc-line\">        } else {</span>\n<span class=\"grvsc-line\">          return todo;</span>\n<span class=\"grvsc-line\">        }</span>\n<span class=\"grvsc-line\">      });</span>\n<span class=\"grvsc-line\">    case &quot;REMOVE_TODO&quot;:</span>\n<span class=\"grvsc-line\">      return state.map(todo =&gt; {</span>\n<span class=\"grvsc-line\">        if (todo.id === action.id) {</span>\n<span class=\"grvsc-line\">          return { ...todo, complete: false };</span>\n<span class=\"grvsc-line\">        } else {</span>\n<span class=\"grvsc-line\">          return todo;</span>\n<span class=\"grvsc-line\">        }</span>\n<span class=\"grvsc-line\">      });</span>\n<span class=\"grvsc-line\">    default:</span>\n<span class=\"grvsc-line\">      return state;</span>\n<span class=\"grvsc-line\">  }</span>\n<span class=\"grvsc-line\">};</span>\n<span class=\"grvsc-line\"></span>\n<span class=\"grvsc-line\">export default todos;</span></code></pre>\n<p>FIle components/Todo.js</p>\n<pre class=\"grvsc-container dark-default-dark\" data-language=\"\" data-index=\"14\"><code class=\"grvsc-code\"><span class=\"grvsc-line\">import React from &quot;react&quot;;</span>\n<span class=\"grvsc-line\">import { connect } from &quot;react-redux&quot;;</span>\n<span class=\"grvsc-line\">import { addTodo, removeTodo } from &quot;../../redux/actions/authActions&quot;;</span>\n<span class=\"grvsc-line\"></span>\n<span class=\"grvsc-line\">const Todo = ({ todos, addTodo, removeTodo }) =&gt; {</span>\n<span class=\"grvsc-line\">  const handleChange = todo =&gt; {</span>\n<span class=\"grvsc-line\">    if (todo.complete) {</span>\n<span class=\"grvsc-line\">      removeTodo(todo.id);</span>\n<span class=\"grvsc-line\">    } else {</span>\n<span class=\"grvsc-line\">      addTodo(todo.id);</span>\n<span class=\"grvsc-line\">    }</span>\n<span class=\"grvsc-line\">  };</span>\n<span class=\"grvsc-line\"></span>\n<span class=\"grvsc-line\">  return (</span>\n<span class=\"grvsc-line\">    &lt;ul&gt;</span>\n<span class=\"grvsc-line\">      {todos.map(todo =&gt; (</span>\n<span class=\"grvsc-line\">        &lt;li key={todo.id}&gt;</span>\n<span class=\"grvsc-line\">          &lt;label&gt;</span>\n<span class=\"grvsc-line\">            &lt;input</span>\n<span class=\"grvsc-line\">              type=&quot;checkbox&quot;</span>\n<span class=\"grvsc-line\">              checked={todo.complete}</span>\n<span class=\"grvsc-line\">              onChange={() =&gt; handleChange(todo)}</span>\n<span class=\"grvsc-line\">            /&gt;</span>\n<span class=\"grvsc-line\">            {todo.task}</span>\n<span class=\"grvsc-line\">          &lt;/label&gt;</span>\n<span class=\"grvsc-line\">        &lt;/li&gt;</span>\n<span class=\"grvsc-line\">      ))}</span>\n<span class=\"grvsc-line\">    &lt;/ul&gt;</span>\n<span class=\"grvsc-line\">  );</span>\n<span class=\"grvsc-line\">};</span>\n<span class=\"grvsc-line\"></span>\n<span class=\"grvsc-line\">const mapStateToProps = state =&gt; ({ todos: state.auth.todos });</span>\n<span class=\"grvsc-line\">const mapDispatchToProps = dispatch =&gt; {</span>\n<span class=\"grvsc-line\">  return {</span>\n<span class=\"grvsc-line\">    addTodo: id =&gt; dispatch(addTodo(id)),</span>\n<span class=\"grvsc-line\">    removeTodo: id =&gt; dispatch(removeTodo(id))</span>\n<span class=\"grvsc-line\">  };</span>\n<span class=\"grvsc-line\">};</span>\n<span class=\"grvsc-line\"></span>\n<span class=\"grvsc-line\">export default connect(</span>\n<span class=\"grvsc-line\">  mapStateToProps,</span>\n<span class=\"grvsc-line\">  mapDispatchToProps</span>\n<span class=\"grvsc-line\">)(Todo);</span></code></pre>\n<p>React offers react hooks which can be used as an alternative for <code>connect()</code>. You can use built-in hooks mainly useState, UseReducer and useContext and because of these you often may not require Redux. </p>\n<p>But for large applications, you can use both redux and react hooks. it works great! React Hook is a useful new feature, and the addition of React-Redux with Redux-specific hooks is a great step towards simplifying Redux development.</p>\n<style class=\"grvsc-styles\">\n  .grvsc-container {\n    overflow: auto;\n    -webkit-overflow-scrolling: touch;\n    padding-top: 1rem;\n    padding-top: var(--grvsc-padding-top, var(--grvsc-padding-v, 1rem));\n    padding-bottom: 1rem;\n    padding-bottom: var(--grvsc-padding-bottom, var(--grvsc-padding-v, 1rem));\n    border-radius: 8px;\n    border-radius: var(--grvsc-border-radius, 8px);\n    font-feature-settings: normal;\n  }\n  \n  .grvsc-code {\n    display: inline-block;\n    min-width: 100%;\n  }\n  \n  .grvsc-line {\n    display: inline-block;\n    box-sizing: border-box;\n    width: 100%;\n    padding-left: 1.5rem;\n    padding-left: var(--grvsc-padding-left, var(--grvsc-padding-h, 1.5rem));\n    padding-right: 1.5rem;\n    padding-right: var(--grvsc-padding-right, var(--grvsc-padding-h, 1.5rem));\n  }\n  \n  .grvsc-line-highlighted {\n    background-color: var(--grvsc-line-highlighted-background-color, transparent);\n    box-shadow: inset var(--grvsc-line-highlighted-border-width, 4px) 0 0 0 var(--grvsc-line-highlighted-border-color, transparent);\n  }\n  \n  .dark-default-dark {\n    background-color: #1E1E1E;\n    color: #D4D4D4;\n  }\n</style>","frontmatter":{"date":"July 17, 2020","updated_date":null,"description":"Learn about React state management and why we need state management and how to use it with React hooks and Redux in the best possible way.","title":"React state management: What is it and why to use it?","tags":["React","Redux","Hooks"],"pinned":null,"coverImage":{"childImageSharp":{"fluid":{"aspectRatio":1.5037593984962405,"src":"/static/ef27359624480604211f0e018dd47f18/bc59e/title-image.png","srcSet":"/static/ef27359624480604211f0e018dd47f18/69585/title-image.png 200w,\n/static/ef27359624480604211f0e018dd47f18/497c6/title-image.png 400w,\n/static/ef27359624480604211f0e018dd47f18/bc59e/title-image.png 512w","sizes":"(max-width: 512px) 100vw, 512px"}}},"author":{"id":"Versha Gupta","github":"vershagupta","avatar":null}}}},{"node":{"excerpt":"Top 10 Benefits of Multi-Factor Authentication (MFA) In today’s digital world, passwords alone are no longer enough to keep cybercriminals…","fields":{"slug":"/identity/benefits-of-mfa/"},"html":"<h1 id=\"top-10-benefits-of-multi-factor-authentication-mfa\" style=\"position:relative;\"><a href=\"#top-10-benefits-of-multi-factor-authentication-mfa\" aria-label=\"top 10 benefits of multi factor authentication mfa 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>Top 10 Benefits of Multi-Factor Authentication (MFA)</h1>\n<p>In today’s digital world, passwords alone are no longer enough to keep cybercriminals at bay. Hackers have become increasingly sophisticated, and a simple login credential is often all they need to access sensitive data. That’s where Multi-Factor Authentication (MFA) comes in. By requiring multiple forms of verification, MFA adds an extra shield against cyber threats.</p>\n<p>But what makes MFA so essential? Why is it a must-have security feature in businesses and personal accounts alike? Let’s break it down and explore the top 10 benefits of multi-factor authentication that make it an indispensable security feature in today’s cybersecurity landscape.</p>\n<h2 id=\"what-is-multi-factor-authentication-mfa\" style=\"position:relative;\"><a href=\"#what-is-multi-factor-authentication-mfa\" aria-label=\"what is multi factor authentication mfa 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>What is Multi-Factor Authentication (MFA)?</h2>\n<p>Imagine trying to enter a high-security building. Instead of just showing an ID, you also need to scan your fingerprint and enter a code sent to your phone.</p>\n<p>Just like a high-security building requires multiple layers of verification, the digital world demands the same level of protection. Multi-factor authentication (MFA) ensures that even if a password is compromised, unauthorized access is still blocked—keeping your accounts and data secure in an increasingly connected world. That’s MFA in a nutshell.</p>\n<p><a href=\"https://www.loginradius.com/platforms/multi-factor-authentication\">Multi-factor authentication (MFA)</a> is a security process that requires users to verify their identity using more than one method before they can access an account. Instead of just a password, users must also provide something they have (like a phone-generated code) or something they are (like a fingerprint or facial recognition).</p>\n<p>This dramatically reduces the risk of unauthorized access, even if login credentials are compromised. This highlights the advantages of multi-factor authentication in ensuring strong security measures.</p>\n<h2 id=\"common-multi-factor-authentication-methods\" style=\"position:relative;\"><a href=\"#common-multi-factor-authentication-methods\" aria-label=\"common multi factor authentication methods 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>Common Multi-Factor Authentication Methods</h2>\n<h3 id=\"sms-or-email-based-one-time-passwords-otp\" style=\"position:relative;\"><a href=\"#sms-or-email-based-one-time-passwords-otp\" aria-label=\"sms or email based one time passwords otp 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>SMS or Email-Based One-Time Passwords (OTP)</h3>\n<p>Imagine you’re logging into your online banking account, and right after entering your password, you receive a six-digit code via text or email. This one-time password (OTP) is only valid for a short time, making it difficult for hackers to use stolen credentials alone.</p>\n<p>While this is a widely used method, it’s not foolproof—SIM swapping and phishing attacks can still pose a risk. However, one of the benefits of two-factor authentication is that it provides an added security step.</p>\n<h3 id=\"authenticator-apps-generating-time-based-one-time-passwords-totp\" style=\"position:relative;\"><a href=\"#authenticator-apps-generating-time-based-one-time-passwords-totp\" aria-label=\"authenticator apps generating time based one time passwords totp 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>Authenticator Apps Generating Time-Based One-Time Passwords (TOTP)</h3>\n<p>Apps like Google Authenticator or Microsoft Authenticator take OTPs to the next level. Instead of relying on SMS or email, they generate codes directly on your device every 30 seconds. This method significantly reduces the risk of interception and is commonly used in securing email and cloud accounts.</p>\n<h3 id=\"hardware-tokens\" style=\"position:relative;\"><a href=\"#hardware-tokens\" aria-label=\"hardware tokens 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>Hardware Tokens</h3>\n<p>For industries dealing with highly sensitive data, hardware tokens provide an extra layer of security. These are physical devices, like YubiKeys, that generate codes or require tapping on a USB port for authentication.</p>\n<p>While incredibly secure, they can be inconvenient if lost or misplaced. This is an important aspect when considering the pros and cons of multi-factor authentication for an organization.</p>\n<h3 id=\"biometric-authentication\" style=\"position:relative;\"><a href=\"#biometric-authentication\" aria-label=\"biometric authentication 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>Biometric Authentication</h3>\n<p>You probably unlock your phone using your fingerprint or facial recognition—this is biometric authentication in action.</p>\n<p>From Apple’s Face ID to Windows Hello, biometrics provide a seamless and highly secure authentication method, as they rely on unique personal traits that cannot be easily replicated.</p>\n<h3 id=\"push-notifications-on-registered-devices\" style=\"position:relative;\"><a href=\"#push-notifications-on-registered-devices\" aria-label=\"push notifications on registered devices 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>Push Notifications on Registered Devices</h3>\n<p>Instead of entering a code, push notifications allow users to verify logins with a simple tap on their mobile devices.</p>\n<p>For example, when logging into Gmail from a new device, Google might send a prompt that says “Was this you?” to your phone, letting you confirm the login attempt instantly. This method reinforces why you should use the multi-factor authentication approach for strong security.</p>\n<p>Learn how to <a href=\"https://www.loginradius.com/legacy/docs/api/v2/customer-identity-api/multi-factor-authentication/push-notification/overview/\">incorporate push notification MFA into your apps with LoginRadius</a>.</p>\n<h2 id=\"why-is-mfa-good-for-security\" style=\"position:relative;\"><a href=\"#why-is-mfa-good-for-security\" aria-label=\"why is mfa good for security 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>Why is MFA Good for Security?</h2>\n<p>Before we learn the benefits of multi-factor authentication, let’s understand why MFA is good for security. The answer lies in its ability to stop unauthorized access in its tracks. Even if a hacker manages to steal your password, they would still need the second (or third) authentication factor to gain access.</p>\n<p>MFA significantly reduces the risk of cyber attacks such as phishing, credential stuffing, and brute-force attacks. It’s particularly valuable for businesses with remote employees, as it ensures that only verified users can access company systems, reducing the risk of a data breach. These are key MFA benefits that improve cybersecurity measures.</p>\n<p><a href=\"https://www.loginradius.com/resource/ebook/buyers-guide-to-multi-factor-authentication/\"><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 768px; \"\n    >\n      <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 30.307692307692307%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAGCAYAAADDl76dAAAACXBIWXMAAAsSAAALEgHS3X78AAABm0lEQVQY0y3RS08TYRjF8YG2M29NK5fptFNK7W1mYKY0ZdpCO9QCpaB4aYxgSIQdMRFM2BhhwQI+gV/DuJK40GjY6cK4cWti4mf5+zJ1cZbPL+fkUSLJFJHbaWJTWYSeRxgFRLpE3KygmRZqRsZ0ULPzxGREqcm0v8nUXAfhdNEqbbTSEqLSIW6toESSRggW51xsz6No2xRkLK+K58vjUpVo2gpBdcbllrXM7MoQd3VI3H+I5q4RL49AMQJTjCVStIIuu3vP2H78iCe7O/T665QdG12CEQmKnIsx3w6T8QKM6l1y9TVy/gambDzhrcq2gQQTugQNFhot7j/Ypr/eZ3NrQN2vY/0HoxkHbeZmsovI1zBrPfLNAbONAdNeD7XYknODUcNxCcYms5j5Aot1n5enb3GbXeyFRWp+A73ohZiSyHF8dsnvP3/58Omad1efef/xC99//uL624+woVruoETlZCWZ5l6vy8XJC/auvrJ0eER1+BRnuU3qjmwmn6LoZVpbOxydXrJ//IbnN3l1xuHrCw5OzkmEDwr4B4cJve9RVK0EAAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"WP-mfa-digital-identity\"\n        title=\"WP-mfa-digital-identity\"\n        src=\"/static/45fb3ea2b6ecb545326a6cc8f6033d1e/e5715/WP-mfa-digital-identity.png\"\n        srcset=\"/static/45fb3ea2b6ecb545326a6cc8f6033d1e/a6d36/WP-mfa-digital-identity.png 650w,\n/static/45fb3ea2b6ecb545326a6cc8f6033d1e/e5715/WP-mfa-digital-identity.png 768w,\n/static/45fb3ea2b6ecb545326a6cc8f6033d1e/81501/WP-mfa-digital-identity.png 2886w\"\n        sizes=\"(max-width: 768px) 100vw, 768px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n      />\n    </span></a></p>\n<h2 id=\"benefits-of-mfa-multi-factor-authentication\" style=\"position:relative;\"><a href=\"#benefits-of-mfa-multi-factor-authentication\" aria-label=\"benefits of mfa multi factor authentication 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>Benefits of MFA (Multi-Factor Authentication)</h2>\n<h3 id=\"1-enhanced-security\" style=\"position:relative;\"><a href=\"#1-enhanced-security\" aria-label=\"1 enhanced security 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. Enhanced Security</h3>\n<p>Hackers love weak passwords. MFA ensures that even if your password gets leaked, cybercriminals still can’t access your account without additional verification. This is a core reason why MFA is important in securing online accounts.</p>\n<h3 id=\"2-reduced-risk-of-unauthorized-access\" style=\"position:relative;\"><a href=\"#2-reduced-risk-of-unauthorized-access\" aria-label=\"2 reduced risk of unauthorized access 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. Reduced Risk of Unauthorized Access</h3>\n<p>Think of MFA as an extra lock on your door. Even if someone picks the first lock (password), they still need a second key (a fingerprint, OTP, or hardware token) to break in.</p>\n<h3 id=\"3-protection-against-phishing-attacks\" style=\"position:relative;\"><a href=\"#3-protection-against-phishing-attacks\" aria-label=\"3 protection against phishing attacks 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. Protection Against Phishing Attacks</h3>\n<p>Phishing emails trick users into entering their passwords on fake websites. But with MFA, stolen passwords alone aren’t enough to gain access, preventing attackers from infiltrating accounts.</p>\n<h3 id=\"4-customizable-security-policies\" style=\"position:relative;\"><a href=\"#4-customizable-security-policies\" aria-label=\"4 customizable security policies 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. Customizable Security Policies</h3>\n<p>Businesses can tailor MFA policies based on risk levels. For example, logging in from a trusted device may require just a password, while accessing from an unknown location might trigger an additional authentication factor. This is called adaptive multi-factor authentication (MFA). See how <a href=\"https://www.loginradius.com/products/adaptive-mfa\">LoginRadius can help you combat real-time threats</a> with adaptive MFA.</p>\n<p><img src=\"/2d8f7653ba93b1e9fad9bf0737cc644d/adaptive-mfa.webp\" alt=\"Adaptive MFA\"></p>\n<p>You can quickly <a href=\"https://www.loginradius.com/docs/security/customer-security/risk-based-auth/#configuration\">configure adaptive authentication with LoginRadius</a>.</p>\n<h3 id=\"5-enhanced-user-trust-and-confidence\" style=\"position:relative;\"><a href=\"#5-enhanced-user-trust-and-confidence\" aria-label=\"5 enhanced user trust and confidence 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. Enhanced User Trust and Confidence</h3>\n<p>Customers feel safer knowing their accounts are well-protected. By implementing MFA, businesses build trust and demonstrate a commitment to security through a user-friendly interface.</p>\n<h3 id=\"6-ease-of-integration-and-usability\" style=\"position:relative;\"><a href=\"#6-ease-of-integration-and-usability\" aria-label=\"6 ease of integration and usability 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. Ease of Integration and Usability</h3>\n<p>Modern MFA solutions integrate seamlessly with applications, making it easier for users to log in securely without frustration.</p>\n<h3 id=\"7-cost-effectiveness\" style=\"position:relative;\"><a href=\"#7-cost-effectiveness\" aria-label=\"7 cost effectiveness 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. Cost-Effectiveness</h3>\n<p>A data breach can cost millions. Investing in MFA is far cheaper than dealing with the aftermath of stolen customer information or legal fines.</p>\n<h3 id=\"8-future-proof-security\" style=\"position:relative;\"><a href=\"#8-future-proof-security\" aria-label=\"8 future proof security 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>8. Future-Proof Security</h3>\n<p>Cyber threats evolve, but MFA benefits companies by offering flexibility in authentication methods. As technology advances, businesses can adopt new MFA techniques like AI-driven authentication and behavioral biometrics.</p>\n<h3 id=\"9-reduced-impact-of-password-fatigue\" style=\"position:relative;\"><a href=\"#9-reduced-impact-of-password-fatigue\" aria-label=\"9 reduced impact of password fatigue 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>9. Reduced Impact of Password Fatigue</h3>\n<p>With MFA, users don’t have to rely solely on passwords, reducing the burden of remembering complex combinations. This leads to better security hygiene and fewer instances of password reuse. The benefits of 2FA help reduce password dependency.</p>\n<h3 id=\"10-improved-access-management\" style=\"position:relative;\"><a href=\"#10-improved-access-management\" aria-label=\"10 improved access management 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>10. Improved Access Management</h3>\n<p>MFA enables businesses to track login attempts, enforce <a href=\"https://www.loginradius.com/docs/security/consent-and-access/roles-and-permissions/\">role-based access controls</a>, and mitigate insider threats by ensuring that only authorized personnel can access critical systems.</p>\n<h2 id=\"summary\" style=\"position:relative;\"><a href=\"#summary\" aria-label=\"summary 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>Summary</h2>\n<p>MFA is not just another security feature—it’s a necessity in today’s cyber threat landscape. The benefits of multi-factor authentication range from stopping unauthorized access to reducing the impact of phishing attacks. Businesses that prioritize MFA in cyber security are safeguarding their future against cyber criminals.</p>\n<p>If you wish to incorporate MFA into your apps/website, you can <a href=\"https://www.loginradius.com/docs/security/customer-security/multi-factor-authentication/overview/\">read the implementation docs</a> or quickly <a href=\"https://www.loginradius.com/book-a-demo/\">book a live demo.</a></p>\n<h2 id=\"faqs\" style=\"position:relative;\"><a href=\"#faqs\" aria-label=\"faqs 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>FAQs</h2>\n<p><strong>What is the risk of not using multi-factor authentication?</strong></p>\n<p>Without MFA, your accounts are vulnerable to hacking, phishing, and credential stuffing. A single stolen password can lead to a full-blown data breach.</p>\n<p><strong>The Importance of MFA for Securing Remote Access?</strong></p>\n<p>Remote work exposes businesses to cyber threats. The importance of MFA lies in ensuring that employees can securely access corporate systems from anywhere without increasing security risks.</p>\n<p><strong>Are magic links more secure than password authentication?</strong></p>\n<p>Magic links offer convenience but are only as secure as the email account receiving them. MFA remains a stronger option as it requires multiple authentication steps.</p>\n<p><strong>What types of authentication solutions are available?</strong></p>\n<p>Authentication methods include passwords, security questions, MFA, biometrics, hardware tokens, and risk-based authentication. The best approach combines multiple layers of security.</p>\n<p>By implementing MFA benefits, businesses can ensure stronger security, reduce risks, and build trust among users. If you haven’t already adopted MFA, now is the time to do so!</p>\n<style class=\"grvsc-styles\">\n  .grvsc-container {\n    overflow: auto;\n    -webkit-overflow-scrolling: touch;\n    padding-top: 1rem;\n    padding-top: var(--grvsc-padding-top, var(--grvsc-padding-v, 1rem));\n    padding-bottom: 1rem;\n    padding-bottom: var(--grvsc-padding-bottom, var(--grvsc-padding-v, 1rem));\n    border-radius: 8px;\n    border-radius: var(--grvsc-border-radius, 8px);\n    font-feature-settings: normal;\n  }\n  \n  .grvsc-code {\n    display: inline-block;\n    min-width: 100%;\n  }\n  \n  .grvsc-line {\n    display: inline-block;\n    box-sizing: border-box;\n    width: 100%;\n    padding-left: 1.5rem;\n    padding-left: var(--grvsc-padding-left, var(--grvsc-padding-h, 1.5rem));\n    padding-right: 1.5rem;\n    padding-right: var(--grvsc-padding-right, var(--grvsc-padding-h, 1.5rem));\n  }\n  \n  .grvsc-line-highlighted {\n    background-color: var(--grvsc-line-highlighted-background-color, transparent);\n    box-shadow: inset var(--grvsc-line-highlighted-border-width, 4px) 0 0 0 var(--grvsc-line-highlighted-border-color, transparent);\n  }\n  \n</style>","frontmatter":{"date":"July 16, 2020","updated_date":"February 18, 2025","description":"Explore the key benefits of MFA, from enhanced security to phishing protection. Learn why multi-factor authentication is essential for businesses & individuals.","title":"Top 10 Benefits of Multi-Factor Authentication (MFA)","tags":["benefits of mfa","digital transformation","cx"],"pinned":null,"coverImage":{"childImageSharp":{"fluid":{"aspectRatio":1.5037593984962405,"src":"/static/eb95222ba4eb18dd74e6a07e9c2cc95b/58556/benefits-of-mfa.webp","srcSet":"/static/eb95222ba4eb18dd74e6a07e9c2cc95b/61e93/benefits-of-mfa.webp 200w,\n/static/eb95222ba4eb18dd74e6a07e9c2cc95b/1f5c5/benefits-of-mfa.webp 400w,\n/static/eb95222ba4eb18dd74e6a07e9c2cc95b/58556/benefits-of-mfa.webp 800w,\n/static/eb95222ba4eb18dd74e6a07e9c2cc95b/99238/benefits-of-mfa.webp 1200w,\n/static/eb95222ba4eb18dd74e6a07e9c2cc95b/7c22d/benefits-of-mfa.webp 1600w,\n/static/eb95222ba4eb18dd74e6a07e9c2cc95b/37117/benefits-of-mfa.webp 2000w","sizes":"(max-width: 800px) 100vw, 800px"}}},"author":{"id":"Rakesh Soni","github":"oyesoni","avatar":"rakesh-soni.jpg"}}}},{"node":{"excerpt":"Consumer identities and personal data are the most crucial assets of any enterprise. And, managing these digital identities ain't easy…","fields":{"slug":"/identity/build-vs-buy-securing-customer-identity/"},"html":"<p>Consumer identities and personal data are the most crucial assets of any enterprise. And, <em>managing these digital identities ain't easy.</em></p>\n<p>Whether you run a customer-facing application that directly targets business users or consumers at large, you will require a common workflow to function. </p>\n<p>It usually begins with registration and login, followed by user management to accommodate various access levels, sustenance of customer relationships, and extracting business value towards the end of the cycle⁠, commonly known as <a href=\"https://www.loginradius.com/blog/2019/06/customer-identity-and-access-management/\">customer identity and access management</a> (CIAM). </p>\n<p>In majority cases, while developing a program that captures, manages, and utilizes customer data, companies come across two basic choices: </p>\n<ul>\n<li>Either they can build a CIAM solution in-house.</li>\n<li>Or buy a dedicated solution from expert CIAM providers in the industry.</li>\n</ul>\n<p>This leads to the classic: <em>build vs buy</em> conundrum. In this blog, we will discuss the key considerations when making a build vs buy decision and offer the best solution for your business.</p>\n<h2 id=\"identity-and-access-management-the-challenges-of-build-vs-buy\" style=\"position:relative;\"><a href=\"#identity-and-access-management-the-challenges-of-build-vs-buy\" aria-label=\"identity and access management the challenges of build vs buy 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>Identity and Access Management: The Challenges of Build vs Buy</h2>\n<p>For your customer identity solution to truly benefit you, it needs to provide a complete view of each customer and improve the authentication experience to avoid customer churn, all while complying with data security and <a href=\"https://www.loginradius.com/compliances/\">privacy regulations</a>.</p>\n<p>The benefits of developing an in-house identity framework were more evident in the days when organizations' identity management needs were limited to their internal employees. Today, with companies needing to <a href=\"https://www.loginradius.com/customer-experience-solutions/\">improve customer experience</a> and capture better customer data, there is an increased complexity level when implementing a customer identity solution.</p>\n<p>So, if identity and access management do not fall under your core business operations, developing your own customer identity program can get more complicated and expensive.</p>\n<h3 id=\"the-costs-and-limitations\" style=\"position:relative;\"><a href=\"#the-costs-and-limitations\" aria-label=\"the costs and limitations 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>The costs and limitations</h3>\n<p>Building a customer identity system involves investing critical company money and resources into your solution's development, maintenance, and ongoing improvement. More time spent on customer identity means less time dedicated to optimizing key business operations. </p>\n<p>On the contrary, purchasing a <a href=\"https://www.loginradius.com/blog/2019/06/perfect-ciam-platform/\">CIAM platform</a> allows you to free up salary costs allocated to staffing an engineering team and reduce your development and maintenance hours related to identity management. </p>\n<h3 id=\"initial-development\" style=\"position:relative;\"><a href=\"#initial-development\" aria-label=\"initial development 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>Initial development </h3>\n<p>Companies look to include some of the <a href=\"https://www.loginradius.com/authentication/\">standard authentication features</a> in their customer identity system, including email registration service, password management, social login, phone registration, 2FA/MFA, SSO, user segmentation, user management, integration, security, and compliance. </p>\n<p>Organizations need to consider the development time, cost, and staffing considerations required to put these features in place. </p>\n<h3 id=\"consistent-improvement-and-maintenance\" style=\"position:relative;\"><a href=\"#consistent-improvement-and-maintenance\" aria-label=\"consistent improvement and maintenance 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>Consistent improvement and maintenance</h3>\n<p>Beyond the initial construction of an in-house solution, companies opting to build their own customer identity system often struggle to add new features and integrations or keep existing ones updated. </p>\n<p>Either a company lacks the technical expertise or the resources or both to implement new or updated features, which can have a detrimental impact on customer experience and collect meaningful customer data.</p>\n<p>On the other hand, a managed solution comes with the assurance that your CIAM performance will meet or exceed industry standards.</p>\n<p><a href=\"https://www.loginradius.com/resource/the-case-for-buying-over-building/\"><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 768px; \"\n    >\n      <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 30.307692307692307%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAGCAYAAADDl76dAAAACXBIWXMAAAsTAAALEwEAmpwYAAABbklEQVQY002QO08CURCFSXgvy2sJKETeIq8FFXZhQXkjCCYmNsbC0kJsjA2FNsYYQ2NM/AV2FsbGmBgbLW20sfHnHGfvIrE4mXszM9/JGZ11aR2qOJItVf+nGrik1vuTZbEKLtuGW96GkGvDmmnDkmrAmljT+lR16sOWrMEjNmBPVGCLK+BiJTgI6KElR7rOBtlCvAI+30Oos49sdxdmeQcmsceMLFNTBuQIGFjdQFwZIiz1EZb7iJWHCMkD8NSzTN2d2RYC0ib8hR780gARZQtBmvMV+gTTTHXqoBpPyDbgydThFZtMQloz8a50YVaj0rAhpjD4HAHmiwSWh3CJbRiiyiwFA/IUi09UoQ8WYAwVYaSqXyjASUZuscVuqQtKOD6/xuf3D+6fXnH38Mz0/vGFx5c3CPkOTHSSGdCTa8FB8VwEMUdK8C13YacYPP1VZ320jNbeCOOrWxydTTA6neCQdHJxg4PxJRyZJkvyCxz8wLweieVxAAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"The Case for Buying over Building ebook\"\n        title=\"The Case for Buying over Building ebook\"\n        src=\"/static/57f557d0de5a1542f05a0772cc1131c7/e5715/The-Case-for-Buying-over-Building-1.png\"\n        srcset=\"/static/57f557d0de5a1542f05a0772cc1131c7/a6d36/The-Case-for-Buying-over-Building-1.png 650w,\n/static/57f557d0de5a1542f05a0772cc1131c7/e5715/The-Case-for-Buying-over-Building-1.png 768w,\n/static/57f557d0de5a1542f05a0772cc1131c7/2bef9/The-Case-for-Buying-over-Building-1.png 1024w\"\n        sizes=\"(max-width: 768px) 100vw, 768px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n      />\n    </span></a></p>\n<h2 id=\"who-should-build-a-customer-iam-solution\" style=\"position:relative;\"><a href=\"#who-should-build-a-customer-iam-solution\" aria-label=\"who should build a customer iam solution 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>Who should build a Customer IAM solution</h2>\n<p>Building an in-house customer IAM solution for your company is only ideal if you have more than 10K employees working for your system. Also, if you know in and out of the entire identity management and implementation scenario. You should be well-versed with the identity standards and security requirements of the industry.</p>\n<p>An in-house customer IAM solution is also feasible if you are working on a highly secretive project and keeping security at the core, it is impossible for you to hire a third-party solution to get the job done.</p>\n<h2 id=\"who-should-buy-a-customer-iam-solution\" style=\"position:relative;\"><a href=\"#who-should-buy-a-customer-iam-solution\" aria-label=\"who should buy a customer iam solution 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>Who should buy a Customer IAM solution</h2>\n<p>Frankly speaking, everyone else. And why not? After all, the CIAM market is growing exponentially every year, managing customer identities better and securely. </p>\n<p>A report by MarketsandMarkets suggests the customer identity management market may reach <a href=\"https://www.marketsandmarkets.com/Market-Reports/consumer-iam-market-87038588.html\">$37.79 billion by 2023</a>. It is only evident that companies aren't leaving their CIAM strategy to faith, especially as the market introduces new features that increase the complexity of managing customer identities and protecting sensitive information. </p>\n<h2 id=\"is-buying-better-than-building-when-choosing-a-ciam-solution\" style=\"position:relative;\"><a href=\"#is-buying-better-than-building-when-choosing-a-ciam-solution\" aria-label=\"is buying better than building when choosing a ciam solution 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>Is Buying Better Than Building When Choosing a CIAM Solution</h2>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 768px; \"\n    >\n      <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 60.61538461538461%; position: relative; bottom: 0; left: 0; background-image: url('data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAMABQDASIAAhEBAxEB/8QAGAAAAgMAAAAAAAAAAAAAAAAAAAMBAgT/xAAWAQEBAQAAAAAAAAAAAAAAAAACAAH/2gAMAwEAAhADEAAAAcBF2FDSz//EABcQAAMBAAAAAAAAAAAAAAAAAAAQIQL/2gAIAQEAAQUCIsx//8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAwEBPwE//8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAgEBPwE//8QAGBAAAgMAAAAAAAAAAAAAAAAAARAAITH/2gAIAQEABj8CFzUC/wD/xAAcEAABBAMBAAAAAAAAAAAAAAABABARITFBUaH/2gAIAQEAAT8hii28QG5MVDIWTPW//9oADAMBAAIAAwAAABBgH//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8QP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8QP//EABsQAQEAAwADAAAAAAAAAAAAAAERACExEEGx/9oACAEBAAE/EJ1Oro+sr3r7DmTG0FBKXmLZAKrDx//Z'); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"Is Buying Better Than Building When Choosing a CIAM Solution\"\n        title=\"Is Buying Better Than Building When Choosing a CIAM Solution\"\n        src=\"/static/6fb0fc6317955748a3d774f8c7a47295/212bf/image2-1-1.jpg\"\n        srcset=\"/static/6fb0fc6317955748a3d774f8c7a47295/6aca1/image2-1-1.jpg 650w,\n/static/6fb0fc6317955748a3d774f8c7a47295/212bf/image2-1-1.jpg 768w,\n/static/6fb0fc6317955748a3d774f8c7a47295/72e01/image2-1-1.jpg 1024w\"\n        sizes=\"(max-width: 768px) 100vw, 768px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n      />\n    </span></p>\n<p>A well-implemented CIAM platform offers a host of benefits—enhanced user experience with self-service registration, password management, sign-sign on, and other premium features like <a href=\"https://www.loginradius.com/blog/2019/02/presenting-progressive-profiling-loginradius/\">progressive profiling</a>, API-focused, transactional security, and data encryption to drive customer engagement and keep businesses compliant.</p>\n<p>Speaking of use cases, comparing the two modes of deployment can be stark, with many in-premises deployments stretching on for more than a year, versus completion in as little as two weeks with a cloud-based CIAM vendor.</p>\n<p>Still skeptical about what to choose? Before drawing any conclusion, let's understand the universe around both the options one by one.</p>\n<h3 id=\"building-ciam-options\" style=\"position:relative;\"><a href=\"#building-ciam-options\" aria-label=\"building ciam options 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>Building CIAM options</h3>\n<ul>\n<li><strong>On-premises data center</strong></li>\n</ul>\n<p>If you plan to host your own data center, it will involve owning the entire infrastructure (obviously!) and taking responsibility for additional resources. You will need to make crucial decisions like what server model to choose and deploy network switches.</p>\n<p>On-premises storage can be a better option for your business because you won't require users to have an internet connection to access data. If your company does not rely on the internet, maybe you won't need to invest in expensive internet plans.</p>\n<p>On-premises servers are not accessible to anyone who isn't inside the network. Unlike cloud storage, it is least <a href=\"https://www.loginradius.com/blog/2019/10/cybersecurity-attacks-business/\">vulnerable to cybercrime</a>, offers greater flexibility, and is a favorite option for businesses that handle highly classified sensitive data.</p>\n<ul>\n<li><strong>Private Cloud</strong></li>\n</ul>\n<p>A private cloud is an on-demand, on-premises data center that uses a private pool of shared computing resources within a public cloud environment. One of the major advantages of cloud environments over on-premises storage infrastructure is that it allows quicker service configuration and rapid deployment of applications.</p>\n<p>It is highly compatible with modern development technologies like agile development, <a href=\"https://devops.com/devsecops-10-best-practices-to-embed-security-into-devops/\">DevOps</a>, and while using containers and microservices. Though private cloud weights higher on certain economic benefits, that ability to share resources within a company isn't limitless. They are not always able to accommodate peak traffics advocated in CIAM systems.</p>\n<ul>\n<li><strong>Public cloud</strong></li>\n</ul>\n<p>Then there are public clouds that rule out businesses' need to own data centers. They are available as platform-as-a-service (PaaS) and infrastructure-as-a-service (IaaS) offerings instead.</p>\n<p>They are highly cost-effective, especially with vendors that offer \"pay-as-you-go\" pricing—meaning clients need to only pay for services they use. If your application on the public cloud lies idle due to low usage, you will be charged little to nothing. Although charges will rise as usage rises.</p>\n<h3 id=\"buying-ciam-options\" style=\"position:relative;\"><a href=\"#buying-ciam-options\" aria-label=\"buying ciam options 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>Buying CIAM options</h3>\n<ul>\n<li><strong>On-Premises</strong></li>\n</ul>\n<p>This one resembles the on-premises build option. It is a commercial CIAM solution for companies that want to have their data center on-premises and run on their own hardware.</p>\n<p>Although, it negates the need to develop the actual CIAM functionality, to pull this off practically will require a lot of efforts and investments. It does not help in disaster recovery management, business continuity, and latency issues that appear from not having enough physical data centers.</p>\n<ul>\n<li><strong>Cloud-Based (Cloud-Native) CIAM</strong></li>\n</ul>\n<p>Next, CIAM solutions run on the modern cloud environment and frequently cannot be deployed on-premises in a private cloud environment.</p>\n<p>Companies need not worry about providing hardware and data center resources. What's best is that the cloud-native model offers the highest efficiencies and optimization.</p>\n<ul>\n<li><strong>Customer IAM Solutions</strong></li>\n</ul>\n<p>Customer identity and access management platforms like LoginRadius are specially designed and architected to handle billions of customer identities and offer the maximum value from those profiles.</p>\n<p>They take care of login, authentication, or preference management seamlessly and comply with the frequently changing <a href=\"https://www.loginradius.com/blog/2020/06/consumer-data-privacy-security/\">privacy regulations</a> to enable global businesses to secure their data without a hitch.</p>\n<h2 id=\"benefits-of-an-advance-ciam-solution\" style=\"position:relative;\"><a href=\"#benefits-of-an-advance-ciam-solution\" aria-label=\"benefits of an advance ciam solution 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>Benefits of an Advance CIAM Solution</h2>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 768px; \"\n    >\n      <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 60.61538461538461%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAMCAIAAADtbgqsAAAACXBIWXMAAAsSAAALEgHS3X78AAAB0ElEQVQoz1VSTU/bQBD1pZ5ZH6BSDxBUtRzygdd2EoeExIltjDd24hJTQKIJJICo2kv//w/ozNqNqDQarb3z3pt5O4Zoh6I9E/JKeLlwM+FllJEjF3YiWjNdQBFRRjq4mdXNTZnSp0HX6ChwFLZCaEemX0L0AtErTDYwWWP/mik8TaSRRxerxqg47C9BpoY4u7S8rHG+OBkuj6+2R4tfMH6A8BlmWxj/gOkTDm724paXNwb5wej7wbBEqQx055adtOK702R9Wv75XPw2CRNsWH+y5gg2wlHcP/UoleXOsVtAf0W9MJjEjwf51+zZSt4+EKbSrMFE9Ii9b6I1ZXHCe4v9FAY6rHxoxyfpDpOfEL8yLHjkTBRjDSadCky2UReUtZE8MzM1p+AtTQIQmATpcPnGkxNLsGHnqdpJ+Tl6xT8LtNv1X6kqHUaGu8ot4jLDnZApukr0llCZT5PWYD0J60uFw1sWnD3xO2lNomDe7gKdtBnffTy/BltvxFlM22HUPWgzRSdCf4X+DYzuYXiPfimotBlQRjvx5g9+sf3kExF7TPXGfgDes07MW6EvNONUH/Ru0QuPyy9BSe7if22/D+4ner+SdXQiWklTqv3AFH8BBc5434xNItsAAAAASUVORK5CYII='); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"image3\"\n        title=\"image3\"\n        src=\"/static/8609829cee5f3baf0b27d995bd114157/e5715/image3.png\"\n        srcset=\"/static/8609829cee5f3baf0b27d995bd114157/a6d36/image3.png 650w,\n/static/8609829cee5f3baf0b27d995bd114157/e5715/image3.png 768w,\n/static/8609829cee5f3baf0b27d995bd114157/d0143/image3.png 1025w\"\n        sizes=\"(max-width: 768px) 100vw, 768px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n      />\n    </span></p>\n<p>One of the immediate results of buying a CIAM platform is its impact on your in-house team. You won't need to invest in the engineering team and dramatically reduce <a href=\"https://www.loginradius.com/blog/2019/10/digital-identity-management/\">your identity management development</a> and maintenance hours.</p>\n<p>Also, the push toward cloud-based data storage means that companies can avoid hardware, software, and storage costs. Cloud storage is especially beneficial for larger enterprise companies looking to store their data in <a href=\"https://www.loginradius.com/scalability/\">multiple regions or across different servers</a>.</p>\n<p>Deploying an experienced team of Identity Management experts ensures the company complies with best practices in the industry. Your CIAM expert will ensure that the implementation speed for your solution is consistent and resonates with industry standards.</p>\n<p>Because there are no additional in-house parameters involved, your CIAM platform will be live almost instantly compared to when deployed on-premises. LoginRadius, a managed solution, for example, offers a peak load capacity of 180K logins per second, twenty times higher than the vendor average. And that's a big deal!</p>\n<h2 id=\"why-the-loginradius-ciam-platform-is-the-best-solution-for-your-business\" style=\"position:relative;\"><a href=\"#why-the-loginradius-ciam-platform-is-the-best-solution-for-your-business\" aria-label=\"why the loginradius ciam platform is the best solution for your business 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>Why the LoginRadius CIAM Platform Is the Best Solution for Your Business</h2>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 768px; \"\n    >\n      <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 60.61538461538461%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAMCAIAAADtbgqsAAAACXBIWXMAAAsSAAALEgHS3X78AAABeUlEQVQoz3VR2U7DQAzM/38Wj/DSIlFKS6+kkPva3extF+dshcCKEmU8450dB7ehEFF65A6NxwmZ3zgBU1mPhQIDPRqMkILbLko2YZwrv5Ad3gbO7VEetmbzXUa8lwdjQzj8jJLVtTy32gI6wEr7mNvPSh9rrYeBHlFYPDQ65+rSkhink4ldKh8xnUlXKpdL12q3LeS5VrtSveVdY3ytPdmie9UGxnHB4mfxxgx02uxz9hSxdcJPOXtNu6Sz9yBmavAoI5SehgYbeyzEKlN0+Dau96Xkxj/KcBHPsqlD4rQRYVKsL+nLIV6d01NrKKCxS189Z9qLpYNaA7OUB7DhbllnudRCmUqoTGgKj3DKiFqUFmXKhlkBRdWj0rynzRc3zMKYX2uB8NZi5yZPlNa1kUyIuOaVcsQJaOnk81Dw513YCEXUX4tdfslsrWzV6Y9KF8p5GFZFi7lyS8fStgD/EC/FLdDOCuVHg70Y+u0DReLhP9W9jAc7034A01W6YWclBGYAAAAASUVORK5CYII='); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"Why the LoginRadius CIAM Platform Is the Best Solution for Your Business\"\n        title=\"Why the LoginRadius CIAM Platform Is the Best Solution for Your Business\"\n        src=\"/static/c50d552e6233e8bd98ae0713d6446927/e5715/image4.png\"\n        srcset=\"/static/c50d552e6233e8bd98ae0713d6446927/a6d36/image4.png 650w,\n/static/c50d552e6233e8bd98ae0713d6446927/e5715/image4.png 768w,\n/static/c50d552e6233e8bd98ae0713d6446927/d0143/image4.png 1025w\"\n        sizes=\"(max-width: 768px) 100vw, 768px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n      />\n    </span></p>\n<p>LoginRadius is a privacy-first cloud-based customer IAM platform that enables companies to secure, identify, and authorize their workforces and customers. Let's take a look at how it offers accelerated time-to-market and regulation enforcement at the API level for your digital projects.</p>\n<h3 id=\"single-sign-on-sso\" style=\"position:relative;\"><a href=\"#single-sign-on-sso\" aria-label=\"single sign on sso 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>Single sign-on (SSO)</h3>\n<p>The LoginRadius SSO streamlines access by allowing customers to log in to all of your web and mobile domains with a single set of credentials. By authenticating customers under a single identity, any data collected about that customer is consolidated and stored under a single profile. </p>\n<p><a href=\"https://www.loginradius.com/blog/2019/05/what-is-single-sign-on/\">Single Sign-On</a> also eliminates the need to create multiple accounts and remember different passwords, meaning that customer experience is improved, resulting in more conversions and increased revenue. </p>\n<h3 id=\"unified-customer-profiles\" style=\"position:relative;\"><a href=\"#unified-customer-profiles\" aria-label=\"unified customer profiles 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>Unified customer profiles</h3>\n<p>The LoginRadius identity platform stores customer data in a centralized database. It offers a comprehensive view of each customer while interacting with multiple digital touchpoints. Not only does this centralization free up internal resources, but a <a href=\"https://www.loginradius.com/profile-management/\">unified view of each customer</a> allows you to optimize your customer experience and implement more personalized marketing initiatives. </p>\n<h3 id=\"multi-factor-authentication-mfa\" style=\"position:relative;\"><a href=\"#multi-factor-authentication-mfa\" aria-label=\"multi factor authentication mfa 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>Multi-factor authentication (MFA)</h3>\n<p><a href=\"https://www.loginradius.com/blog/identity/what-is-multi-factor-authentication/\">Multi-Factor Authentication</a> takes something the customer knows, for example, login credentials and combines it with something they have, for example, their mobile phone to provide an additional security layer when accessing their account. </p>\n<p>This way, even if an unwanted user gains access to a customer's login credentials, they would not be able to access the account without the unique verification code sent to the customer's authenticator app.</p>\n<h3 id=\"third-party-integrations\" style=\"position:relative;\"><a href=\"#third-party-integrations\" aria-label=\"third party integrations 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>Third-party integrations</h3>\n<p><a href=\"https://www.loginradius.com/cloud-integrations/\">LoginRadius Integrations</a> transform the way data can be leveraged to help you achieve your desired business outcomes. They provide you with the ability to automatically sync customer data between LoginRadius and any other third-party applications or business tools that you are using.</p>\n<p>You can customize the data flow to make sure that you are syncing the right data into the right platforms and best achieve your business objectives.</p>\n<h2 id=\"conclusion\" style=\"position:relative;\"><a href=\"#conclusion\" aria-label=\"conclusion 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>Conclusion</h2>\n<p>The decision centering around build vs buy needs some serious consideration. However, as a trusted identity solutions provider, we understand the downside of running an on-premises data center.  If you do not have an experienced team, you won't be able to plan, implement, manage, and support your project. </p>\n<p>Use our Build vs Buy <a href=\"https://www.loginradius.com/resource/ciam-build-vs-buy/\">calculator to find out</a> which option can deliver the most cost-effective solution for your business.</p>\n<p><a href=\"https://www.loginradius.com/book-a-demo/\"><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 768px; \"\n    >\n      <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 30.307692307692307%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAGCAYAAADDl76dAAAACXBIWXMAAAsTAAALEwEAmpwYAAABYElEQVQY0z2RO08CURCFN0hcWRZQHhYUKBHFBR+sUQQWefoAE4HCArXSWGhiZUGhsTHGEBsLf4AxdkQriZWWNtrY+HuOMwNaTO69k3PPfOdeZWS2BO9cGS4jD//8Ktyxgpx575kpQp20oE/nMGquQ4+uwBkvw5uswUcajfYOowBtKgsH1RBplQAJ+SI3fH2TwYkMeJBu5OCJF6XHYtvYEtRYCcF8E9HCNgbMGmxGGfbxJNSIJR4Kk+lU7niPjI3EjKiYkofYwykEEmtINQ5gVvewUN1FokJrhdaNHSzX9xG26gSShsKT1UhGCISQjJmKDbk33Kd3Ulwm5UThbAOh9JZUMLkpfQaTyCKmy0yl8Rv1yTiuFs1KnwcpoUWcXNzg8/sHj8+veHjq4r7zgvePL3S6b6Ljp1KYwE9x2Jjfgen+4rti+f8P4jjF5hFa13c4Pm/36qyN08tbHLau5DM56S/3nMSX+4NvoQAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"book-a-demo-loginradius\"\n        title=\"book-a-demo-loginradius\"\n        src=\"/static/c4fac6b24f15c7b7ba84deec1d1107ac/e5715/image5.png\"\n        srcset=\"/static/c4fac6b24f15c7b7ba84deec1d1107ac/a6d36/image5.png 650w,\n/static/c4fac6b24f15c7b7ba84deec1d1107ac/e5715/image5.png 768w,\n/static/c4fac6b24f15c7b7ba84deec1d1107ac/2bef9/image5.png 1024w\"\n        sizes=\"(max-width: 768px) 100vw, 768px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n      />\n    </span></a></p>\n<style class=\"grvsc-styles\">\n  .grvsc-container {\n    overflow: auto;\n    -webkit-overflow-scrolling: touch;\n    padding-top: 1rem;\n    padding-top: var(--grvsc-padding-top, var(--grvsc-padding-v, 1rem));\n    padding-bottom: 1rem;\n    padding-bottom: var(--grvsc-padding-bottom, var(--grvsc-padding-v, 1rem));\n    border-radius: 8px;\n    border-radius: var(--grvsc-border-radius, 8px);\n    font-feature-settings: normal;\n  }\n  \n  .grvsc-code {\n    display: inline-block;\n    min-width: 100%;\n  }\n  \n  .grvsc-line {\n    display: inline-block;\n    box-sizing: border-box;\n    width: 100%;\n    padding-left: 1.5rem;\n    padding-left: var(--grvsc-padding-left, var(--grvsc-padding-h, 1.5rem));\n    padding-right: 1.5rem;\n    padding-right: var(--grvsc-padding-right, var(--grvsc-padding-h, 1.5rem));\n  }\n  \n  .grvsc-line-highlighted {\n    background-color: var(--grvsc-line-highlighted-background-color, transparent);\n    box-shadow: inset var(--grvsc-line-highlighted-border-width, 4px) 0 0 0 var(--grvsc-line-highlighted-border-color, transparent);\n  }\n  \n</style>","frontmatter":{"date":"July 16, 2020","updated_date":null,"description":"The most important assets of any company are customer identification and personal data. In most situations, businesses come across two simple options when designing a platform that collects, handles, and uses consumer data: to create or to purchase.","title":"Build vs Buy: Securing Customer Identity with Loginradius","tags":["ciam solution","mfa","compliance"],"pinned":null,"coverImage":{"childImageSharp":{"fluid":{"aspectRatio":1.408450704225352,"src":"/static/f9e4d2993a2cf0ab457d36c1af192ddf/9a31d/Build-vs-Buy-Securing-Customer-Identity.jpg","srcSet":"/static/f9e4d2993a2cf0ab457d36c1af192ddf/f836f/Build-vs-Buy-Securing-Customer-Identity.jpg 200w,\n/static/f9e4d2993a2cf0ab457d36c1af192ddf/2244e/Build-vs-Buy-Securing-Customer-Identity.jpg 400w,\n/static/f9e4d2993a2cf0ab457d36c1af192ddf/9a31d/Build-vs-Buy-Securing-Customer-Identity.jpg 767w","sizes":"(max-width: 767px) 100vw, 767px"}}},"author":{"id":"Rakesh Soni","github":"oyesoni","avatar":"rakesh-soni.jpg"}}}},{"node":{"excerpt":"What are HTTP Security Headers ? When we visit any website in the browser, the browser sends some request headers to the server and the…","fields":{"slug":"/engineering/http-security-headers/"},"html":"<h3 id=\"what-are-http-security-headers-\" style=\"position:relative;\"><a href=\"#what-are-http-security-headers-\" aria-label=\"what are http security headers  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>What are HTTP Security Headers ?</h3>\n<p>When we visit any website in the browser, the browser sends some request headers to the server and the server responds with HTTP response headers. These headers are used by the client and server to share information as a part of the HTTP protocol. Browsers have defined behavior of the web page according to these headers during communication with the server. These headers are mainly a combination of key-value pairs separated by a colon <code>:</code>. There are many HTTP headers, but here I'm covering some very useful web security headers, which will improve your website security. </p>\n<h3 id=\"why-http-security-headers-are-necessary-\" style=\"position:relative;\"><a href=\"#why-http-security-headers-are-necessary-\" aria-label=\"why http security headers are necessary  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>Why HTTP Security Headers are necessary ?</h3>\n<p>As you know, nowadays too many data breaches are happening, many websites are hacked due to misconfiguration or lack of protection. These security headers will protect your website from some common attacks like XSS, code injection, clickjacking, etc. Additionally these headers increases your website SEO score.</p>\n<h4 id=\"1-enforcing-https-http-strict-transport-security-hsts\" style=\"position:relative;\"><a href=\"#1-enforcing-https-http-strict-transport-security-hsts\" aria-label=\"1 enforcing https http strict transport security hsts 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. Enforcing HTTPS (HTTP Strict Transport Security (HSTS))</h4>\n<p>HTTP Strict Transport Security security header helps to protect websites against man-in-the-middle attacks and cookie hijacking. Let's say, you have one website <code>www.example.com</code> and you have purchased SSL certification for migrating your website from HTTP to HTTPS. Now suppose old users are still opening your website using the HTTP, so they may redirect your HTTP users to HTTPS via redirection as a solution. Since visitors may first communicate with the non-encrypted version of the site before being redirected. This creates an opportunity for a man-in-the-middle attack. The HTTP Strict Transport Security header informs the browser that it should never load a site using HTTP and should automatically convert all attempts to access the site using HTTP to HTTPS requests.</p>\n<h5 id=\"syntax\" style=\"position:relative;\"><a href=\"#syntax\" aria-label=\"syntax 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>Syntax</h5>\n<pre class=\"grvsc-container dark-default-dark\" data-language=\"\" data-index=\"0\"><code class=\"grvsc-code\"><span class=\"grvsc-line\">  Strict-Transport-Security: max-age=&lt;expire-time&gt;</span>\n<span class=\"grvsc-line\">  Strict-Transport-Security: max-age=&lt;expire-time&gt;; includeSubDomains</span>\n<span class=\"grvsc-line\">  Strict-Transport-Security: max-age=&lt;expire-time&gt;; preload</span></code></pre>\n<h5 id=\"hsts-directives-\" style=\"position:relative;\"><a href=\"#hsts-directives-\" aria-label=\"hsts directives  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>HSTS directives :</h5>\n<table>\n<thead>\n<tr>\n<th>Directives</th>\n<th>Explanation</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>max-age=&#x3C;expire-time></code></td>\n<td>This directive allows us to specify the amount of time (in seconds) that the content of the header will be stored in the browser cache.</td>\n</tr>\n<tr>\n<td><code>includeSubDomains</code></td>\n<td>If this optional parameter is specified, this rule applies to all of the site's subdomains as well.</td>\n</tr>\n<tr>\n<td><code>Preload</code></td>\n<td>This is not part of the specifications. Please see the Preloading Strict Transport Security</td>\n</tr>\n</tbody>\n</table>\n<h4 id=\"2-cross-site-scripting-protection-x-xss\" style=\"position:relative;\"><a href=\"#2-cross-site-scripting-protection-x-xss\" aria-label=\"2 cross site scripting protection x xss 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. Cross-Site Scripting Protection (X-XSS)</h4>\n<p>X-XSS header helps protect websites against script injection attacks. When an attacker injects malicious JavaScript code into an HTTP request for accessing confidential information such as session cookies, at that time HTTP X-XSS-Protection header can stop the browsers from loading suce web pages, whenever any detect is reflected cross-site scripting (XSS) attacks. XSS is a very common and effective attack.</p>\n<h4 id=\"syntax-1\" style=\"position:relative;\"><a href=\"#syntax-1\" aria-label=\"syntax 1 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>Syntax</h4>\n<pre class=\"grvsc-container dark-default-dark\" data-language=\"\" data-index=\"1\"><code class=\"grvsc-code\"><span class=\"grvsc-line\">  X-XSS-Protection: 0 </span>\n<span class=\"grvsc-line\">  X-XSS-Protection: 1 </span>\n<span class=\"grvsc-line\">  X-XSS-Protection: 1; mode=block </span>\n<span class=\"grvsc-line\">  X-XSS-Protection: 1; report=&lt;reporting-uri&gt;</span></code></pre>\n<h5 id=\"x-xss-protection-directives\" style=\"position:relative;\"><a href=\"#x-xss-protection-directives\" aria-label=\"x xss protection directives 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>X-XSS-Protection directives:</h5>\n<table>\n<thead>\n<tr>\n<th>Attribute</th>\n<th>Description</th>\n<th></th>\n<th></th>\n<th></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>0</code></td>\n<td>Disable the XSS Filtering</td>\n<td></td>\n<td></td>\n<td></td>\n</tr>\n<tr>\n<td><code>1</code></td>\n<td>Enable the XSS Filtering and remove the unsafe part</td>\n<td></td>\n<td></td>\n<td></td>\n</tr>\n<tr>\n<td><code>1; mode=block</code></td>\n<td>Browser prevents the entire page from rendering when an XSS attack is detected.</td>\n<td></td>\n<td></td>\n<td></td>\n</tr>\n<tr>\n<td><code>1; report=&#x3C;reporting-URI> (Chromium only)</code></td>\n<td>When a cross-site scripting attack is detected, the browser will remove the unsafe parts from the page and report the violation on the reporting URL.</td>\n<td></td>\n<td></td>\n<td></td>\n</tr>\n</tbody>\n</table>\n<h4 id=\"3-website-iframe-protection\" style=\"position:relative;\"><a href=\"#3-website-iframe-protection\" aria-label=\"3 website iframe protection 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. Website IFrame Protection</h4>\n<p>The X-Frame-Options HTTP response header can be used to instruct the browser whether a web page should be allowed to render a <code>&#x3C;frame>, &#x3C;iframe>, &#x3C;embed> or &#x3C;object></code>  element on website or not.</p>\n<p>This header protects users against ClickJacking attacks. An attacker uses multiple tricks to trick the user into clicking something different than what they think they’re clicking.</p>\n<h4 id=\"syntax-2\" style=\"position:relative;\"><a href=\"#syntax-2\" aria-label=\"syntax 2 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>Syntax</h4>\n<pre class=\"grvsc-container dark-default-dark\" data-language=\"\" data-index=\"2\"><code class=\"grvsc-code\"><span class=\"grvsc-line\">  X-Frame-Options: DENY </span>\n<span class=\"grvsc-line\">  X-Frame-Options: SAMEORIGIN</span></code></pre>\n<h4 id=\"x-frame-options-directives-include-the-following\" style=\"position:relative;\"><a href=\"#x-frame-options-directives-include-the-following\" aria-label=\"x frame options directives include the following 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>X-Frame-Options directives include the following:</h4>\n<table>\n<thead>\n<tr>\n<th>Directives</th>\n<th>Explanation</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>DENY</code></td>\n<td>This will not allow to page rendering in the <code>&#x3C;frame>, &#x3C;iframe>, &#x3C;embed> or &#x3C;object></code></td>\n</tr>\n<tr>\n<td><code>SAMEORIGIN</code></td>\n<td>This will allow the page to only be displayed in a <code>&#x3C;frame>, &#x3C;iframe>, &#x3C;embed> or &#x3C;object></code> on the same origin.</td>\n</tr>\n</tbody>\n</table>\n<h4 id=\"4-preventing-content-type-sniffing\" style=\"position:relative;\"><a href=\"#4-preventing-content-type-sniffing\" aria-label=\"4 preventing content type sniffing 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. Preventing Content-Type Sniffing</h4>\n<p><strong>X-Content-Type-Options</strong> response header prevents the browser from MIME-sniffing a response away from the declared content-type. A MIME-sniffing vulnerability allows an attacker to inject a malicious resource, such as a malicious executable script, Suppose an attacker changes the response for an innocent resource, such as an image. With MIME sniffing, the browser will ignore the declared image content type, and instead of rendering an image will execute the malicious script. </p>\n<p>Syntax </p>\n<pre class=\"grvsc-container dark-default-dark\" data-language=\"\" data-index=\"3\"><code class=\"grvsc-code\"><span class=\"grvsc-line\">  X-Content-Type-Options: nosniff </span></code></pre>\n<h4 id=\"x-content-type-options-directives\" style=\"position:relative;\"><a href=\"#x-content-type-options-directives\" aria-label=\"x content type options directives 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>X-Content-Type-Options directives:</h4>\n<p><code>nosniff</code> - Blocks a request if the request destination is of type:</p>\n<h4 id=\"6-content-security-policy\" style=\"position:relative;\"><a href=\"#6-content-security-policy\" aria-label=\"6 content security policy 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. Content Security Policy</h4>\n<p>Content-Security-Policy header is used to instruct the browser to load only the allowed content defined in the policy. This uses the whitelisting approach which tells the browser from where to load the images, scripts, CSS, applets, etc. If implemented properly, this policy prevents the exploitation of Cross-Site Scripting (XSS), ClickJacking, and HTML injection attacks.</p>\n<h4 id=\"syntax-3\" style=\"position:relative;\"><a href=\"#syntax-3\" aria-label=\"syntax 3 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>Syntax</h4>\n<pre class=\"grvsc-container dark-default-dark\" data-language=\"\" data-index=\"4\"><code class=\"grvsc-code\"><span class=\"grvsc-line\">  Content-Security-Policy: &lt;policy-directive&gt;; &lt;policy-directive&gt;</span></code></pre>\n<p>More information about the Content Security policy can be found on  <a href=\"https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy\">Mozilla’s website </a>.</p>\n<h3 id=\"conclusion\" style=\"position:relative;\"><a href=\"#conclusion\" aria-label=\"conclusion 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>Conclusion</h3>\n<p>As a web developer, you can follow this guide for adding security headers to your website. HTTP headers can be configured on the server to enhance the overall security of the web application. You can easily validate your website security headers. Multiple free online tools are available to check the same:</p>\n<ul>\n<li><a href=\"https://securityheaders.com/\">Security Headers</a></li>\n<li><a href=\"https://www.serpworx.com/check-security-headers/\">Serpworx</a></li>\n</ul>\n<p>These headers reduce the potential vulnerabilities of the application. Alongside these headers will add one layer of security still we need to add more layer's of security in our web application  </p>\n<style class=\"grvsc-styles\">\n  .grvsc-container {\n    overflow: auto;\n    -webkit-overflow-scrolling: touch;\n    padding-top: 1rem;\n    padding-top: var(--grvsc-padding-top, var(--grvsc-padding-v, 1rem));\n    padding-bottom: 1rem;\n    padding-bottom: var(--grvsc-padding-bottom, var(--grvsc-padding-v, 1rem));\n    border-radius: 8px;\n    border-radius: var(--grvsc-border-radius, 8px);\n    font-feature-settings: normal;\n  }\n  \n  .grvsc-code {\n    display: inline-block;\n    min-width: 100%;\n  }\n  \n  .grvsc-line {\n    display: inline-block;\n    box-sizing: border-box;\n    width: 100%;\n    padding-left: 1.5rem;\n    padding-left: var(--grvsc-padding-left, var(--grvsc-padding-h, 1.5rem));\n    padding-right: 1.5rem;\n    padding-right: var(--grvsc-padding-right, var(--grvsc-padding-h, 1.5rem));\n  }\n  \n  .grvsc-line-highlighted {\n    background-color: var(--grvsc-line-highlighted-background-color, transparent);\n    box-shadow: inset var(--grvsc-line-highlighted-border-width, 4px) 0 0 0 var(--grvsc-line-highlighted-border-color, transparent);\n  }\n  \n  .dark-default-dark {\n    background-color: #1E1E1E;\n    color: #D4D4D4;\n  }\n</style>","frontmatter":{"date":"July 15, 2020","updated_date":null,"description":"HTTP security headers are a fundamental part of website security. Upon implementation, they protect you against the types of attacks that your site is most likely to come across. These headers protect against XSS, code injection, clickjacking, etc. This article explains most commonly used HTTP headers in context to application security","title":"HTTP Security Headers","tags":["Security","HTTP Headers"],"pinned":null,"coverImage":{"childImageSharp":{"fluid":{"aspectRatio":1.5037593984962405,"src":"/static/bd7410a85a59f44b894624a2b98f28d4/f422e/http-security-headers.jpg","srcSet":"/static/bd7410a85a59f44b894624a2b98f28d4/f836f/http-security-headers.jpg 200w,\n/static/bd7410a85a59f44b894624a2b98f28d4/2244e/http-security-headers.jpg 400w,\n/static/bd7410a85a59f44b894624a2b98f28d4/f422e/http-security-headers.jpg 640w","sizes":"(max-width: 640px) 100vw, 640px"}}},"author":{"id":"Vijay Singh Shekhawat","github":"code-vj","avatar":null}}}}]},"markdownRemark":{"excerpt":"Identity is evolving, and developers are at the forefront of this transformation. Every day brings a new learning—adapting to new standards…","fields":{"slug":"/identity/developer-first-identity-provider-loginradius/"},"html":"<p>Identity is evolving, and developers are at the forefront of this transformation. Every day brings a new learning—adapting to new standards and refining approaches to building secure, seamless experiences.</p>\n<p>We’re here to support developers on that journey. We know how important simplicity, efficiency, and well-structured documentation are when working with identity and access management solutions. That’s why we’ve redesigned the <a href=\"https://www.loginradius.com/\">LoginRadius website</a>—to be faster, more intuitive, and developer-first in every way.</p>\n<p>The goal? Having them spend less time searching and more time building.</p>\n<h2 id=\"whats-new-and-improved-on-the-loginradius-website\" style=\"position:relative;\"><a href=\"#whats-new-and-improved-on-the-loginradius-website\" aria-label=\"whats new and improved on the loginradius website 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>What’s New and Improved on the LoginRadius Website?</h2>\n<p>LoginRadius’ vision is to give developers a product that simplifies identity management so they can focus on building, deploying, and scaling their applications. To enhance this experience, we’ve spent the last few months redesigning our interface— making navigation more intuitive and reassuring that essential resources are easily accessible.</p>\n<p>Here’s a closer look at what’s new and why it’s important:</p>\n<h3 id=\"a-developer-friendly-dark-theme\" style=\"position:relative;\"><a href=\"#a-developer-friendly-dark-theme\" aria-label=\"a developer friendly dark theme 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>A Developer-Friendly Dark Theme</h3>\n<p><img src=\"/f46881583c7518a93bb24e94c32320de/a-developer-friendly-dark-theme.webp\" alt=\"This image shows how LoginRadius offers several authentication methods like traditional login, social login, passwordless login, passkeys and more in a dark mode.\">    </p>\n<p>Developers spend long hours working in dark-themed IDEs and terminals, so we’ve designed the LoginRadius experience to be developer-friendly and align with that preference.</p>\n<p>The new dark mode reduces eye strain, enhances readability, and provides a seamless transition between a coding environment and our platform. Our new design features a clean, modern aesthetic with a consistent color scheme and Barlow typography, ensuring better readability. High-quality graphics and icons are thoughtfully placed to enhance the content without adding visual clutter.</p>\n<p>So, whether you’re navigating our API docs or configuring authentication into your system, our improved interface will make those extended development hours more comfortable and efficient.</p>\n<h3 id=\"clear-categorization-for-loginradius-capabilities\" style=\"position:relative;\"><a href=\"#clear-categorization-for-loginradius-capabilities\" aria-label=\"clear categorization for loginradius capabilities 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>Clear Categorization for LoginRadius Capabilities</h3>\n<p><img src=\"/e5358b82be414940f3fb146013845933/capabilities.webp\" alt=\"This image shows a breakdown of all the LoginRadius CIAM capabilities, including authentication, security, UX, scalability and multi-brand management.\"></p>\n<p>We’ve restructured our website to provide a straightforward breakdown of our customer identity and access management platform capabilities, helping you quickly find what you need:</p>\n<ul>\n<li>Authentication: Easily understand <a href=\"https://www.loginradius.com/blog/identity/authentication-option-for-your-product/\">how to choose the right login method</a>, from traditional passwords and OTPs to social login, federated SSO, and passkeys with few lines of code.</li>\n<li>Security: Implement no-code security features like bot detection, IP throttling, breached password alerts, DDoS protection, and adaptive MFA to safeguard user accounts.</li>\n<li>User Experience: Leverage AI builder, hosted pages, and drag-and-drop workflows to create smooth, branded sign-up and login experiences.</li>\n<li>High Performance &#x26; Scalability: Confidently scale with sub-100ms API response times, 100% uptime, 240K+ RPS, and 28+ global data center regions.</li>\n<li>Multi-Brand Management: Efficiently manage multiple identity apps, choosing isolated or shared data stores based on your brand’s unique needs.</li>\n</ul>\n<p>This structured layout ensures you can quickly understand each capability and how it integrates into your identity ecosystem.</p>\n<h3 id=\"developer-first-navigation\" style=\"position:relative;\"><a href=\"#developer-first-navigation\" aria-label=\"developer first navigation 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>Developer-First Navigation</h3>\n<p><img src=\"/a8c155c2b6faf3d5f4b4de4e2b14d763/developers-menu.webp\" alt=\"This image shows the LoginRadius menu bar, highlighting the developer dropdown.\">   </p>\n<p>We’ve been analyzing developer workflows to identify how you access key resources. That’s why we redesigned our navigation with one goal in mind: to reduce clicks and make essential resources readily available.</p>\n<p>The new LoginRadius structure puts APIs, SDKs, and integration guides right at the menu bar under the Developers dropdown so you can get started faster. Our Products, Solutions, and Customer Services are also clearly categorized, helping development teams quickly find the right tools and make informed decisions.</p>\n<h3 id=\"quick-understanding-of-integration-benefits\" style=\"position:relative;\"><a href=\"#quick-understanding-of-integration-benefits\" aria-label=\"quick understanding of integration benefits 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>Quick Understanding of Integration Benefits</h3>\n<p><img src=\"/b2f9a964a2da0ea83e2f8596b833bba7/we-support-your-tech-stack.webp\" alt=\"This image shows a list of popular programming languages and frameworks offered by LoginRadius.\"></p>\n<p>Developers now have a clear view of the tech stack available with LoginRadius, designed to support diverse business needs.</p>\n<p>Our platform offers pre-built SDKs for Node.js, Python, Java, and more, making CIAM integration seamless across popular programming languages and frameworks.</p>\n<h2 id=\"over-to-you-now\" style=\"position:relative;\"><a href=\"#over-to-you-now\" aria-label=\"over to you now 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>Over to You Now!</h2>\n<p>Check out our <a href=\"https://www.loginradius.com/\">revamped LoginRadius website</a> and see how the improved experience makes it easier to build, scale, and secure your applications.</p>\n<p>Do not forget to explore the improved navigation and API documentation, and get started with our free trial today. We’re excited to see what you’ll build with LoginRadius!</p>\n<style class=\"grvsc-styles\">\n  .grvsc-container {\n    overflow: auto;\n    -webkit-overflow-scrolling: touch;\n    padding-top: 1rem;\n    padding-top: var(--grvsc-padding-top, var(--grvsc-padding-v, 1rem));\n    padding-bottom: 1rem;\n    padding-bottom: var(--grvsc-padding-bottom, var(--grvsc-padding-v, 1rem));\n    border-radius: 8px;\n    border-radius: var(--grvsc-border-radius, 8px);\n    font-feature-settings: normal;\n  }\n  \n  .grvsc-code {\n    display: inline-block;\n    min-width: 100%;\n  }\n  \n  .grvsc-line {\n    display: inline-block;\n    box-sizing: border-box;\n    width: 100%;\n    padding-left: 1.5rem;\n    padding-left: var(--grvsc-padding-left, var(--grvsc-padding-h, 1.5rem));\n    padding-right: 1.5rem;\n    padding-right: var(--grvsc-padding-right, var(--grvsc-padding-h, 1.5rem));\n  }\n  \n  .grvsc-line-highlighted {\n    background-color: var(--grvsc-line-highlighted-background-color, transparent);\n    box-shadow: inset var(--grvsc-line-highlighted-border-width, 4px) 0 0 0 var(--grvsc-line-highlighted-border-color, transparent);\n  }\n  \n</style>","frontmatter":{"date":"February 21, 2025","updated_date":null,"description":"LoginRadius’ vision is to give developers a product that simplifies identity management so they can focus on building, deploying, and scaling their applications. To enhance this experience, we’ve redesigned our website interface, making navigation more intuitive and reassuring that essential resources are easily accessible.","title":"Revamped & Ready: Introducing the New Developer-First LoginRadius Website","tags":["Developer tools","API","Identity Management","User Authentication"],"pinned":true,"coverImage":{"childImageSharp":{"fluid":{"aspectRatio":1.7857142857142858,"src":"/static/80b4e4fbe176a10a327d273504607f32/58556/hero-section.webp","srcSet":"/static/80b4e4fbe176a10a327d273504607f32/61e93/hero-section.webp 200w,\n/static/80b4e4fbe176a10a327d273504607f32/1f5c5/hero-section.webp 400w,\n/static/80b4e4fbe176a10a327d273504607f32/58556/hero-section.webp 800w,\n/static/80b4e4fbe176a10a327d273504607f32/99238/hero-section.webp 1200w,\n/static/80b4e4fbe176a10a327d273504607f32/7c22d/hero-section.webp 1600w,\n/static/80b4e4fbe176a10a327d273504607f32/1258b/hero-section.webp 2732w","sizes":"(max-width: 800px) 100vw, 800px"}}},"author":{"id":"Rakesh Soni","github":"oyesoni","avatar":"rakesh-soni.jpg"}}}},"pageContext":{"limit":6,"skip":750,"currentPage":126,"type":"///","numPages":161,"pinned":"ee8a4479-3471-53b1-bf62-d0d8dc3faaeb"}},"staticQueryHashes":["1171199041","1384082988","2100481360","23180105","528864852"]}