{"componentChunkName":"component---src-templates-blog-list-template-js","path":"/98","result":{"data":{"allMarkdownRemark":{"edges":[{"node":{"excerpt":"Suppose, You have a massive amount of data and want to add them to your new product campaign. You are probably not sure that all of them…","fields":{"slug":"/engineering/eva-google-script/"},"html":"<p>Suppose, You have a massive amount of data and want to add them to your new product campaign. You are probably not sure that all of them belong to the right audience; some might be spam or disposable emails.</p>\n<h4 id=\"now-the-actual-problem-is-that-how-can-i-do-validate-so-many-email-addresses\" style=\"position:relative;\"><a href=\"#now-the-actual-problem-is-that-how-can-i-do-validate-so-many-email-addresses\" aria-label=\"now the actual problem is that how can i do validate so many email addresses 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>Now, the actual problem is that how can I do validate so many email addresses?</h4>\n<p>Well, it would be great to verify them all together in a single shot with 100% accurate results without any manual interaction.</p>\n<p>I am writing this article as so many of us have the same concern and are looking for a business email validator that can resolve this problem with high accuracy.</p>\n<p>Here we have the tool <a href=\"https://eva.pingutil.com/\">EVA</a> (Email Verification APIs), which provides excellent email verification services with their open APIs.</p>\n<h2 id=\"eva-service-with-google-sheet\" style=\"position:relative;\"><a href=\"#eva-service-with-google-sheet\" aria-label=\"eva service with google sheet 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>EVA service with Google Sheet</h2>\n<p>Google allows you to create scripts using your custom functions with the service you wanted to use. You can make these functions in standard JavaScript with a basic <a href=\"https://developer.mozilla.org/en-US/docs/Learn/Getting_started_with_the_web/JavaScript_basics\">understanding of JS</a>. Here is the guide to start with <a href=\"https://developers.google.com/apps-script/guides/sheets/functions\">Custom Functions in Google Sheets</a>.</p>\n<h2 id=\"custom-function\" style=\"position:relative;\"><a href=\"#custom-function\" aria-label=\"custom function 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>Custom Function</h2>\n<p><code>=eva(email)</code></p>\n<p>Eva needs the email address only from you and the rest will perform with their excellent service. You can also go through the <a href=\"https://www.loginradius.com/blog/engineering/email-verification-api/\">Email Verification API (EVA)</a> article for more details about EVA.</p>\n<p>Here is the custom function created using the EVA Services to validate email.</p>\n<pre class=\"grvsc-container dark-default-dark\" data-language=\"js\" data-index=\"0\"><code class=\"grvsc-code\"><span class=\"grvsc-line\"><span class=\"mtk4\">function</span><span class=\"mtk1\"> </span><span class=\"mtk11\">eva</span><span class=\"mtk1\">(</span><span class=\"mtk12\">email</span><span class=\"mtk1\">) {</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">  </span><span class=\"mtk4\">var</span><span class=\"mtk1\"> </span><span class=\"mtk12\">url</span><span class=\"mtk1\"> = </span><span class=\"mtk8\">&quot;https://api.eva.pingutil.com/email?email=&quot;</span><span class=\"mtk1\">+</span><span class=\"mtk12\">email</span><span class=\"mtk1\">;</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">  </span><span class=\"mtk4\">var</span><span class=\"mtk1\"> </span><span class=\"mtk12\">res</span><span class=\"mtk1\"> = </span><span class=\"mtk12\">UrlFetchApp</span><span class=\"mtk1\">.</span><span class=\"mtk11\">fetch</span><span class=\"mtk1\">(</span><span class=\"mtk12\">url</span><span class=\"mtk1\">);</span></span>\n<span class=\"grvsc-line\"></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">  </span><span class=\"mtk3\">// Get status of the API</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">  </span><span class=\"mtk4\">var</span><span class=\"mtk1\"> </span><span class=\"mtk12\">status</span><span class=\"mtk1\"> = </span><span class=\"mtk12\">res</span><span class=\"mtk1\">.</span><span class=\"mtk11\">getResponseCode</span><span class=\"mtk1\">();</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">  </span><span class=\"mtk15\">if</span><span class=\"mtk1\"> (</span><span class=\"mtk12\">status</span><span class=\"mtk1\"> != </span><span class=\"mtk7\">200</span><span class=\"mtk1\">) {</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">    </span><span class=\"mtk15\">return</span><span class=\"mtk1\"> </span><span class=\"mtk4\">false</span><span class=\"mtk1\">;</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">  }</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">  </span><span class=\"mtk4\">var</span><span class=\"mtk1\"> </span><span class=\"mtk12\">contextText</span><span class=\"mtk1\"> = </span><span class=\"mtk12\">res</span><span class=\"mtk1\">.</span><span class=\"mtk11\">getContentText</span><span class=\"mtk1\">();</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\"> </span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">  </span><span class=\"mtk4\">var</span><span class=\"mtk1\"> </span><span class=\"mtk12\">result</span><span class=\"mtk1\"> = </span><span class=\"mtk10\">JSON</span><span class=\"mtk1\">.</span><span class=\"mtk11\">parse</span><span class=\"mtk1\">(</span><span class=\"mtk12\">contextText</span><span class=\"mtk1\">);</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\"> </span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\"> </span><span class=\"mtk3\">// Logic to check Business Email</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">  </span><span class=\"mtk15\">if</span><span class=\"mtk1\"> (</span><span class=\"mtk12\">result</span><span class=\"mtk1\">[</span><span class=\"mtk8\">&quot;data&quot;</span><span class=\"mtk1\">][</span><span class=\"mtk8\">&quot;disposable&quot;</span><span class=\"mtk1\">] === </span><span class=\"mtk4\">false</span><span class=\"mtk1\"> && </span><span class=\"mtk12\">result</span><span class=\"mtk1\">[</span><span class=\"mtk8\">&quot;data&quot;</span><span class=\"mtk1\">][</span><span class=\"mtk8\">&quot;webmail&quot;</span><span class=\"mtk1\">] === </span><span class=\"mtk4\">false</span><span class=\"mtk1\"> &&  </span><span class=\"mtk12\">result</span><span class=\"mtk1\">[</span><span class=\"mtk8\">&quot;data&quot;</span><span class=\"mtk1\">][</span><span class=\"mtk8\">&quot;spam&quot;</span><span class=\"mtk1\">]  === </span><span class=\"mtk4\">false</span><span class=\"mtk1\"> && </span><span class=\"mtk12\">result</span><span class=\"mtk1\">[</span><span class=\"mtk8\">&quot;data&quot;</span><span class=\"mtk1\">][</span><span class=\"mtk8\">&quot;deliverable&quot;</span><span class=\"mtk1\">] === </span><span class=\"mtk4\">true</span><span class=\"mtk1\">) {</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">    </span><span class=\"mtk15\">return</span><span class=\"mtk1\"> </span><span class=\"mtk4\">true</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">  }</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">  </span><span class=\"mtk15\">return</span><span class=\"mtk1\"> </span><span class=\"mtk4\">false</span><span class=\"mtk1\">;</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">}</span></span></code></pre>\n<h2 id=\"add-script\" style=\"position:relative;\"><a href=\"#add-script\" aria-label=\"add script 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>Add Script</h2>\n<p>We are all set with our script and now need to add this script under Google Script Editor under tools and save it.</p>\n<p><img src=\"/baf429b5e3e42b9ce2690eb275de9b06/script-editor.gif\" alt=\"Google Script\"></p>\n<h2 id=\"run-script\" style=\"position:relative;\"><a href=\"#run-script\" aria-label=\"run script 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>Run Script</h2>\n<p>That all! Now I need to drag this formula to the entire rows on which I want to perform validation.</p>\n<p><img src=\"/d42e4776a173bf405925530f125c685e/drag.gif\" alt=\"Drag\"></p>\n<p>Perfect :)</p>\n<h2 id=\"setup-trigger\" style=\"position:relative;\"><a href=\"#setup-trigger\" aria-label=\"setup trigger 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>Setup Trigger</h2>\n<p>You can set up a trigger to action (i.e., on open, edit or change in sheet) by navigating tools -> script editor and click on the left alarm icon.</p>\n<p><img src=\"/f439932ac1d6329ba8d43c814efeffef/trigger.gif\" alt=\"Trigger\"></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>In this article, I've explained EVA services to validate email addresses in bulk using the google script editor. If you like what you read, leave a \"thank you note\" in the comment section.</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  .dark-default-dark .mtk4 { color: #569CD6; }\n  .dark-default-dark .mtk1 { color: #D4D4D4; }\n  .dark-default-dark .mtk11 { color: #DCDCAA; }\n  .dark-default-dark .mtk12 { color: #9CDCFE; }\n  .dark-default-dark .mtk8 { color: #CE9178; }\n  .dark-default-dark .mtk3 { color: #6A9955; }\n  .dark-default-dark .mtk15 { color: #C586C0; }\n  .dark-default-dark .mtk7 { color: #B5CEA8; }\n  .dark-default-dark .mtk10 { color: #4EC9B0; }\n</style>","frontmatter":{"date":"February 22, 2021","updated_date":null,"description":"Directly checking email addresses for authenticity in the Google spreadsheet using EVA has never been easier. In this article, you will learn how to validate email addresses using EVA services in Google Sheets.","title":"How to Verify Email Addresses in Google Sheet","tags":["EVA","Google Script","Email Validation"],"pinned":null,"coverImage":{"childImageSharp":{"fluid":{"aspectRatio":1.5037593984962405,"src":"/static/532c1db0bab60ffa3eead6e63d119ff7/ee604/eva.png","srcSet":"/static/532c1db0bab60ffa3eead6e63d119ff7/69585/eva.png 200w,\n/static/532c1db0bab60ffa3eead6e63d119ff7/497c6/eva.png 400w,\n/static/532c1db0bab60ffa3eead6e63d119ff7/ee604/eva.png 800w,\n/static/532c1db0bab60ffa3eead6e63d119ff7/e6250/eva.png 1074w","sizes":"(max-width: 800px) 100vw, 800px"}}},"author":{"id":"Narendra Pareek","github":"pareek-narendra","avatar":null}}}},{"node":{"excerpt":"The outbreak of COVID-19 has taught the world a lot of things. In most countries, a lockdown was implemented as a precautionary measure to…","fields":{"slug":"/growth/hybrid-workforce/"},"html":"<p>The outbreak of <a href=\"https://www.loginradius.com/blog/identity/2020/05/cyber-threats-business-risk-covid-19/\">COVID-19 has taught the world</a> a lot of things. In most countries, a lockdown was implemented as a precautionary measure to prevent this disease. As a result, employees across the globe started working remotely from their homes. </p>\n<p>Now that the lockdown has ended, there is an option for the employees to come back and work in the offices. But, it is observed that most of the employees prefer working remotely, and a sense of better performance and results is also experienced among remote employees.</p>\n<p>A hybrid workforce model is the future of the remote workforce. Most companies are planning to let their employees work remotely to ensure the continuity of the increased performance. </p>\n<p>Such a workforce also ensures that employees work at the ease of being at home.</p>\n<h2 id=\"what-is-a-hybrid-workforce-model\" style=\"position:relative;\"><a href=\"#what-is-a-hybrid-workforce-model\" aria-label=\"what is a hybrid workforce 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>What is a Hybrid Workforce Model</h2>\n<p>A hybrid workforce model is an arrangement in which there are employees who work at a single central location which may be an office or warehouse, or storehouse, in coordination with another group of employees who are working remotely. There is usually a group of employees who are creating a bridge between the office and the remote work. </p>\n<p>A hybrid workforce is the future of work that makes one of the best use of human resources as the employees working remotely feel independent to work according to their will, and thus the employee productivity increases. </p>\n<p>However, it was not all that easy to get the result as employees were often distracted with their household chores. Due to this, continued work was not possible. Despite this, what made remote working a plausible option for many businesses is the initiative from the employees' end. Employees were willing to put in more work hours due to the relaxed atmosphere of their house. Furthermore, businesses could save time employees would otherwise spend commuting to and fro. </p>\n<p>The convenience that remote working brings forms the basis for adopting a hybrid workforce model in the present and future.</p>\n<h2 id=\"benefits-of-hybrid-workforce\" style=\"position:relative;\"><a href=\"#benefits-of-hybrid-workforce\" aria-label=\"benefits of hybrid workforce 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 Hybrid Workforce</h2>\n<ul>\n<li><strong>Employee satisfaction</strong> </li>\n</ul>\n<p>A survey was conducted by Indeed in which 40% of the employees said that they were okay to get a pay cut in exchange for working remotely. Working from home during the pandemic had its challenges, but it also gave the independence and flexibility to the employees to work according to their will, and now, post-pandemic, the employees wish to continue working from home. </p>\n<ul>\n<li><strong>Increased productivity</strong></li>\n</ul>\n<p>A Harvard Business School professor, along with his fellow researchers saw the outcomes of remote working that offers flexible working arrangements at the USPTO. The study found that productivity has <a href=\"https://hbswk.hbs.edu/item/how-companies-benefit-when-employees-work-remotely\">increased by 4.4 percent</a>, which represented 1.3 billion dollars of addition in the U.S. economy. We can conclude from this research that company leaders and the remote workers are working in tandem, more productively.</p>\n<ul>\n<li><strong>Increase revenue and income</strong></li>\n</ul>\n<p>When the whole workforce was forced to abandon office for their homes, businesses across the globe discovered a silver lining in the situation; a hidden benefit that could increase profit margins. Employers no longer had to pay travel allowance, utility bills for the office space and discovered the increased revenue as a result of this. </p>\n<p>On the employees' end, the situation was just as beneficial. They didn't need to spend on daily office commute or invest in outside lunch. Furthermore, employees could move to a more affordable neighbourhood as they no longer needed to save money on commuting by living nearer to their office. This also means they have more of their income at hand than before. </p>\n<h2 id=\"challenges-of-managing-a-hybrid-workforce\" style=\"position:relative;\"><a href=\"#challenges-of-managing-a-hybrid-workforce\" aria-label=\"challenges of managing a hybrid workforce 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>Challenges of Managing a Hybrid Workforce</h2>\n<p>A survey by the <a href=\"https://siepr.stanford.edu/research/publications/how-working-home-works-out\">Sanford Institution for Economic Policy Research (SIEPR)</a> tells that neither every employee can work remotely nor every job is for remote work.</p>\n<ul>\n<li>Only half of the employees worked with 80% efficiency or above when working from home. That may be due to distractions. </li>\n<li>30% or the employee couldn't work at all from home due to the less technical knowledge.</li>\n<li>Only employees who were higher-earning and comparatively more educated worked better from home.</li>\n</ul>\n<p>There are a few things necessary for setting up a hybrid workforce model.</p>\n<ul>\n<li><strong>Creating structure</strong></li>\n</ul>\n<p>Company leaders will need to understand which employees should come and which should not and also decide how to make the interaction between remotely and at-office employees.</p>\n<ul>\n<li><strong>Investment in technology</strong></li>\n</ul>\n<p>According to a report submitted by Spiceworks Ziff Davis, 76% of the organizations are planning to invest in <a href=\"https://www.forbes.com/sites/paulmcdonald/2020/12/16/laying-the-foundation-for-a-successful-hybrid-workforce/?sh=48b526ac1e5c\">long-term IT changes</a> which will support a remote workforce. It is also important while installing the tech and software that the user experience is satisfactory. </p>\n<p>For all its benefits and implementation strategies, a hybrid workforce cannot be an option for every job because not every job can be done independently. </p>\n<h2 id=\"managing-cybersecurity-in-the-hybrid-workplace\" style=\"position:relative;\"><a href=\"#managing-cybersecurity-in-the-hybrid-workplace\" aria-label=\"managing cybersecurity in the hybrid workplace 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>Managing Cybersecurity in the Hybrid Workplace</h2>\n<p>Everything has pros and cons, so is the case with a hybrid workforce. According to a survey by 250 IT, decision-makers and 2000 working professionals<a href=\"https://www.techrepublic.com/article/how-to-handle-security-risks-in-a-hybrid-work-environment/\">,</a> <a href=\"https://www.techrepublic.com/article/how-to-handle-security-risks-in-a-hybrid-work-environment/\">75% of IT leaders believe</a> the future of the work will be a hybrid workplace, i.e. employees working remotely and in-office.</p>\n<p>There is also the security risk for organizations and employees working in hybrid work mode. They may be in the form of downloading unsafe apps, malware infection, data leakage, unauthorized access to data etc. The use of public Wi-Fi is also a reason of concern; <a href=\"https://www.techrepublic.com/article/how-to-handle-security-risks-in-a-hybrid-work-environment/\">58% of the employees</a> have admitted that they consider using public Wi-Fi or have already used an unprotected network source.</p>\n<p>It is important to make sure that the data is stored and processed in a way that customers' privacy and <a href=\"https://www.loginradius.com/blog/identity/2020/06/consumer-data-privacy-security/\">security of data are not compromised</a>. </p>\n<p>The following is necessary to help the proper establishment of a hybrid workforce:</p>\n<ul>\n<li><strong>Encryption in Transit:</strong> The data transit between two locations is encrypted, and all the communication from the client to the platform travels over a secure HTTPS tunnel.</li>\n<li><strong>Encryption at Rest:</strong> They also provide additional security in the form of encryption for the data at rest.</li>\n<li><strong>Field-Level Encryption:</strong> In the case of sensitive customer data, one-way or two-way encryption is needed on a field-by-field basis.</li>\n<li><strong>Password Security:</strong> Critical hashing for data such as passwords and <a href=\"https://www.loginradius.com/blog/identity/2019/01/best-practices-choosing-good-security-questions/#:~:text=Team%20LoginRadius&#x26;text=Security%20questions%20are%20an%20alternative,an%20unfamiliar%20device%20or%20location.\">security questions</a> is performed with the industry-standard hashing algorithm.</li>\n</ul>\n<h2 id=\"shifting-perspective-on-the-essence-of-remote-work\" style=\"position:relative;\"><a href=\"#shifting-perspective-on-the-essence-of-remote-work\" aria-label=\"shifting perspective on the essence of remote work 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>Shifting Perspective on the Essence of Remote work</h2>\n<p>A survey conducted by Garter Inc. of 317 CFOs and Financial leaders revealed that more than <a href=\"https://en.wikipedia.org/wiki/Vitality_curve\">70% remove at least 5% of their workforce</a> to permanently remote positions post pandemic. This will not only save their workspace but also add in their overall net growth by at least 4%, as happened in the U.S. </p>\n<p>This data shows the impact of the covid-19 pandemic and the lockdown on the companies and their business module. </p>\n<p>There are many steps that need to be followed and in order to create a harmonious environment for employees working remotely and those working at the office. It becomes necessary for companies to make their employees technically educated. It is important that the non-IT companies not only get their employees trained for working remotely or, say, for hybrid workforce programmes. </p>\n<p>Companies also need to provide the <a href=\"https://www.loginradius.com/blog/fuel/2021/02/tips-managing-remote-team/\">employees working remotely</a> and the HR leaders working at the office with all the necessary equipment that would not only build a hybrid workforce environment but also help employees work according to the need without any trouble that might arise due to some technical absence.</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>A Hybrid workforce can prove to be beneficial both for companies and the employees who would work remotely. This change was forced into action due to the covid-19 pandemic, but it'll be the future of the work. It'll lead to a great many changes. It will not only help businesses build more money, but it'll also help them lessen the workload on the employees. In a nutshell, the hybrid workforce model is a win-win for both employers and employees. </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,iVBORw0KGgoAAAANSUhEUgAAABQAAAAGCAYAAADDl76dAAAACXBIWXMAAAsSAAALEgHS3X78AAABdElEQVQY002RO0/CUBzFG6PtbZWHCAmRmBB5P8vDII9SSC0omog4oAEGjZMO6OKEuLjoJ2Fx0cSBwUQnXZxcHPwux38LJA7nNvfec8+5v1tOCCiwpbbhye2BxbYgBMtgIRVioDRRsARGXxZUzLlEHmehBaesQ4rrEMPViYf2DR9nDGKkChbVICVqsMt1WJI1sHCFwhUsUIFohJH49TxECvRUjhDW2mAbB5iP6hB8hUkhiRPN5KIZYJdrsEYrcCSpmQqMm6/m9ylUhSulY7N5ivROB3L9GOlGF3Ktbc4zuz341UPw/uIk0ESbBjoSGlYIx8BfzjSwVmyCEYEUUmCPa3Bnd+hwC75yC95S05SxbolU/iEbOCFCpDexEfIioTNCNd6Tp6IlMnNuGeeDe3z//OLx5RWj5zFGT2O8fXxh/P4Ja6w6vSEFCnTIlW2YiDzhzX7ATFKojDlvjpBPcDF4QPdyiG5/iE7/BmfXd+hd3VKpCoG8fzxWw2+c+yTpAAAAAElFTkSuQmCC'); 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/fcc4c4b5dc38cc4528f99d09480f4eb2/e5715/book-a-demo-loginradius.png\"\n        srcset=\"/static/fcc4c4b5dc38cc4528f99d09480f4eb2/a6d36/book-a-demo-loginradius.png 650w,\n/static/fcc4c4b5dc38cc4528f99d09480f4eb2/e5715/book-a-demo-loginradius.png 768w,\n/static/fcc4c4b5dc38cc4528f99d09480f4eb2/63ff0/book-a-demo-loginradius.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<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 22, 2021","updated_date":null,"description":"A hybrid workforce model is the future of the remote workforce. Most companies are planning to let their employees work remotely to ensure the continuity of the increased performance. Employees were willing to put in more work hours due to the relaxed atmosphere of their home.","title":"Hybrid Workforce: Laying The Foundation of Remote Working","tags":null,"pinned":null,"coverImage":{"childImageSharp":{"fluid":{"aspectRatio":1.5037593984962405,"src":"/static/ba9616cccaf123119d50aee8f771fef3/14b42/hybrid-workforce.jpg","srcSet":"/static/ba9616cccaf123119d50aee8f771fef3/f836f/hybrid-workforce.jpg 200w,\n/static/ba9616cccaf123119d50aee8f771fef3/2244e/hybrid-workforce.jpg 400w,\n/static/ba9616cccaf123119d50aee8f771fef3/14b42/hybrid-workforce.jpg 800w,\n/static/ba9616cccaf123119d50aee8f771fef3/47498/hybrid-workforce.jpg 1200w,\n/static/ba9616cccaf123119d50aee8f771fef3/ec6c5/hybrid-workforce.jpg 1280w","sizes":"(max-width: 800px) 100vw, 800px"}}},"author":{"id":"Rakesh Soni","github":"oyesoni","avatar":"rakesh-soni.jpg"}}}},{"node":{"excerpt":"Whenever we talk about asynchronous programming in JavaScript, there is sometimes confusion in how it can be asynchronous if it is single…","fields":{"slug":"/engineering/concurrency-vs-parallelism/"},"html":"<p>Whenever we talk about asynchronous programming in JavaScript, there is sometimes confusion in how it can be asynchronous if it is single-threaded. To answer this correctly, I think it's a good thing first to understand the difference between concurrency and parallelism, two terms that are commonly brought up with multithreading.</p>\n<h2 id=\"concurrency\" style=\"position:relative;\"><a href=\"#concurrency\" aria-label=\"concurrency 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>Concurrency</h2>\n<p>Concurrency describes independent parts of a program to run in an arbitrary order without affecting the outcome. A concurrent application can execute multiple tasks over an overlapping period. This means that while we can start new tasks before the previous one is complete, we cannot perform work on each task simultaneously.</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: 49.53846153846154%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAKCAYAAAC0VX7mAAAACXBIWXMAAA7CAAAOwgEVKEqAAAABj0lEQVQoz5VS2U7DMBDM//8FLwh45pIQgkoU2opbRWrpGdpSkrRxSJrYjhMP9rZAOR7A0kTrye5kd7KO1hq6XANA+H7+yjk/s6xwQSiKJWxsHsjSBaSUn5xBucpTSpm4hJPHKXi9BVFrQd73ETCOgccxmXFTnEPlOaah5QSm84zuwvBj837oC8xeOQqV04dIUHghsFU1OIfev0R/EqPWYrjrRaZQUmJzwHDW9NEexVScZgI3XYbK7TOmTNHwpV4a4MiAIdk8RbhxhHSvAS8U6PkK47n6MMkWdV8kvKh4dwVuINGeZGCL8quH64KL3TqNZA+XGfqzLrpBBzGPiYsyZu6PGMx7EIoTFyQ+OoYbMZf8dITPgO1zYKeGYu8KkgtKtCIXnSoqD6d4iaaAaW4UuDhpHqPaOsNrGqHIS/S8Dg6vDnDjXpux7U+JEshKE7mBaLSNR4oERc7hsiGG4QALmRCXiNh018eT6UYqSdw8ndEU42i0FLQ2FWtYeqR/2aa/cQ45/L7NdgdXSXoV639yb86F/8+tq2GsAAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"concurrent-diagram\"\n        title=\"concurrent-diagram\"\n        src=\"/static/985e45ca5bbc05c69e2adbd7e98b5f00/e5715/concurrent-diagram.png\"\n        srcset=\"/static/985e45ca5bbc05c69e2adbd7e98b5f00/a6d36/concurrent-diagram.png 650w,\n/static/985e45ca5bbc05c69e2adbd7e98b5f00/e5715/concurrent-diagram.png 768w,\n/static/985e45ca5bbc05c69e2adbd7e98b5f00/d26aa/concurrent-diagram.png 839w\"\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 think of a concurrent execution model as a single chef preparing a meal. Any chef worth their salt can work on multiple dishes (or various parts of a dish) at once. They might chop the vegetables for their stir-fry while the rice is steamed in the rice cooker or leave the vegetables to fry in the pan while cleaning up their workspace. In this scenario, the chef can perform multiple tasks at once; however, at any given time, he is only able to work on a particular unit of work at a given time. </p>\n<p>You might point out that the chef can perform other actions in this example scenario while something like the rice is steaming, which is technically work still being done. However, the concurrency in this scenario only applies to the chef's context, who is not actively working on the rice as it is being steamed.</p>\n<p>Similarly, the <a href=\"https://www.loginradius.com/blog/engineering/understanding-event-loop/\">JavaScript Event Loop</a> allows your scripts (the chef) to hand off tasks like HTTP requests and timeouts to the browser Web API (rice cooker), allowing the script to execute other code portions while waiting for a response. Once the Web API task is complete, it is pushed back into the Event Loop call stack. While the Web API acts as a separate thread where it can complete certain tasks outside the main thread's scope, your actual JavaScript code is still executed on a single thread concurrently.</p>\n<h2 id=\"parallelism\" style=\"position:relative;\"><a href=\"#parallelism\" aria-label=\"parallelism 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>Parallelism</h2>\n<p>Parallelism describes the ability for independent parts of a program to be physically executed at the same time. A parallel application can distribute its tasks to independent processors (such as different cores or threads of a CPU) to be executed simultaneously. </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: 49.53846153846154%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAKCAYAAAC0VX7mAAAACXBIWXMAAA7CAAAOwgEVKEqAAAABjElEQVQoz52SzW/TQBDF+//fOCKBhMSJC0JC9NJUVD20qCqpm7QFCk3tUMd2YjuOP3ftXf9YuyCZQDgw0tPsvp19ejOavbZt6aLLrR7gJz+Mdtd5ULu3TfxWqFUPpVR3oRYloipNve55rRqGhnrBXwcla4Q1oz7/hhh/Jd+UzEOBs6xIC4kfC+6DinBTsc4MvxJ8X5XUjfq7YJOVeM/3WTx5TfRsn8hLOJ+lfLiJiFLJtZ1wPA1wggJ/LTmyFkzslEY/9vWnw0pQHk8RBxbVe4ssLnCiFnup2OQSN6y5C5Rx2BhIbt3KuJco/Y+Wy89z5LVDeWNQZAR5QJD5SCWJiwg3eSATKWVtXGYeYb4ygjtaVoWZz8sR0dN3JC9M9l3O7DNOb08I0xWX9gWH05GZ4x3u+oGRdcDY/mhabnYIloLk7SnxqyM2b05IwiVX3hWT+SXrPOY+nDFdTPBTj2Djc+GM+eJ/2i3Y7Z4WNRh0WWuNalUPM/K+tUYZvluZtntrHt+212Z7D/8nhv9/APK6ANeDVL4iAAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"parallel-diagram\"\n        title=\"parallel-diagram\"\n        src=\"/static/08ab182d7686d7804387a0f4172f70af/e5715/parallel-diagram.png\"\n        srcset=\"/static/08ab182d7686d7804387a0f4172f70af/a6d36/parallel-diagram.png 650w,\n/static/08ab182d7686d7804387a0f4172f70af/e5715/parallel-diagram.png 768w,\n/static/08ab182d7686d7804387a0f4172f70af/d26aa/parallel-diagram.png 839w\"\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 think of a parallel execution model as multiple chefs individually each preparing a meal. These individual chefs may be preparing their dishes in a concurrent manner (like the above) or a sequential one; either way, the result is that rather than producing a single meal, the kitchen has prepared multiple meals over a unit of time.</p>\n<p>Modern browsers allow you to program parallelly by using Web Workers. These spawn separate threads to execute <a href=\"https://www.loginradius.com/blog/engineering/adding-multi-threading-to-javascript-using-web-workers/\">JavaScript independently from the main thread</a>.</p>\n<h2 id=\"concurrency-or-parallelism-which-one-is-better\" style=\"position:relative;\"><a href=\"#concurrency-or-parallelism-which-one-is-better\" aria-label=\"concurrency or parallelism which one is better 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>Concurrency or Parallelism which one is better?</h2>\n<p>So we've established that multiple chefs can get a kitchen to produce multiple dishes in the same amount of time as a single dish from a kitchen with a single chef. Modern hardware almost always has multiple threads, so why isn't all code run in parallel? If it takes one chef 10 minutes to prepare one stir-fry and five chefs 10 minutes to prepare five stir-fries, can five chefs produce one stir-fry in 2 minutes? This is where parallel computation can get difficult. </p>\n<p>Tasks can speed up by distributing the workload onto multiple threads. However, this requires splitting up the workload in a way that can work independently and effectively. Think of how five chefs would prepare a single stir fry together:</p>\n<ul>\n<li>For tasks like chopping up vegetables, spreading the workload would be simple.</li>\n<li>Tasks requiring the composition of ingredients would be a bottleneck. No matter how fast an individual can finish his prep of ingredients, they would have to wait until the other ingredients are ready before they can start. Certain tasks would not need all the chefs, and the rest would either stand idly by or be dismissed for doing other tasks. Requisitioning and dismissing chefs cost time and money. It may not be efficient only to call them up when they are needed.</li>\n<li>Have you tried managing five people? Planning would take additional time as each team member should have clear instructions and any clarifications. They might need to spend extra time communicating with each chef as they prepared each portion of the recipe.</li>\n</ul>\n<p>Similarly, on the computing side, parallel programming solutions are generally harder to implement and debug. Depending on the task, they can sometimes even perform worse than serially run counterparts due to the various costs of overhead (transferring data between threads, creating and destroying threads, synchronization of work, etc.).</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>To conclude this post, neither are inherently superior to the other. Both execution models are useful tools for producing efficient and reliable solutions and are used together in many cases. I hope this helps to clear up the differences between the two, or if not, at least provided a mildly entertaining analogy to illustrate each.</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 19, 2021","updated_date":null,"description":"Concurrence and parallelism in relation to multithreaded applications are two concepts sometimes used. The distinction between concurrency and parallelism is clarified in this tutorial.","title":"Concurrency vs Parallelism: What's the Difference?","tags":["Concurrency","Parallelism","Multithreading","JavaScript"],"pinned":null,"coverImage":{"childImageSharp":{"fluid":{"aspectRatio":1.5037593984962405,"src":"/static/c34eed6e80876a068d90b6b2d463b284/14b42/unsplash.jpg","srcSet":"/static/c34eed6e80876a068d90b6b2d463b284/f836f/unsplash.jpg 200w,\n/static/c34eed6e80876a068d90b6b2d463b284/2244e/unsplash.jpg 400w,\n/static/c34eed6e80876a068d90b6b2d463b284/14b42/unsplash.jpg 800w,\n/static/c34eed6e80876a068d90b6b2d463b284/47498/unsplash.jpg 1200w","sizes":"(max-width: 800px) 100vw, 800px"}}},"author":{"id":"Nick Chim","github":"nickc95","avatar":null}}}},{"node":{"excerpt":"Today, data breaches have become a significant threat to businesses across the globe.  Therefore, considering the long list of resultant…","fields":{"slug":"/identity/best-practices-business-resilience/"},"html":"<p>Today, data breaches have become a significant threat to businesses across the globe.  Therefore, considering the long list of resultant consequences to be faced as an aftermath, it is crucial for companies to come out the other side of a breach intact.</p>\n<p>The Annual Cybercrime Report  2019 by <a href=\"https://www.herjavecgroup.com/the-2019-official-annual-cybercrime-report/#:~:text=Cybersecurity%20Ventures%20has%20reaffirmed%20their,associated%20with%20cybercrime%20are%20vast.\">Cybersecurity Ventures</a> says that these data breaches can cost global businesses around $6 trillion in 2021!</p>\n<p>According to experts, implementing business resilience best practices can help companies overcome issues that come with a data breach.</p>\n<p>So, what is business resiliency? Why is it important for companies? How to implement business resiliency practices during a data breach?</p>\n<p>Read on!</p>\n<h2 id=\"what-are-the-business-impacts-of-a-data-breach\" style=\"position:relative;\"><a href=\"#what-are-the-business-impacts-of-a-data-breach\" aria-label=\"what are the business impacts of a data breach 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 the Business Impacts of a Data Breach</h2>\n<p>During a data breach, companies’ confidential data are accessed by attackers without permission.  It is not only about sensitive information going out to the wrong hands. These cyber attackers can also hack your database and conduct malicious activities, costing you both money and reputation. </p>\n<p>As per <a href=\"https://www.ibm.com/security/digital-assets/cost-data-breach-report/#/\">Cost of a Data Breach Report 2020</a> by IBM, the global average total cost of a data breach in 2020 was $3.86M. If this situation continues, by 2021, a business is expected to fall victim to a <a href=\"https://www.herjavecgroup.com/wp-content/uploads/2018/12/CV-HG-2019-Official-Annual-Cybercrime-Report.pdf\">ransomware attack every 11 seconds</a>. </p>\n<p>Now let’s consider some of the negative impacts of data breaches that make companies susceptible to financial and credibility loss.</p>\n<ul>\n<li>\n<p><strong>Finance and revenue loss</strong></p>\n<p>If your company is operating in regions with data protection legislation, you have to pay implied legal fees, regulatory fines, security expenses in case of a data breach.  It can cost you a lot if it is a non-compliant company. All these expenses come in addition to the financial damage you have faced because of revenue loss. </p>\n</li>\n<li>\n<p><strong>Brand’s reputation</strong></p>\n<p>According to 71% of CMOs, the most consequential cost of a company’s security data breach incident is the loss of its brand value. This could in turn affect the company’s reliability, thus having to struggle to find the best candidates, investors, and customers.</p>\n</li>\n<li>\n<p><strong>Consumer trust, retention and turnover</strong></p>\n<p><a href=\"https://www6.thalesgroup.com/2016-data-breaches-customer-loyalty-report-pr\">Seven out of ten consumers</a> believe <a href=\"https://www6.thalesgroup.com/2016-data-breaches-customer-loyalty-report-pr\">it is a company’s responsibility to secure their personal information</a>. So, when there is a data breach, and the consumer’s personal data is hacked, they will quickly lose trust in the business. This can result in losing the most loyal customers, even affecting customer turnover. It could worsen if the company is not ready to accept the responsibility for data breaches.</p>\n</li>\n</ul>\n<p>That’s why today, businesses are more focused on building a better security culture. According to Gartner forecasts, global spending on cybersecurity is expected to reach <a href=\"https://www.gartner.com/en/newsroom/press-releases/2018-08-15-gartner-forecasts-worldwide-information-security-spending-to-exceed-124-billion-in-2019\">$133.7 billion by 2022</a>. </p>\n<p>But, how effectively companies can deal with data breaches, especially in a hyper-connected world?</p>\n<p>To handle a data breach incident and the resulting loss of revenue and trust, every company should have an incident response plan with effective threat modeling. That’s where the idea of business reliance comes into the picture.</p>\n<h2 id=\"what-is-business-resiliency\" style=\"position:relative;\"><a href=\"#what-is-business-resiliency\" aria-label=\"what is business resiliency 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 Business Resiliency</h2>\n<p>Business resilience can be defined as a business’ ability to quickly adapt and respond to impending risks or disruptions. More like a combination of crisis management and business continuity strategies post-disaster. </p>\n<h2 id=\"why-is-business-resiliency-important-for-an-organization\" style=\"position:relative;\"><a href=\"#why-is-business-resiliency-important-for-an-organization\" aria-label=\"why is business resiliency important for an organization 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 Business Resiliency Important for an Organization</h2>\n<p>Business resilience has become an essential part of the business. Why? Because it saves businesses with its potential for higher recovery. </p>\n<p>Consider the unforeseen disasters, shifting market demands, and changing regulatory terms in today’s business world. In addition to these, there will be IT disruptions, sudden competitive movements, security threats like data breaches, etc. too. In order to survive all these unpredictable disruptions, businesses should achieve resilience at all means. </p>\n<p>For example, take a look at how businesses worldwide were affected by the COVID-19 pandemic. Only those organizations with <a href=\"https://www.mckinsey.com/business-functions/organization/our-insights/an-operating-model-for-the-next-normal-lessons-from-agile-organizations-in-the-crisis\">agile business resilience</a> planning were able to adapt and survive the COVID-19 challenges successfully. By adapting quickly to shifting business priorities, they are ready for the ‘new normal’ in the business battlefield.</p>\n<p>On the other side, business resilience best practices will assure that all your business activities comply with the latest industry standards and regulations. This will, in turn, improve your reliability, brand value, and reputation, especially in front of your stakeholders and customers. The resilience plans will also act as a blueprint of all your operations, giving you a head start. </p>\n<p>This can even cultivate a resilient organizational culture. It makes the whole business, including employees, quickly adapt to unforeseen challenges whenever the business operations or processes go awry. Or under threat like a data breach.</p>\n<p><a href=\"https://www.loginradius.com/resource/pii-data-breach-report/\"><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,iVBORw0KGgoAAAANSUhEUgAAABQAAAAGCAYAAADDl76dAAAACXBIWXMAAAsTAAALEwEAmpwYAAABbklEQVQY0zVRu04CURDdxMju8lhxDQFBQZTHwipGWEBgeQTMioDEDhNbC7ExNhTaGGMMhYmJX2BnYWzUmNhoaUNl4e8c516gOJm5MyfnzMwV5JgJBnu8DIdWgZPg0Mr8LcdKmPYZpEgRdr2O+WwX6kYdMuWSVoUcHfMkigJLmMCCXoUrWoBjLQ9XZBueVAO+9C6URJUTGU9co37KQrBxBH2nB9E4gG3dIqMCpImpMHUP51swrB40swtPsgwnCStkoCQqXJDBs2UhkN3DYtqCn2K40EEw36a8xTfiE07dl4ikmfuIFTvwb9bhWM2RaG4sODG1sQnpJN5MEz6jiUCuDZU2maX6VIcLsrvNxakQykAiiME0RIruWBFuvcbdhWUDZ1d3GP3+4en1E4/P74Q3fP+M8PLxxYWZ4ViQplCTFSh0O3klC1UrEUyEDAteWlOkz5gJ51E/7GNw+4DTyyH6F0OcEM6v73E8uIGSrHHeP40VwUsunXTsAAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"protecting-pii-against-data-breaches\"\n        title=\"protecting-pii-against-data-breaches\"\n        src=\"/static/3183d14f6c9662008b848dc5d81d718f/e5715/protecting-pii-against-data-breaches.png\"\n        srcset=\"/static/3183d14f6c9662008b848dc5d81d718f/a6d36/protecting-pii-against-data-breaches.png 650w,\n/static/3183d14f6c9662008b848dc5d81d718f/e5715/protecting-pii-against-data-breaches.png 768w,\n/static/3183d14f6c9662008b848dc5d81d718f/2bef9/protecting-pii-against-data-breaches.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=\"5-best-practices-of-implementing-business-resiliency-during-a-data-breach\" style=\"position:relative;\"><a href=\"#5-best-practices-of-implementing-business-resiliency-during-a-data-breach\" aria-label=\"5 best practices of implementing business resiliency during a data breach 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 Best Practices of Implementing Business Resiliency during a Data Breach</h2>\n<p>So, to overcome the after-effects of a data breach in your business, it is important to implement a business resiliency. </p>\n<p>How? We are going to see the best practices of implementing business resilience under a data breach occurrence:</p>\n<p><strong>1. Design a strong business resilience plan</strong></p>\n<p>Develop a reliable, self-healing, resilience easy to manage architecture. It should be designed in such a way that the business can access all its components during a data breach. </p>\n<p>A native high-availability clustering is needed. Because no matter how well you have come up with a crisis management and continuity plan, it will be of no use if it’s not available on demand.  </p>\n<p>So, it should be able to deploy quickly, with <a href=\"https://www.loginradius.com/scalability/\">high scalability and flexibility</a>.</p>\n<p><strong>2. Virtual Desktop Infrastructure (VDI)</strong></p>\n<p>Business resilience usually includes detailed planning and solutions to be implemented whenever an unexpected situation occurs, like a data breach. For this, companies use data centers, backups, and server virtualization. An example of this is the VDI. </p>\n<p>VDI makes sure that all the data is stored and accessed in the data center, not on the user’s device. This will eliminate the chances of <a href=\"https://www.loginradius.com/blog/identity/2019/01/how-do-i-know-if-my-email-has-been-leaked-in-a-data-breach/\">data being leaked</a> in case the device is stolen.</p>\n<p><strong>3. Ransomware protection</strong></p>\n<p>According to <a href=\"https://purplesec.us/resources/cyber-security-statistics/ransomware/\">Purplesec</a> 85% of security service providers, ransomware is one of the most common threats for small businesses. </p>\n<p>So, for ransomware protection and recovery as a part of business resilience during a data breach, you can make use of the following practices:</p>\n<ul>\n<li>Use a multi-faceted security solution</li>\n<li>Employ effective backup strategies like keeping a copy of the data </li>\n<li>Implement endpoint protection best practices and train the workforce to handle it </li>\n</ul>\n<p><strong>4. Personnel, training, and expertise</strong></p>\n<p>In the event of a data breach, the employees must have the required expertise for successfully executing the business resilience plans on time. </p>\n<p>To achieve this, there is a need for cross-training sections to be conducted. Some companies often choose to outsource all their IT operations to third-party service providers or consultants.</p>\n<p>But it is also important to have a good plan for survival, in case experts and trained personnel too are affected by the data breach disaster. </p>\n<p><strong>5. Creating a Disaster Recovery (DR) plan</strong></p>\n<p>During data breaches, businesses should come up with a plan to put the affected critical business systems back online as quickly as possible. This is important to avoid further damages. </p>\n<p>One of the best practices is to launch a secondary site as a stand-in for the primary data center.</p>\n<p>This Disaster Recovery (DR) site should have the following attributes:</p>\n<ul>\n<li>It should be geographically distant from the primary site</li>\n<li>Must have sufficient computing resources for handling\ncritical workload</li>\n<li>It should be easily manageable by the hosting provider. </li>\n</ul>\n<p>When a DR site is launched, the networking connectivity must be restored with the aid of IP address redirects or gateways. This way, the users can reconnect without changing their default settings. And it will be easier in the future to redirect them back to the primary data center when it is recovered.</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>A standard business resilience plan in the need of the hour. A recent study shows that the number of data breaches in 2020 almost doubled compared to that in 2019. The <a href=\"https://www.capita.com/sites/g/files/nginej146/files/2020-08/Ponemon-Global-Cost-of-Data-Breach-Study-2020.pdf\">average total cost of data breaches </a>in 2020 was $3.86 million. And it is expected to increase in the coming future too.</p>\n<p>So, it is important to implement fail-proof business resilience practices in your business to survive unexpected data breaches.</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,iVBORw0KGgoAAAANSUhEUgAAABQAAAAGCAYAAADDl76dAAAACXBIWXMAAAsSAAALEgHS3X78AAABdElEQVQY002RO0/CUBzFG6PtbZWHCAmRmBB5P8vDII9SSC0omog4oAEGjZMO6OKEuLjoJ2Fx0cSBwUQnXZxcHPwux38LJA7nNvfec8+5v1tOCCiwpbbhye2BxbYgBMtgIRVioDRRsARGXxZUzLlEHmehBaesQ4rrEMPViYf2DR9nDGKkChbVICVqsMt1WJI1sHCFwhUsUIFohJH49TxECvRUjhDW2mAbB5iP6hB8hUkhiRPN5KIZYJdrsEYrcCSpmQqMm6/m9ylUhSulY7N5ivROB3L9GOlGF3Ktbc4zuz341UPw/uIk0ESbBjoSGlYIx8BfzjSwVmyCEYEUUmCPa3Bnd+hwC75yC95S05SxbolU/iEbOCFCpDexEfIioTNCNd6Tp6IlMnNuGeeDe3z//OLx5RWj5zFGT2O8fXxh/P4Ja6w6vSEFCnTIlW2YiDzhzX7ATFKojDlvjpBPcDF4QPdyiG5/iE7/BmfXd+hd3VKpCoG8fzxWw2+c+yTpAAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"LoginRadius Book a Demo\"\n        title=\"LoginRadius Book a Demo\"\n        src=\"/static/fcc4c4b5dc38cc4528f99d09480f4eb2/e5715/book-a-demo-loginradius.png\"\n        srcset=\"/static/fcc4c4b5dc38cc4528f99d09480f4eb2/a6d36/book-a-demo-loginradius.png 650w,\n/static/fcc4c4b5dc38cc4528f99d09480f4eb2/e5715/book-a-demo-loginradius.png 768w,\n/static/fcc4c4b5dc38cc4528f99d09480f4eb2/63ff0/book-a-demo-loginradius.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<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 18, 2021","updated_date":null,"description":"Business resilience can be defined as a business’ ability to quickly adapt and respond to impending risks or disruptions. More like a combination of crisis management and business continuity strategies post-disaster.","title":"5 Best Practices of Implementing Business Resilience during a Data Breach","tags":["data security","resiliency","cx"],"pinned":null,"coverImage":{"childImageSharp":{"fluid":{"aspectRatio":1.6666666666666667,"src":"/static/f8f90d1304e6635ec63f053831227e9f/14b42/business-resilience.jpg","srcSet":"/static/f8f90d1304e6635ec63f053831227e9f/f836f/business-resilience.jpg 200w,\n/static/f8f90d1304e6635ec63f053831227e9f/2244e/business-resilience.jpg 400w,\n/static/f8f90d1304e6635ec63f053831227e9f/14b42/business-resilience.jpg 800w,\n/static/f8f90d1304e6635ec63f053831227e9f/16310/business-resilience.jpg 1024w","sizes":"(max-width: 800px) 100vw, 800px"}}},"author":{"id":"Rakesh Soni","github":"oyesoni","avatar":"rakesh-soni.jpg"}}}},{"node":{"excerpt":"Git is an important part of daily programming and is commonly used in the software industry. Since you can use a lot of different commands…","fields":{"slug":"/engineering/git-commands/"},"html":"<p>Git is an important part of daily programming and is commonly used in the software industry. Since you can use a lot of different commands, mastering Git needs time. But some commands are more commonly used. So I'm going to share the most useful Git commands in this post that every developer should know.</p>\n<p>But first you need to know the <a href=\"https://www.loginradius.com/blog/engineering/github-api/\">fundamentals of Git</a> to understand this article.</p>\n<h1 id=\"useful-git-commands-list\" style=\"position:relative;\"><a href=\"#useful-git-commands-list\" aria-label=\"useful git commands list 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>Useful Git Commands List</h1>\n<table>\n<thead>\n<tr>\n<th>Command</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>git init</code></td>\n<td>Initialize a local Git repository</td>\n</tr>\n<tr>\n<td><code>git clone repo_url</code></td>\n<td>Clone public repository</td>\n</tr>\n<tr>\n<td><code>git clone ssh://git@github.com/[username]/[repository-name].git</code></td>\n<td>Clone private repository</td>\n</tr>\n<tr>\n<td><code>git status</code></td>\n<td>Check status</td>\n</tr>\n<tr>\n<td><code>git add [file-name]</code></td>\n<td>Add a file to the staging area</td>\n</tr>\n<tr>\n<td><code>git add -A</code></td>\n<td>Add all new and changed files to the staging area</td>\n</tr>\n<tr>\n<td><code>git commit -m \"[commit message]\"</code></td>\n<td>Commit changes</td>\n</tr>\n<tr>\n<td><code>git rm -r [file-name.txt]</code></td>\n<td>Remove a file (or folder)</td>\n</tr>\n<tr>\n<td><code>git branch</code></td>\n<td>List of branches (the asterisk denotes the current branch)</td>\n</tr>\n<tr>\n<td><code>git branch -a</code></td>\n<td>List all branches (local and remote)</td>\n</tr>\n<tr>\n<td><code>git branch [branch name]</code></td>\n<td>Create a new branch</td>\n</tr>\n<tr>\n<td><code>git branch -d [branch name]</code></td>\n<td>Delete a branch</td>\n</tr>\n<tr>\n<td><code>git branch -D [branch name]</code></td>\n<td>Delete a branch forcefully</td>\n</tr>\n<tr>\n<td><code>git push origin --delete [branch name]</code></td>\n<td>Delete a remote branch</td>\n</tr>\n<tr>\n<td><code>git checkout -b [branch name]</code></td>\n<td>Create a new branch and switch to it</td>\n</tr>\n<tr>\n<td><code>git checkout -b [branch name] origin/[branch name]</code></td>\n<td>Clone a remote branch and switch to it</td>\n</tr>\n<tr>\n<td><code>git branch -m [old branch name] [new branch name]</code></td>\n<td>Rename a local branch</td>\n</tr>\n<tr>\n<td><code>git checkout [branch name]</code></td>\n<td>Switch to a branch</td>\n</tr>\n<tr>\n<td><code>git checkout -</code></td>\n<td>Switch to the branch last checked out</td>\n</tr>\n<tr>\n<td><code>git checkout -- [file-name.txt]</code></td>\n<td>Discard changes to a file</td>\n</tr>\n<tr>\n<td><code>git merge [branch name]</code></td>\n<td>Merge a branch into the active branch</td>\n</tr>\n<tr>\n<td><code>git merge [source branch] [target branch]</code></td>\n<td>Merge a branch into a target branch</td>\n</tr>\n<tr>\n<td><code>git stash</code></td>\n<td>Stash changes in a dirty working directory</td>\n</tr>\n<tr>\n<td><code>git stash clear</code></td>\n<td>Remove all stashed entries</td>\n</tr>\n<tr>\n<td><code>git push origin [branch name]</code></td>\n<td>Push a branch to your remote repository</td>\n</tr>\n<tr>\n<td><code>git push -u origin [branch name]</code></td>\n<td>Push changes to remote repository (and remember the branch)</td>\n</tr>\n<tr>\n<td><code>git push</code></td>\n<td>Push changes to remote repository (remembered branch)</td>\n</tr>\n<tr>\n<td><code>git push origin --delete [branch name]</code></td>\n<td>Delete a remote branch</td>\n</tr>\n<tr>\n<td><code>git pull</code></td>\n<td>Update local repository to the newest commit</td>\n</tr>\n<tr>\n<td><code>git pull origin [branch name]</code></td>\n<td>Pull changes from remote repository</td>\n</tr>\n<tr>\n<td><code>git remote add origin ssh://git@github.com/[username]/[repository-name].git</code></td>\n<td>Add a remote repository</td>\n</tr>\n<tr>\n<td><code>git remote set-url origin ssh://git@github.com/[username]/[repository-name].git</code></td>\n<td>Set a repository's origin branch to SSH</td>\n</tr>\n<tr>\n<td><code>git log</code></td>\n<td>View changes</td>\n</tr>\n<tr>\n<td><code>git log --summary</code></td>\n<td>View changes (detailed)</td>\n</tr>\n<tr>\n<td><code>git log --oneline</code></td>\n<td>View changes (briefly)</td>\n</tr>\n<tr>\n<td><code>git diff [source branch] [target branch]</code></td>\n<td>Preview changes before merging</td>\n</tr>\n<tr>\n<td><code>git revert commitid</code></td>\n<td>Revert commit changes</td>\n</tr>\n<tr>\n<td><code>git config --global user.name \"your_username\"</code></td>\n<td>Set globally Username</td>\n</tr>\n<tr>\n<td><code>git config --global user.email \"your_email_address@example.com\"</code></td>\n<td>Set globally Email id</td>\n</tr>\n<tr>\n<td><code>git config --global --list</code></td>\n<td>Get global config</td>\n</tr>\n</tbody>\n</table>\n<p>So these are the most helpful git commands I find in my everyday programming. There are several more things to learn about Git, I will explain them in a separate post.</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 17, 2021","updated_date":null,"description":"In this article, I will talk about the Git Commands that you will be using often when you are working with Git.","title":"35+ Git Commands List Every Programmer Should Know","tags":["GIT"],"pinned":null,"coverImage":{"childImageSharp":{"fluid":{"aspectRatio":1.5037593984962405,"src":"/static/dcc4ef7c6f6e2161d168898cf518845d/ee604/git.png","srcSet":"/static/dcc4ef7c6f6e2161d168898cf518845d/69585/git.png 200w,\n/static/dcc4ef7c6f6e2161d168898cf518845d/497c6/git.png 400w,\n/static/dcc4ef7c6f6e2161d168898cf518845d/ee604/git.png 800w,\n/static/dcc4ef7c6f6e2161d168898cf518845d/f3583/git.png 1200w","sizes":"(max-width: 800px) 100vw, 800px"}}},"author":{"id":"Abhimanyu Singh Rathore","github":"abhir9","avatar":null}}}},{"node":{"excerpt":"Introduction No matter what online platforms or applications you use, you are never fully protected against cyberattacks. Statistics provide…","fields":{"slug":"/identity/what-is-broken-authentication/"},"html":"<h2 id=\"introduction\" style=\"position:relative;\"><a href=\"#introduction\" aria-label=\"introduction 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>Introduction</h2>\n<p>No matter what online platforms or applications you use, you are never fully protected against cyberattacks.</p>\n<p>Statistics provide testimony to this fact as the number of <a href=\"https://www.theweek.in/news/biz-tech/2020/11/17/india-sees-37-increase-in-data-breaches-cyber-attacks-this-year.html#:~:text=Data%20breaches%20have%20shown%20a,of%202020%20compared%20to%202019.&#x26;text=%E2%80%9CIn%20India%2C%20data%20breaches%20have,breaches%20are%20invariably%20not%20reported.\">data breaches rose by 37% in 2020 </a>compared to 2019, and the trend is only increasing. </p>\n<p>The first step to protect your organization against such attacks is to have a comprehensive understanding of the issue.</p>\n<p>Let us begin by figuring out what is broken authentication.</p>\n<p>Very simply put, when the hacker gains access into the system admin's account by using the online platform's vulnerabilities, particularly in two areas: credential management and session management, it's referred to as broken authentication.</p>\n<p>Authentication protects a consumer's identity by allowing only a verified user to enter into the system. But there are numerous ways through which the hacker impersonates the consumer and enters inside the system. </p>\n<p>The weaknesses inherent in the system, as mentioned above, can be divided into two different groups, namely poor credential management and poor session management.  </p>\n<h2 id=\"what-is-broken-authentication-and-session-management\" style=\"position:relative;\"><a href=\"#what-is-broken-authentication-and-session-management\" aria-label=\"what is broken authentication and session 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 Broken Authentication and Session Management?</h2>\n<p>Broken Authentication and Session Management is a security vulnerability that occurs when the authentication and session management mechanisms of a web application are flawed or improperly implemented.</p>\n<p>Authentication refers to the process of verifying the identity of users, typically through usernames and passwords, while session management involves maintaining and controlling the user's session after authentication. </p>\n<p>When these mechanisms are compromised or misconfigured, attackers can exploit the vulnerabilities to gain unauthorized access to user accounts, impersonate other users, or hijack sessions. This can lead to severe security breaches and expose sensitive user information.</p>\n<h2 id=\"what-are-the-risks-of-broken-authentication\" style=\"position:relative;\"><a href=\"#what-are-the-risks-of-broken-authentication\" aria-label=\"what are the risks of broken 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>What are the Risks of Broken Authentication?</h2>\n<p>The risks associated with broken authentication are profound and can have detrimental effects on individuals and organizations:</p>\n<h3 id=\"unauthorized-access-to-sensitive-information\" style=\"position:relative;\"><a href=\"#unauthorized-access-to-sensitive-information\" aria-label=\"unauthorized access to sensitive information 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>Unauthorized Access to Sensitive Information</h3>\n<p>When attackers exploit broken authentication vulnerabilities, they can gain access to sensitive data such as personal information, financial details, or intellectual property. This unauthorized access can lead to data breaches and privacy violations.</p>\n<h3 id=\"manipulation-or-deletion-of-user-data\" style=\"position:relative;\"><a href=\"#manipulation-or-deletion-of-user-data\" aria-label=\"manipulation or deletion of user data 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>Manipulation or Deletion of User Data</h3>\n<p>Once inside the system, attackers can manipulate or delete user data, causing disruptions to services, loss of important information, and potential legal ramifications.</p>\n<h3 id=\"impersonation-of-legitimate-users\" style=\"position:relative;\"><a href=\"#impersonation-of-legitimate-users\" aria-label=\"impersonation of legitimate users 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>Impersonation of Legitimate Users</h3>\n<p>By hijacking user sessions or impersonating legitimate users, attackers can carry out fraudulent activities on behalf of the compromised accounts. This could include fraudulent transactions, spreading misinformation, or performing actions that tarnish the reputation of the affected individuals or organizations.</p>\n<h3 id=\"escalation-of-privileges\" style=\"position:relative;\"><a href=\"#escalation-of-privileges\" aria-label=\"escalation of privileges 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>Escalation of Privileges</h3>\n<p>If the compromised account belongs to an administrator or privileged user, attackers can escalate their privileges within the application. This can lead to complete system compromise and greater control over critical functions.</p>\n<h3 id=\"financial-losses-and-legal-consequences\" style=\"position:relative;\"><a href=\"#financial-losses-and-legal-consequences\" aria-label=\"financial losses and legal consequences 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>Financial Losses and Legal Consequences</h3>\n<p>The aftermath of a broken authentication attack can result in financial losses for businesses, especially if customer trust is compromised. Moreover, organizations may face legal consequences for failing to protect user data adequately.</p>\n<h2 id=\"how-to-prevent-broken-authentication\" style=\"position:relative;\"><a href=\"#how-to-prevent-broken-authentication\" aria-label=\"how to prevent broken 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>How to Prevent Broken Authentication?</h2>\n<p>Preventing broken authentication requires a multifaceted approach that addresses vulnerabilities at various stages of the authentication and session management processes. Here are some effective strategies:</p>\n<h3 id=\"1-implement-multi-factor-authentication-mfa\" style=\"position:relative;\"><a href=\"#1-implement-multi-factor-authentication-mfa\" aria-label=\"1 implement 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>1. Implement Multi-Factor Authentication (MFA)</h3>\n<ul>\n<li>MFA adds an extra layer of security by requiring users to provide two or more forms of verification. This could include a one-time password (OTP) sent via email or SMS, a biometric scan, or a hardware token.</li>\n<li>MFA mitigates the risks of brute-force attacks, credential stuffing, and stolen credential reuse.</li>\n</ul>\n<h3 id=\"2-enforce-strong-password-policies\" style=\"position:relative;\"><a href=\"#2-enforce-strong-password-policies\" aria-label=\"2 enforce strong password 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>2. Enforce Strong Password Policies</h3>\n<ul>\n<li>Require users to create strong passwords that include a mix of lowercase and uppercase letters, numbers, and special characters.</li>\n<li>Follow industry standards such as NIST 800-63 B's guidelines for memorized secrets.</li>\n<li>Regularly educate users on the importance of creating unique and robust passwords.</li>\n</ul>\n<h3 id=\"3-limit-failed-login-attempts\" style=\"position:relative;\"><a href=\"#3-limit-failed-login-attempts\" aria-label=\"3 limit failed login attempts 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. Limit Failed Login Attempts</h3>\n<ul>\n<li>Implement a system that locks out user accounts after a specified number of failed login attempts (e.g., 3 or 5).</li>\n<li>Notify system administrators of potential brute-force attacks or suspicious login activity.</li>\n</ul>\n<h3 id=\"4-secure-session-management\" style=\"position:relative;\"><a href=\"#4-secure-session-management\" aria-label=\"4 secure session 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>4. Secure Session Management</h3>\n<ul>\n<li>Generate new, random session IDs with high entropy after each login.</li>\n<li>Ensure that session IDs are not exposed in URLs and are invalidated after users log out.</li>\n<li>Implement proper session expiration policies to prevent sessions from remaining active indefinitely.</li>\n</ul>\n<h3 id=\"5-secure-credential-management\" style=\"position:relative;\"><a href=\"#5-secure-credential-management\" aria-label=\"5 secure credential 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>5. Secure Credential Management</h3>\n<ul>\n<li>Store user credentials securely using strong hashing algorithms such as bcrypt or Argon2.</li>\n<li>Avoid storing passwords in plain text or using weak encryption methods like base64.</li>\n<li>Implement salted hashing to make password cracking more challenging, even if multiple users have the same password.</li>\n</ul>\n<h3 id=\"6-regular-security-audits-and-updates\" style=\"position:relative;\"><a href=\"#6-regular-security-audits-and-updates\" aria-label=\"6 regular security audits and updates 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. Regular Security Audits and Updates</h3>\n<ul>\n<li>Conduct regular security audits to identify and address vulnerabilities in the authentication process.</li>\n<li>Stay up-to-date with security patches and updates for the web application and underlying frameworks.</li>\n</ul>\n<h2 id=\"what-are-some-examples-of-broken-authentication-vulnerability\" style=\"position:relative;\"><a href=\"#what-are-some-examples-of-broken-authentication-vulnerability\" aria-label=\"what are some examples of broken authentication vulnerability 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 Some Examples of Broken Authentication Vulnerability?</h2>\n<p>There are several examples of broken authentication vulnerability that highlight the potential risks. One common example is weak or easily guessable passwords, such as \"123456\" or \"password,\" which can be exploited by attackers.</p>\n<p>Another example is the lack of proper session expiration, where user sessions remain active even after a user logs out, allowing an attacker to reuse the session and gain unauthorized access. </p>\n<p>Additionally, if an application does not implement measures to prevent brute-force attacks, attackers can repeatedly guess usernames and passwords until they find a valid combination. Inadequate protection against account lockouts, session hijacking, or session fixation are also examples of broken authentication vulnerabilities.</p>\n<h2 id=\"what-scenarios-can-cause-broken-authentication\" style=\"position:relative;\"><a href=\"#what-scenarios-can-cause-broken-authentication\" aria-label=\"what scenarios can cause broken 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>What Scenarios Can Cause Broken Authentication?</h2>\n<p>As mentioned earlier, the primary reasons for broken authentication. Let’s understand them one by one.</p>\n<h3 id=\"1-poor-credential-management\" style=\"position:relative;\"><a href=\"#1-poor-credential-management\" aria-label=\"1 poor credential 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>1. Poor credential management</h3>\n<p>Consumer credentials can be hijacked to gain access to the system. There are various ways that the hacker can steal critical information, such as the following:</p>\n<ul>\n<li><strong>Weak passwords</strong>: The consumer creates a weak password like '12345' or 'pass123'. The hacker can use various password cracking techniques like rainbow tables and dictionaries to gain access to the system.</li>\n<li><strong>Weak cryptography</strong>: Using weak encryption techniques like base64 and weak hashing algorithms like SHA1 and MD5 make credentials vulnerable. Which is why they must be stored using strong hashing algorithms that make password cracking challenging. </li>\n</ul>\n<h3 id=\"2-poor-session-management\" style=\"position:relative;\"><a href=\"#2-poor-session-management\" aria-label=\"2 poor session 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>2. Poor session management</h3>\n<p>Let’s assume you like playing online games. You log in to the application and make several interactions with the network. </p>\n<p>The application issues a session ID whenever you log in and records all your interactions. It is through this ID that the application communicates with you and responds to all your requests. </p>\n<p>The <a href=\"https://owasp.org/www-project-top-ten/2017/A2_2017-Broken_Authentication\">OWASP broken authentication</a> recommendations state that this session ID is equivalent to your original login credentials. If hackers steal your session ID, they can sign in by impersonating your identity. This is known as session hijacking.  </p>\n<p>The following points list the scenarios that can cause broken authentication.</p>\n<ul>\n<li>Weak usernames and passwords.</li>\n<li>Session fixation attacks.</li>\n<li>URL rewriting.</li>\n<li>Consumer identity details aren't protected when stored.</li>\n<li>Consumer identity details are transferred over unencrypted connections.</li>\n</ul>\n<h2 id=\"what-is-the-impact-of-broken-authentication-and-session-management\" style=\"position:relative;\"><a href=\"#what-is-the-impact-of-broken-authentication-and-session-management\" aria-label=\"what is the impact of broken authentication and session 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 the Impact of Broken Authentication and Session Management?</h2>\n<p>If a hacker successfully logs in by stealing your credentials using any of the above mentioned broken authentication techniques, they can misuse your privileges and impact your company's sustainability. </p>\n<p>Cybercriminals can have various intentions of <a href=\"https://www.loginradius.com/blog/identity/2021/01/7-web-app-sec-threats/\">hijacking your web application</a>, such as:</p>\n<ul>\n<li>Stealing critical business data</li>\n<li>Identity theft</li>\n<li>Sending fraud calls or emails.</li>\n<li>Creating malicious software programs for disrupting networks.</li>\n<li>Cyber terrorism</li>\n<li>Cyberstalking</li>\n<li>Selling illegal items on the dark web</li>\n<li>Sharing fake news on social media</li>\n</ul>\n<p>In short, hackers can use broken authentication attacks and session hijacking to gain access to the system by forging session data, such as cookies, and stealing login credentials. </p>\n<p>Thus, it would be best if you never compromised with your web applications' security. </p>\n<h3 id=\"a-few-examples-of-broken-authentication\" style=\"position:relative;\"><a href=\"#a-few-examples-of-broken-authentication\" aria-label=\"a few examples of broken 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>A Few Examples of Broken Authentication</h3>\n<p>Here are a few examples of broken authentication.</p>\n<h4 id=\"example-1-credential-stuffing\" style=\"position:relative;\"><a href=\"#example-1-credential-stuffing\" aria-label=\"example 1 credential stuffing 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>Example 1: Credential Stuffing</h4>\n<p>Suppose you run a departmental store and sell groceries. To grow your business rapidly, you implement a CRM system that stores critical customer data, such as name, phone number, username, and password. </p>\n<p>Hackers make their way inside the CRM system and steal all the data. They then use the same credentials — usernames and passwords — to hack into the central bank's database. </p>\n<p>In this case, hackers are trying to successfully log in to the central bank's database by hoping that a handful of consumers must be using the same credentials at both places. Such kinds of broken authentication attacks are called <a href=\"https://www.loginradius.com/blog/identity/2019/09/prevent-credential-stuffing-attacks/\">credential stuffing</a>.</p>\n<h4 id=\"example-2-application-session-timeouts-arent-set-properly\" style=\"position:relative;\"><a href=\"#example-2-application-session-timeouts-arent-set-properly\" aria-label=\"example 2 application session timeouts arent set properly 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>Example 2: Application session timeouts aren't set properly.</h4>\n<p>Suppose you go to a cyber cafe and login your Gmail account. After sending the email, you close the browser tab and return home. </p>\n<p>Sometime later, the hacker opens your Gmail account and gains access to your crucial information. It happens because your credentials — username and password — haven't been invalidated adequately during logout. </p>\n<p>Thus, if the application session timeouts aren't set properly, hackers can execute a broken authentication attack.</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,iVBORw0KGgoAAAANSUhEUgAAABQAAAAGCAYAAADDl76dAAAACXBIWXMAAAsSAAALEgHS3X78AAABaElEQVQY002QTUsCYRSFJUjHd8Y0TSpkFMaPzG/wY2Yc09TRIi2oFkUWBO0KrE07c9OqX1KbFrWJIoJo5aZlixb9ldOdMbXFgct77vvce67FHinBEFtaAR8tQyDxVDPj7c8biQsVweI1zCnb8KTqsCd0cNEKuLAGzvBJlhHMHa/AEVbBpAIckSK8aR3uRBWu+Kr5wQSGi+CTDYjVfcT1PTB5B7ZkE2zsa0OgUUhKC/JGB6naLgK5NQTy6+BDCmaWy+QPe4wEotyCL7cOb6YBX5b6lDbcKX081DIq5tN1iNkm/NTsiZUxGy1BCCpwxirjyNagSp/r8KubBG5DJNgC9ZuR/wONyY6IhmkxC0Z3sgbyECgek2QTKNCWlsUMzno3+Pr+wf3TG24fnnH3+IL3wSdePwZw0XmsweIE6KSNbJIKe0gjqAqOYEyabDgVKEDeOsYpQQ/P+zjo9tDpXuHk8hpHF31zqI1Yv+SkwLSl98KVAAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"buyer-guide-to-multi-factor-authentication-ebook\"\n        title=\"buyer-guide-to-multi-factor-authentication-ebook\"\n        src=\"/static/dce0b5caab393383c0c906c5653faa64/e5715/buyer-guide-to-multi-factor-authentication-ebook.png\"\n        srcset=\"/static/dce0b5caab393383c0c906c5653faa64/a6d36/buyer-guide-to-multi-factor-authentication-ebook.png 650w,\n/static/dce0b5caab393383c0c906c5653faa64/e5715/buyer-guide-to-multi-factor-authentication-ebook.png 768w,\n/static/dce0b5caab393383c0c906c5653faa64/63ff0/buyer-guide-to-multi-factor-authentication-ebook.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<h4 id=\"example-3-passwords-are-not-properly-hashed-and-salted\" style=\"position:relative;\"><a href=\"#example-3-passwords-are-not-properly-hashed-and-salted\" aria-label=\"example 3 passwords are not properly hashed and salted 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>Example 3: Passwords are not properly hashed and salted.</h4>\n<p>Look at the names and their hashes in the following table:</p>\n<table>\n  <tr>\n   <td>Alice\n   </td>\n   <td>4420d1918bbcf7686defdf9560bb5087d20076de5f77b7cb4c3b40bf46ec428b\n   </td>\n  </tr>\n  <tr>\n   <td>Bob\n   </td>\n   <td>4420d1918bbcf7686defdf9560bb5087d20076de5f77b7cb4c3b40bf46ec428b\n   </td>\n  </tr>\n  <tr>\n   <td>Mike\n   </td>\n   <td>77b177de23f81d37b5b4495046b227befa4546db63cfe6fe541fc4c3cd216eb9\n   </td>\n  </tr>\n</table>\n<p>The hash function stores passwords in the form of a hash instead of plain text, which humans can easily read. But if two different users enter the same password, then their hashes will be exactly the same. </p>\n<p>Hackers can perform a dictionary attack and if they crack one password, they can use the same password for gaining access to other accounts that use the same hash. </p>\n<p>To prevent this from happening, you must salt the passwords. A salt is a random value that is either appended or prepended to the password and makes it unique. So even if two different users use the same password, their hashes will not be the same. </p>\n<h2 id=\"how-to-prevent-broken-authentication-1\" style=\"position:relative;\"><a href=\"#how-to-prevent-broken-authentication-1\" aria-label=\"how to prevent broken authentication 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>How to Prevent Broken Authentication?</h2>\n<p>The following are the ways of preventing broken authentication attacks:</p>\n<ol>\n<li>Implement <a href=\"https://www.loginradius.com/blog/identity/2019/06/what-is-multi-factor-authentication/\">multi-factor authentication (MFA) </a>to verify the consumer's identity. Examples include One-Time Password (OTP) messaged or emailed to the user. This step will prevent brute force attacks, credential stuffing, and stolen credential reuse attacks.</li>\n<li>Use weak-password checks by forcing users to include a mix of small letters, capital letters, alphanumeric symbols, and special characters while creating passwords. It would be best to follow <a href=\"https://pages.nist.gov/800-63-3/sp800-63b.html\">NIST 800-63 B's guidelines</a> in section 5.1.1 for memorized secrets.</li>\n<li>Place a limit on failed login attempts to 3 or a maximum of 5. Alert the system admin if you detect an attack — brute force, credential stuffing, or any other attack.</li>\n<li>Ensure that credential recovery, registration, and API pathways are not vulnerable to account enumeration attacks by using the same message for each outcome. </li>\n<li>Generating new random session IDs with high entropy after <a href=\"https://www.loginradius.com/blog/identity/2020/12/login-security/\">login protects against hackers</a>. Remember, those session IDs should not be present in the URL and invalidated after logout.</li>\n</ol>\n<h2 id=\"impact-of-broken-authentication\" style=\"position:relative;\"><a href=\"#impact-of-broken-authentication\" aria-label=\"impact of broken 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>Impact of Broken Authentication</h2>\n<p>The impact of broken authentication can be severe and far-reaching. When attackers successfully exploit these vulnerabilities, they can gain unauthorized access to user accounts, leading to various consequences. </p>\n<p>This may include unauthorized access to sensitive information, such as personal data, financial details, or intellectual property. Attackers can also manipulate or delete user data, impersonate legitimate users, perform fraudulent transactions, or even escalate their privileges within the application.</p>\n<p>Furthermore, if the compromised account belongs to an administrator or privileged user, the impact can be even more significant, potentially compromising the entire system or network. Broken authentication vulnerabilities can tarnish an organization's reputation, result in financial losses, and expose users to identity theft and other cybercrimes.</p>\n<h2 id=\"how-loginradius-protects-against-broken-authentication\" style=\"position:relative;\"><a href=\"#how-loginradius-protects-against-broken-authentication\" aria-label=\"how loginradius protects against broken 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>How LoginRadius Protects Against Broken Authentication?</h2>\n<p>LoginRadius has been at the forefront of offering a multilevel security web app environment. Here is how LoginRadius applications protect against broken authentication:</p>\n<ul>\n<li>End-to-end SSL encryption for data in transit and ensures protection against unauthorized access. </li>\n<li>Multi-factor authentication to eliminate the risk of being exposed to attacks.</li>\n<li>One-way hashing of passwords considerably improves consumer security.</li>\n<li>Single sign-on (SSO) solution allows users to use the same profile to log in everywhere.</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>Apart from the steps mentioned in this article, it's essential to train and educate your employees about broken authentication attacks. It would be best if you also employed <a href=\"https://www.loginradius.com/blog/identity/2019/10/cybersecurity-best-practices-for-enterprises/\">top-notch cybersecurity measures</a> to protect your company's database from session hijacking, credential stuffing, and other broken authentication attacks. </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>1. What are the solutions for broken authentication?</strong></p>\n<p> Solutions include implementing Multi-Factor Authentication (MFA), enforcing strong password policies, limiting failed login attempts, securing session management, and regular security audits.</p>\n<p><strong>2.  What is broken access authentication?</strong></p>\n<p> Broken access authentication refers to vulnerabilities in the authentication process that allow unauthorized access to user accounts, often due to flawed or improperly implemented authentication mechanisms.</p>\n<p><strong>3. What can prevent authentication failures?</strong></p>\n<p>Preventative measures include MFA implementation, enforcing strong password policies, limiting failed login attempts, securing session management, and using secure hashing algorithms.</p>\n<p><strong>4. What is a broken authentication guessable password?</strong></p>\n<p>It refers to weak or easily guessed passwords like \"123456\" or \"password,\" which are vulnerable to exploitation by attackers, leading to compromised accounts.</p>\n<p><strong>5. What are the risks of broken authentication?</strong></p>\n<p>Risks include unauthorized access to sensitive data, manipulation or deletion of user data, impersonation of legitimate users, escalation of privileges, financial losses, and legal consequences.</p>\n<p><strong>6. What are the effects of broken authentication attacks?</strong></p>\n<p>Effects include data breaches, privacy violations, fraudulent activities on compromised accounts, tarnished reputation for individuals or organizations, financial losses, and potential legal ramifications.</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,iVBORw0KGgoAAAANSUhEUgAAABQAAAAGCAYAAADDl76dAAAACXBIWXMAAAsSAAALEgHS3X78AAABdElEQVQY002RO0/CUBzFG6PtbZWHCAmRmBB5P8vDII9SSC0omog4oAEGjZMO6OKEuLjoJ2Fx0cSBwUQnXZxcHPwux38LJA7nNvfec8+5v1tOCCiwpbbhye2BxbYgBMtgIRVioDRRsARGXxZUzLlEHmehBaesQ4rrEMPViYf2DR9nDGKkChbVICVqsMt1WJI1sHCFwhUsUIFohJH49TxECvRUjhDW2mAbB5iP6hB8hUkhiRPN5KIZYJdrsEYrcCSpmQqMm6/m9ylUhSulY7N5ivROB3L9GOlGF3Ktbc4zuz341UPw/uIk0ESbBjoSGlYIx8BfzjSwVmyCEYEUUmCPa3Bnd+hwC75yC95S05SxbolU/iEbOCFCpDexEfIioTNCNd6Tp6IlMnNuGeeDe3z//OLx5RWj5zFGT2O8fXxh/P4Ja6w6vSEFCnTIlW2YiDzhzX7ATFKojDlvjpBPcDF4QPdyiG5/iE7/BmfXd+hd3VKpCoG8fzxWw2+c+yTpAAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"LoginRadius Book a Demo\"\n        title=\"LoginRadius Book a Demo\"\n        src=\"/static/fcc4c4b5dc38cc4528f99d09480f4eb2/e5715/book-a-demo-loginradius.png\"\n        srcset=\"/static/fcc4c4b5dc38cc4528f99d09480f4eb2/a6d36/book-a-demo-loginradius.png 650w,\n/static/fcc4c4b5dc38cc4528f99d09480f4eb2/e5715/book-a-demo-loginradius.png 768w,\n/static/fcc4c4b5dc38cc4528f99d09480f4eb2/63ff0/book-a-demo-loginradius.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<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 17, 2021","updated_date":null,"description":"If a hacker successfully logs with stolen credentials, they can misuse your privileges and impact your company's sustainability. Authentication protects a consumer's identity by allowing only a verified user to enter into the system. But there are numerous ways through which a hacker can impersonate consumers and enter inside the system.","title":"What is Broken Authentication Vulnerability and How to Prevent It?","tags":["broken authentication","mfa","data security"],"pinned":null,"coverImage":{"childImageSharp":{"fluid":{"aspectRatio":1.5037593984962405,"src":"/static/0005ff61c9196311b738904dc2cef6f2/33aa5/broken-auth.jpg","srcSet":"/static/0005ff61c9196311b738904dc2cef6f2/f836f/broken-auth.jpg 200w,\n/static/0005ff61c9196311b738904dc2cef6f2/2244e/broken-auth.jpg 400w,\n/static/0005ff61c9196311b738904dc2cef6f2/33aa5/broken-auth.jpg 768w","sizes":"(max-width: 768px) 100vw, 768px"}}},"author":{"id":"Rakesh Soni","github":"oyesoni","avatar":"rakesh-soni.jpg"}}}}]},"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":582,"currentPage":98,"type":"///","numPages":161,"pinned":"ee8a4479-3471-53b1-bf62-d0d8dc3faaeb"}},"staticQueryHashes":["1171199041","1384082988","2100481360","23180105","528864852"]}