<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:atom="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss/" version="2.0">
    <channel>
        
        <title>
            <![CDATA[ privacy - freeCodeCamp.org ]]>
        </title>
        <description>
            <![CDATA[ Browse thousands of programming tutorials written by experts. Learn Web Development, Data Science, DevOps, Security, and get developer career advice. ]]>
        </description>
        <link>https://www.freecodecamp.org/news/</link>
        <image>
            <url>https://cdn.freecodecamp.org/universal/favicons/favicon.png</url>
            <title>
                <![CDATA[ privacy - freeCodeCamp.org ]]>
            </title>
            <link>https://www.freecodecamp.org/news/</link>
        </image>
        <generator>Eleventy</generator>
        <lastBuildDate>Sun, 07 Jun 2026 22:33:44 +0000</lastBuildDate>
        <atom:link href="https://www.freecodecamp.org/news/tag/privacy/rss.xml" rel="self" type="application/rss+xml" />
        <ttl>60</ttl>
        
            <item>
                <title>
                    <![CDATA[ How to Protect Your Privacy Online in 2026 ]]>
                </title>
                <description>
                    <![CDATA[ Online privacy has never been more talked about, yet it has never been more misunderstood. In 2026, most people believe they are “covered” because they use a VPN, browse in incognito mode, or occasion ]]>
                </description>
                <link>https://www.freecodecamp.org/news/how-to-protect-your-privacy-online-in-2026/</link>
                <guid isPermaLink="false">6a0c88ab88372774116b600b</guid>
                
                    <category>
                        <![CDATA[ privacy ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Security ]]>
                    </category>
                
                    <category>
                        <![CDATA[ cybersecurity ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Manish Shivanandhan ]]>
                </dc:creator>
                <pubDate>Tue, 19 May 2026 15:58:35 +0000</pubDate>
                <media:content url="https://cdn.hashnode.com/uploads/covers/5fc16e412cae9c5b190b6cdd/99ba3119-3b43-45d9-bcef-e3024b92b1a0.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>Online privacy has never been more talked about, yet it has never been more misunderstood.</p>
<p>In 2026, most people believe they are “covered” because they use a VPN, browse in incognito mode, or occasionally decline cookies. These actions create a sense of control, but they only address a small part of the problem.</p>
<p>The reality is more complex. Privacy today is not about a single tool or setting. It is about how data flows across systems, how identity is inferred, and how behavior is tracked even when you think you are anonymous.</p>
<blockquote>
<p>“<em>Arguing that you don't care about the right to privacy because you have nothing to hide is no different than saying you don't care about free speech because you have nothing to say.</em>”<br>Source: <a href="https://www.theguardian.com/us-news/video/2015/may/22/edward-snowden-rights-to-privacy-video">The Guardian</a></p>
</blockquote>
<p>If you want real protection, you need to understand what actually works and what only creates the illusion of safety.</p>
<h2 id="heading-table-of-contents">Table of Contents</h2>
<ul>
<li><p><a href="#heading-privacy-is-no-longer-about-hiding-your-ip">Privacy Is No Longer About Hiding Your IP</a></p>
</li>
<li><p><a href="#heading-the-illusion-of-incognito-mode">The Illusion of Incognito Mode</a></p>
</li>
<li><p><a href="#heading-the-rise-of-first-party-tracking">The Rise of First-Party Tracking</a></p>
</li>
<li><p><a href="#heading-encryption-still-matters-but-it-is-not-enough">Encryption Still Matters, But It Is Not Enough</a></p>
</li>
<li><p><a href="#heading-devices-are-the-new-weak-point">Devices Are the New Weak Point</a></p>
</li>
<li><p><a href="#heading-behavioral-data-is-the-real-commodity">Behavioral Data Is the Real Commodity</a></p>
</li>
<li><p><a href="#heading-where-vpns-actually-fit">Where VPNs Actually Fit</a></p>
</li>
<li><p><a href="#heading-identity-is-the-core-problem">Identity Is the Core Problem</a></p>
</li>
<li><p><a href="#heading-regulation-helps-but-it-has-limits">Regulation Helps, But It Has Limits</a></p>
</li>
<li><p><a href="#heading-what-actually-protects-you">What Actually Protects You</a></p>
</li>
<li><p><a href="#heading-the-trade-offs-are-real">The Trade-Offs Are Real</a></p>
</li>
<li><p><a href="#heading-the-future-of-privacy">The Future of Privacy</a></p>
</li>
<li><p><a href="#heading-closing-perspective">Closing Perspective</a></p>
</li>
</ul>
<h2 id="heading-privacy-is-no-longer-about-hiding-your-ip"><strong>Privacy Is No Longer About Hiding Your IP</strong></h2>
<p>A decade ago, privacy conversations centered on IP addresses. If you could mask your IP, you were considered relatively anonymous. That model is outdated.</p>
<p>Modern tracking systems rely on <a href="https://developer.mozilla.org/en-US/docs/Glossary/Fingerprinting">fingerprinting</a>. Your browser, device type, screen resolution, installed fonts, GPU behaviour, and even how you move your mouse can uniquely identify you. This means that even if your IP changes, your identity can still be reconstructed with high confidence.</p>
<p>Companies no longer need a single identifier. They build probabilistic profiles. These profiles combine dozens of weak signals into one strong identity.</p>
<p>This is why simply using a VPN does not guarantee privacy. It hides where you are connecting from, but it does not hide who you are behaving like.</p>
<h2 id="heading-the-illusion-of-incognito-mode"><strong>The Illusion of Incognito Mode</strong></h2>
<p>Incognito mode is one of the most misunderstood features in modern browsers. It does not make you anonymous. It simply prevents your local browser from saving history, cookies, and form data.</p>
<p>Your internet service provider can still see your activity. Websites can still track you. Third-party scripts can still build profiles. Incognito mode protects you from other users on the same device, not from the internet itself.</p>
<p>In 2026, relying on incognito mode for privacy is like closing your eyes and assuming no one can see you. It changes your local environment, not the external systems observing you.</p>
<h2 id="heading-the-rise-of-first-party-tracking"><strong>The Rise of First-Party Tracking</strong></h2>
<p>One major shift in recent years is the move from third-party tracking to first-party tracking. Browsers and regulators have restricted third-party cookies, but this has not reduced tracking. It has changed who does it.</p>
<p>Large platforms now collect data directly. When you log into services, your activity is tied to your account. This is more accurate than cookie-based tracking and harder to block.</p>
<p>Even when you are not logged in, platforms use techniques like <a href="https://digiday.com/marketing/wtf-link-decoration/">link decoration</a> and server-side tracking. These methods bypass traditional browser protections. As a result, blocking cookies is no longer enough.</p>
<p>Privacy today requires reducing how much data you generate, not just controlling how it is stored.</p>
<h2 id="heading-encryption-still-matters-but-it-is-not-enough"><strong>Encryption Still Matters, But It Is Not Enough</strong></h2>
<p>Encryption remains one of the most important tools in digital privacy. It ensures that data in transit cannot be easily intercepted.</p>
<p>HTTPS is now standard, and end-to-end encryption is widely used in messaging apps.</p>
<p>However, encryption protects content, not metadata.</p>
<p><a href="https://www.ibm.com/think/topics/metadata">Metadata</a> includes who you communicate with, when, how often, and from where. This data can reveal patterns that are often more valuable than the content itself.</p>
<p>For example, knowing that two people communicate regularly at specific times can be enough to infer relationships or activities.</p>
<p>In 2026, sophisticated surveillance systems rely heavily on metadata analysis. This means encryption is necessary, but it is not sufficient.</p>
<h2 id="heading-devices-are-the-new-weak-point"><strong>Devices Are the New Weak Point</strong></h2>
<p>Most privacy discussions focus on networks, but devices have become the primary attack surface. Smartphones, laptops, and even smart home devices continuously collect data.</p>
<p>Operating systems gather <a href="https://www.ibm.com/think/topics/telemetry">telemetry</a>. Apps request permissions that go far beyond their core function. Background processes transmit usage patterns, location data, and behavioral signals.</p>
<p>Even trusted platforms collect large amounts of data. This is often justified as necessary for improving services, but it creates detailed user profiles.</p>
<p>Real privacy requires controlling what your devices share. This includes limiting permissions, reducing app usage, and choosing systems that minimize data collection by design.</p>
<h2 id="heading-behavioral-data-is-the-real-commodity"><strong>Behavioral Data Is the Real Commodity</strong></h2>
<p>In 2026, raw personal data is less valuable than behavioral data. Companies are less interested in who you are and more interested in what you do.</p>
<p>Behavioral data includes browsing habits, purchase patterns, scrolling speed, typing rhythm, and engagement signals. This data feeds machine learning models and AI automation platforms that predict future actions.</p>
<p>These models power everything from targeted advertising to risk scoring. They are also used in fraud detection, hiring systems, and financial services.</p>
<p>As AI increasingly shapes online interactions, understanding how your data is analyzed can be valuable. It is also important to recognize whether content is generated or influenced by AI. AI detection platforms like <a href="https://gptzero.me/">ai checker</a> help users identify AI-generated content while supporting greater transparency in digital environments.</p>
<p>The challenge is that behavioral data is difficult to hide. It is generated passively through normal usage. Protecting privacy means reducing the amount of behavior that can be observed and linked over time.</p>
<h2 id="heading-where-vpns-actually-fit"><strong>Where VPNs Actually Fit</strong></h2>
<p>VPNs still have a role, but it is narrower than most people think. They are useful for securing connections on untrusted networks, such as public Wi-Fi. They can also help bypass geographic restrictions.</p>
<p>However, they do not make you anonymous. They shift trust from your internet provider to the VPN provider. If the provider logs data, your activity is still traceable.</p>
<p>This is where the market has evolved. Users are now looking beyond traditional VPNs such as NordVPN and exploring options that offer stronger privacy guarantees, such as decentralized networks or tools with strict no-logging architectures.</p>
<p>In this context, the idea of a traditional VPN alternatives often comes up, not as a rejection of VPNs, but as a recognition that privacy requires a broader approach.</p>
<p>The key is understanding that a VPN is one layer, not a complete solution.</p>
<h2 id="heading-identity-is-the-core-problem"><strong>Identity Is the Core Problem</strong></h2>
<p>At the center of modern privacy is identity. Every system you interact with tries to answer one question: is this the same user as before?</p>
<p>If the answer is yes, your actions can be linked over time. This creates a persistent profile.</p>
<p>Breaking this link is difficult. Logging into accounts, using the same device, and maintaining consistent behavior all reinforce identity. Even small signals can reconnect fragmented data.</p>
<p>True privacy requires disrupting this continuity. This can involve using separate environments for different activities, avoiding unnecessary logins, and limiting cross-platform data sharing.</p>
<p>It is not about being invisible. It is about being harder to correlate.</p>
<h2 id="heading-regulation-helps-but-it-has-limits"><strong>Regulation Helps, But It Has Limits</strong></h2>
<p>Privacy regulations have expanded globally. Laws now require companies to disclose data practices, obtain consent, and provide user controls.</p>
<p>These changes have improved transparency, but they have not fundamentally changed data collection. Consent banners are often designed to nudge users toward acceptance. Privacy policies remain complex and difficult to interpret.</p>
<p>Enforcement is also uneven. Large companies adapt quickly, while smaller players may ignore rules altogether.</p>
<p>Regulation sets boundaries, but it does not eliminate incentives. As long as data drives revenue, companies will find ways to collect it within legal frameworks.</p>
<h2 id="heading-what-actually-protects-you">What Actually Protects You</h2>
<p>Real privacy in 2026 does not come from one app, browser setting, or security tool. Privacy works best as a layered system where several habits work together. Tools help, but behavior matters more. Strong privacy comes from sharing less data, separating identities, reducing tracking signals, and using the right tools carefully.</p>
<p>The first step is to minimize data sharing. Every account signup, app download, connected service, and permission request creates another source of information collection. Share only what is necessary. Use fewer apps and services when possible. Avoid unnecessary integrations between platforms. Review permissions such as location, contacts, microphone access, and background tracking. Less information leaving your control means less information available to collect, sell, or track.</p>
<p>The next step is separating digital identity. Avoid linking every activity to the same account or profile. Use different emails, accounts, or even devices for work, personal use, and anonymous activities. Keeping activities separate makes it harder for systems to build one complete profile about you.</p>
<p>You should also reduce behavioral signals. Modern tracking systems use cookies, tracking pixels, app behavior, and device fingerprinting to identify users. Review app permissions and limit tracking where possible. Fewer signals make profiling harder.</p>
<p>Privacy-focused tools add another layer. Use secure browsers, encrypted messaging apps, secure DNS, and VPNs when needed. Keep them updated and properly configured. Privacy is not about becoming invisible. It is about staying intentional and keeping control over your information.</p>
<h2 id="heading-the-trade-offs-are-real"><strong>The Trade-Offs Are Real</strong></h2>
<p>It is important to acknowledge that privacy comes with trade-offs. More privacy often means less convenience. Personalized services become less accurate. Seamless experiences may require more manual effort.</p>
<p>Most users are not willing to sacrifice convenience entirely. This is why complete privacy is rare. Instead, the goal should be proportional privacy.</p>
<p>Protect what matters most. Accept some level of exposure where the cost of protection is too high.</p>
<h2 id="heading-the-future-of-privacy"><strong>The Future of Privacy</strong></h2>
<p>Looking ahead, privacy will become more integrated into system design. Technologies like on-device processing, differential privacy, and zero-knowledge proofs are gaining traction.</p>
<p>These approaches aim to reduce data collection while still enabling useful services. Instead of sending raw data to servers, computations happen locally or in privacy-preserving ways.</p>
<p>However, adoption will take time. Economic incentives still favor data collection. Until that changes, users remain responsible for their own privacy posture.</p>
<h2 id="heading-closing-perspective"><strong>Closing Perspective</strong></h2>
<p>The biggest misconception about online privacy is that it can be solved with a single tool. In reality, it is a continuous process.</p>
<p>What protects you in 2026 is not just technology, but how you use it. It is the combination of reducing data exposure, understanding tracking mechanisms, and making deliberate choices about your digital behavior.</p>
<p>Privacy is no longer about disappearing. It is about controlling how visible you are, to whom, and under what conditions.</p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ How to Set Up Your Own Google Analytics Alternative Using Umami ]]>
                </title>
                <description>
                    <![CDATA[ Website analytics are crucial for understanding how visitors interact with your content. And while Google Analytics dominates the market, it often raises privacy concerns and can be complex for small projects. If you’re looking for a simpler, open-so... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/how-to-set-up-your-own-google-analytics-alternative-using-umami/</link>
                <guid isPermaLink="false">6913c897ebd9f0fb2ba61c3a</guid>
                
                    <category>
                        <![CDATA[ analytics ]]>
                    </category>
                
                    <category>
                        <![CDATA[ privacy ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Manish Shivanandhan ]]>
                </dc:creator>
                <pubDate>Tue, 11 Nov 2025 23:36:55 +0000</pubDate>
                <media:content url="https://cdn.hashnode.com/res/hashnode/image/upload/v1762904171356/3c714de7-3aa3-4c4f-946f-23cecb747a2a.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>Website analytics are crucial for understanding how visitors interact with your content. And while Google Analytics dominates the market, it often raises privacy concerns and can be complex for small projects.</p>
<p>If you’re looking for a simpler, open-source, and privacy-friendly solution, <a target="_blank" href="https://github.com/umami-software/umami">Umami</a> is a great alternative. It’s lightweight, easy to deploy, and doesn’t track personal data, making it compliant with modern privacy laws like GDPR.</p>
<p>In this article, you’ll learn what Umami is, why it’s an excellent Google Analytics alternative, and how to set it up on your own server from scratch using Sevalla.</p>
<h2 id="heading-what-well-cover">What We’ll Cover:</h2>
<ol>
<li><p><a class="post-section-overview" href="#heading-understanding-umami">Understanding Umami</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-why-choose-umami-over-google-analytics">Why Choose Umami Over Google Analytics</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-how-to-install-umami">How to Install Umami</a></p>
<ul>
<li><p><a class="post-section-overview" href="#heading-step-1-get-the-source-code">Step 1: Get the Source Code</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-step-2-configure-the-database">Step 2: Configure the Database</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-step-3-build-the-application">Step 3: Build the Application</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-step-4-start-the-server">Step 4: Start the Server</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-step-5-keeping-umami-updated">Step 5: Keeping Umami Updated</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-step-6-adding-tracking-to-your-website">Step 6: Adding Tracking to Your Website</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-step-7-exploring-the-dashboard">Step 7: Exploring the Dashboard</a></p>
</li>
</ul>
</li>
<li><p><a class="post-section-overview" href="#heading-hosting-umami-on-the-cloud-using-sevalla">Hosting Umami on the Cloud using Sevalla</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-privacy-and-compliance">Privacy and Compliance</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-conclusion">Conclusion</a></p>
</li>
</ol>
<h2 id="heading-understanding-umami">Understanding Umami</h2>
<p>Umami is an open-source web analytics platform designed to be fast, simple, and privacy-focused.</p>
<p>It collects essential website data like page views, referrals, and device information without storing personally identifiable details. Unlike Google Analytics, Umami doesn’t use cookies or share data with third parties.</p>
<p>The project is actively maintained by the open-source community and has grown into one of the most trusted tools for developers and businesses who want full control over their analytics. It provides a clean dashboard that shows all the key metrics in real time and works across any website or application.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1762526959534/6eb011e3-c2e4-4c22-afbe-278aa7c89847.png" alt="Umami Dashboard" class="image--center mx-auto" width="1000" height="480" loading="lazy"></p>
<p>You can find the project on GitHub at github.com/umami-software/umami and even try a <a target="_blank" href="https://cloud.umami.is/analytics/eu/share/LGazGOecbDtaIwDr">live demo here</a>.</p>
<h2 id="heading-why-choose-umami-over-google-analytics">Why Choose Umami Over Google Analytics</h2>
<p>Google Analytics is powerful but often overwhelming for simple websites. It’s also tied to Google’s data collection ecosystem, which can conflict with privacy-focused organizations.</p>
<p>Umami takes a different approach. It collects only the information you need to make decisions, such as traffic sources and popular pages, and it stores everything on your own infrastructure.</p>
<p>There are no third-party cookies, no user tracking, and no hidden integrations. You get complete ownership of your data and peace of mind knowing that it’s not leaving your server.</p>
<p>Plus, Umami is free under the MIT license, making it suitable for both personal projects and commercial deployments.</p>
<h2 id="heading-how-to-install-umami">How to Install Umami</h2>
<p>Before you begin, make sure you have a few basic tools and requirements ready.</p>
<p>You’ll need a server with Node.js version 18.18 or newer installed. Umami also requires a database to store analytics data. It supports PostgreSQL (version 12.14 or higher), MySQL (version 8.0 or higher), and MariaDB (version 10.5 or higher).</p>
<h3 id="heading-step-1-get-the-source-code">Step 1: Get the Source Code</h3>
<p>The first step is to download the Umami source code from GitHub. Open your terminal and run:</p>
<pre><code class="lang-powershell">git clone https://github.com/umami<span class="hljs-literal">-software</span>/umami.git
</code></pre>
<pre><code class="lang-powershell"><span class="hljs-built_in">cd</span> umami
</code></pre>
<pre><code class="lang-powershell">pnpm install
</code></pre>
<p>The pnpm install command installs all the necessary dependencies for the application. Make sure you have pnpm installed globally before running this command. You can install it by running <code>npm install -g pnpm</code>.</p>
<h3 id="heading-step-2-configure-the-database">Step 2: Configure the Database</h3>
<p>Next, you need to configure a database connection. Create a new .env file in the root directory of the Umami project. Inside this file, add the following line:</p>
<pre><code class="lang-powershell">DATABASE_URL=connection<span class="hljs-literal">-url</span>
</code></pre>
<p>Replace <code>connection-url</code> with your actual database connection string. Here are two examples depending on your database type:</p>
<p>For PostgreSQL:</p>
<pre><code class="lang-powershell">postgresql://username:password@localhost:<span class="hljs-number">5432</span>/umami
</code></pre>
<p>For MySQL:</p>
<pre><code class="lang-powershell">mysql://username:password@localhost:<span class="hljs-number">3306</span>/umami
</code></pre>
<p>This connection string allows Umami to connect to your database and automatically create the necessary tables during the setup.</p>
<h3 id="heading-step-3-build-the-application">Step 3: Build the Application</h3>
<p>Once your configuration is complete, you can build the application by running:</p>
<pre><code class="lang-powershell">pnpm run build
</code></pre>
<p>This step compiles the code and prepares it for production. It will also initialize your database with the required tables and create a default admin account.</p>
<p>You can log in with the username <code>admin</code> and password <code>umami</code> after setup. It’s a good idea to change this password immediately once you log in for the first time.</p>
<h3 id="heading-step-4-start-the-server">Step 4: Start the Server</h3>
<p>Now it’s time to start the application. Run the following command:</p>
<pre><code class="lang-powershell">pnpm run <span class="hljs-built_in">start</span>
</code></pre>
<p>By default, Umami will start on <a target="_blank" href="http://localhost:3000.">http://localhost:3000.</a> You can open this address in your browser to access the analytics dashboard. If you want to make it accessible publicly, you’ll need to configure a reverse proxy using a web server like nginx.</p>
<h3 id="heading-step-5-keeping-umami-updated">Step 5: Keeping Umami Updated</h3>
<p>Like any software, Umami receives regular updates that include new features, security patches, and performance improvements. Keeping your installation up to date is simple.</p>
<p>If you installed from source, navigate to your Umami folder and run:</p>
<pre><code class="lang-powershell">git pull
</code></pre>
<pre><code class="lang-powershell">pnpm install
</code></pre>
<pre><code class="lang-powershell">pnpm run build
</code></pre>
<p>This command updates the source code, installs new dependencies, and rebuilds the app. If you are using Docker, you can update by pulling the latest images and restarting the containers:</p>
<pre><code class="lang-powershell">docker compose pull
</code></pre>
<pre><code class="lang-powershell">docker compose up — force<span class="hljs-literal">-recreate</span> <span class="hljs-literal">-d</span>
</code></pre>
<p>Regularly updating ensures you have access to the latest analytics features and bug fixes.</p>
<h3 id="heading-step-6-adding-tracking-to-your-website">Step 6: Adding Tracking to Your Website</h3>
<p>After you log in to the dashboard, you’ll see an option to add a new website. Once you create it, Umami will generate a small tracking script.</p>
<p>Copy the script tag and paste it into the &lt;head&gt; section of your website’s HTML pages.</p>
<p>This script is lightweight and won’t slow down your website. Once added, you’ll start seeing traffic data in your dashboard almost instantly.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1762526987669/f1bb73cd-2e04-43e5-95a9-105f16e80f0c.png" alt="Umami Traffic sources" class="image--center mx-auto" width="1000" height="453" loading="lazy"></p>
<p>You can track multiple websites from the same Umami installation, making it ideal for developers managing several projects.</p>
<h3 id="heading-step-7-exploring-the-dashboard">Step 7: Exploring the Dashboard</h3>
<p>The Umami dashboard is clean, modern, and easy to understand. It shows metrics such as page views, referrers, operating systems, and devices. You can filter by date, view live visitors, and export data for reporting.</p>
<p>There are no complicated configuration options or hidden features  –  just the information you need to make informed decisions about your website traffic. Everything runs fast, even on modest servers.</p>
<h2 id="heading-hosting-umami-on-the-cloud-using-sevalla">Hosting Umami on the Cloud using Sevalla</h2>
<p>When you are ready to move beyond testing, Umami gives you two options. You can self-host it using your own infrastructure or use their managed cloud version at <a target="_blank" href="https://umami.is/">Umami.is</a>.</p>
<p>Self-hosting gives you full control and is usually preferred by technical teams who want to keep sensitive data in-house.</p>
<p>You can choose any cloud provider, like AWS, DigitalOcean, or others to set up Umami. But I will be using Sevalla.</p>
<p><a target="_blank" href="https://sevalla.com/">Sevalla</a> is a PaaS provider designed for developers and dev teams shipping features and updates constantly in the most efficient way. It offers application hosting, database, object storage, and static site hosting for your projects.</p>
<p>I am using Sevalla for two reasons:</p>
<ul>
<li><p>Every platform will charge you for creating a cloud resource. Sevalla comes with a $50 credit for us to use, so we won’t incur any costs for this example.</p>
</li>
<li><p>Sevalla has a <a target="_blank" href="https://docs.sevalla.com/templates/overview">template for Umami</a>, so it simplifies the manual installation and setup for each resource you will need for installation.</p>
</li>
</ul>
<p><a target="_blank" href="https://app.sevalla.com/login">Log in</a> to Sevalla and click on Templates. You can see Umami as one of the templates.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1762527152703/5fdd384a-bbc0-474a-a977-501ffbcaa906.png" alt="Sevalla Templates" class="image--center mx-auto" width="1000" height="316" loading="lazy"></p>
<p>Click on the “Umami” template. You will see the resources needed to provision the application like PostgreSQL and Redis. Click on “Deploy Template”</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1762527179056/93d52be1-813f-41fa-9790-120639602275.png" alt="Sevalla Deployments" class="image--center mx-auto" width="1000" height="421" loading="lazy"></p>
<p>You can see the resource being provisioned. Once the resources are provisioned, go to your Umami application and click on “Visit app”</p>
<p>You will get a cloud URL with a login page. Use the default login credentials admin for username and umami for password. You will see the empty dashboard.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1762527213359/63015ae9-8716-4819-80c5-4352a163b87f.png" alt="Umami Dashboard" class="image--center mx-auto" width="1000" height="464" loading="lazy"></p>
<p>You now have a production-grade Umami server running on the cloud. You can use this to setup analytics for your website by clicking on “Settings” and then “Add website”.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1762527254085/e6b53462-8361-47f1-afe0-dc4c23a1734e.png" alt="Umami Website Setup" class="image--center mx-auto" width="1000" height="432" loading="lazy"></p>
<p>You can then click “Edit” to get the tracking code for your website.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1762527330314/e03b25a5-9558-4937-a6dc-5d0fb50a83e3.png" alt="Umami Website Configuration" class="image--center mx-auto" width="1000" height="446" loading="lazy"></p>
<p>Once you add the tracking code for your website, you can start monitoring your traffic and other analytics in your new dashboard.</p>
<h2 id="heading-privacy-and-compliance">Privacy and Compliance</h2>
<p>One of the best reasons to use Umami is its commitment to privacy. It doesn’t use cookies, doesn’t track individual users, and doesn’t share data with any third-party service.</p>
<p>All information stays on your server. This makes it a great choice for websites that need to comply with privacy laws like GDPR, CCPA, or PECR.</p>
<p>Since you own the data, you can decide how long to keep it, how to analyze it, and who has access.</p>
<h2 id="heading-conclusion">Conclusion</h2>
<p>Setting up your own analytics system might sound complex, but with Umami, it’s surprisingly easy. It gives you everything you need to understand your website traffic without compromising user privacy. You control the data, the infrastructure, and the configuration.</p>
<p>By following these steps, you can deploy Umami on your own server in less than an hour and start monitoring your website visitors right away. Whether you run a personal blog, a SaaS platform, or a client project, Umami offers a transparent, fast, and privacy-friendly alternative to Google Analytics.</p>
<p><em>Hope you enjoyed this article. Find me on</em> <a target="_blank" href="https://linkedin.com/in/manishmshiva"><em>Linkedin</em></a> <em>or</em> <a target="_blank" href="https://manishshivanandhan.com/"><strong><em>visit my website</em></strong></a></p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ How to Improve Your Phone’s Privacy ]]>
                </title>
                <description>
                    <![CDATA[ We use our phones for everything  –  texting, banking, browsing, tracking our health, even unlocking our homes. But with all that convenience comes a lot of risk. Apps are hungry for your data. Hackers are always looking for cracks in your security. ... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/how-to-improve-your-phones-privacy/</link>
                <guid isPermaLink="false">684c50b9c6ec6bf605276b54</guid>
                
                    <category>
                        <![CDATA[ Security ]]>
                    </category>
                
                    <category>
                        <![CDATA[ privacy ]]>
                    </category>
                
                    <category>
                        <![CDATA[ mobile ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Manish Shivanandhan ]]>
                </dc:creator>
                <pubDate>Fri, 13 Jun 2025 16:24:25 +0000</pubDate>
                <media:content url="https://cdn.hashnode.com/res/hashnode/image/upload/v1749831817564/98cdcb42-6e7f-49c3-9a7c-49e8db78fc3f.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>We use our phones for everything  –  texting, banking, browsing, tracking our health, even unlocking our homes. But with all that convenience comes a lot of risk.</p>
<p>Apps are hungry for your data. Hackers are always looking for cracks in your security. And sometimes, we accidentally give away more than we realize.</p>
<p>The good news is you don’t need to be an expert to tighten things up. </p>
<p>Here are seven simple changes that can seriously improve your phone’s privacy. Each one takes just a few minutes, and together, they make your phone much harder to track, hack, or snoop on.</p>
<h2 id="heading-control-what-tracks-your-location"><strong>Control What Tracks Your Location</strong></h2>
<p>Let’s start with location tracking. </p>
<p>Most people don’t realize how many apps can access their exact whereabouts. Even seemingly harmless apps like weather or games may collect this info in the background. </p>
<p>Some use it to target ads, others sell it to data brokers, and a few could open doors to more serious threats, like someone building a full profile of your movements.</p>
<p>To reduce the risk, go into your phone’s settings and <a target="_blank" href="https://www.avg.com/en/signal/prevent-your-phone-being-tracked">check which apps can access your location</a>. Both iPhone and Android let you limit access to “While Using” the app, instead of “Always.” This way, apps can’t track you silently in the background. </p>
<p>Also, turn off “Precise Location” for apps that don’t need it. Your phone will still know your city, but it won’t pinpoint your exact house. This one tweak keeps dozens of apps from silently tracking your every move.</p>
<h2 id="heading-make-your-passcode-stronger"><strong>Make Your Passcode Stronger</strong></h2>
<p>Next up is your passcode. It’s your phone’s first line of defense, but far too many people still use weak ones  –  like birthdays, 123456, or just swiping a simple pattern. </p>
<p>If someone grabs your phone, a weak passcode makes it much easier for them to get in, especially if they’ve watched you unlock it a few times.</p>
<p>Switch to at least a six-digit PIN or, even better, an alphanumeric passcode with letters and numbers. Yes, it takes a second longer to type, but it’s far harder to guess. </p>
<p>And if your phone supports it, use your fingerprint for unlocking instead of facial recognition. Face unlock can sometimes be fooled by photos or similar faces, while fingerprints are generally more secure.</p>
<p>You should also consider enabling a setting that erases your data after multiple failed login attempts. This way, if your phone falls into the wrong hands, it won’t just be sitting there, waiting to be cracked.</p>
<h2 id="heading-cut-back-unnecessary-app-permissions"><strong>Cut Back Unnecessary App Permissions</strong></h2>
<p>Many apps ask for permissions they don’t really need. </p>
<p>A flashlight app that wants access to your contacts? A calendar app asking for microphone access? These are red flags. </p>
<p>The more permissions you grant, the more ways your data can leak  –  sometimes to advertisers, other times to third parties you’ve never heard of.</p>
<p>Go through your app permissions and turn off access that doesn’t make sense. Does that casual game really need your location? Does a recipe app need to see your photos? Probably not. This isn’t just about avoiding creepy behavior  –  it’s about reducing the number of ways bad actors can exploit your phone if something goes wrong.</p>
<p>Some malicious apps have been caught using these permissions to record audio, access files, or even track your activity across other apps. A regular permissions check-up can help stop that from happening.</p>
<h2 id="heading-switch-to-esim-for-better-security"><strong>Switch to eSIM for Better Security</strong></h2>
<p>One of the most overlooked privacy upgrades is switching to an <a target="_blank" href="https://saily.com/what-is-esim/">eSIM card</a>. That’s a digital SIM card built into your phone, and it offers real advantages over traditional physical SIM cards. The biggest one is security.</p>
<p>Physical SIM cards can be switched out easily if someone steals your phone. There’s also the risk of SIM swapping  –  where attackers convince your carrier to transfer your number to a different SIM, giving them control of your calls, texts, and even two-factor authentication codes. </p>
<p>With an eSIM, there’s no physical card to remove, and activating or transferring it requires extra authentication through your carrier.</p>
<p>If your phone supports eSIM – and most modern iPhones, Pixels, and Galaxy devices do –  you can switch by contacting your mobile carrier or using their app. </p>
<p>Once your eSIM is set up, consider removing the physical SIM entirely. It’s one less way someone can try to hijack your phone number.</p>
<h2 id="heading-dont-leave-bluetooth-and-wifi-open"><strong>Don’t Leave Bluetooth and Wi‑Fi Open</strong></h2>
<p>You might not think twice about leaving Bluetooth or Wi-Fi turned on, but doing so can leave your phone exposed. </p>
<p>Even when you’re not actively connected, your phone continues to look for known networks or nearby devices. This “sniffing” can give away your location, expose your device to tracking, or even let attackers try to exploit unpatched vulnerabilities.</p>
<p>For instance, there have been real-world attacks like <a target="_blank" href="https://en.wikipedia.org/wiki/BlueBorne_%28security_vulnerability%29">BlueBorne</a>, which let hackers take over phones just by being nearby with Bluetooth turned on. </p>
<p>Another risk is “Wi-Fi spoofing” –  when someone sets up a fake public network to trick your phone into connecting, giving them access to your traffic.</p>
<p>To protect yourself, get into the habit of turning off Wi-Fi and Bluetooth when you’re not using them. You’ll save battery, too. </p>
<p>If you’re connecting to public networks, avoid auto-connect settings and tell your phone to “forget” the network afterward. This keeps it from reconnecting without your knowledge later.</p>
<h2 id="heading-use-encrypted-messaging-apps"><strong>Use Encrypted Messaging Apps</strong></h2>
<p>Plain old text messages are easy to intercept. Phone carriers can access them, and if someone manages to snoop on your network, they can read your texts without much effort. That’s why encrypted messaging apps matter.</p>
<p><a target="_blank" href="https://signal.org/#signal">Signal</a> is one of the best options out there. It uses end-to-end encryption, which means only you and the person you’re chatting with can read your messages. Not even the app company can see them. It’s also open-source, which means experts can inspect the code for flaws.</p>
<p>WhatsApp also uses strong encryption, but it’s owned by Meta (formerly Facebook), which has a spottier track record when it comes to data privacy. </p>
<p>If you’re serious about protecting private conversations  –  especially with family, coworkers, or anyone handling sensitive info  – make the switch to an encrypted app.</p>
<h2 id="heading-keep-your-software-updated"><strong>Keep Your Software Updated</strong></h2>
<p>The last one is simple, but often ignored: keep your phone and apps updated. Every update includes security patches that fix known issues. </p>
<p>Hackers and malware often target devices running old software because those bugs are public knowledge by the time they strike. If your phone isn’t set to update automatically, change that now. </p>
<p>Also check your app updates regularly. Some apps introduce new permissions or bugs, so keeping everything current helps close those holes before they can be used against you.</p>
<p>Phones with outdated operating systems are more vulnerable to spyware, data theft, and unauthorized access. So even if you’re not excited about the new features, updates are your silent protectors behind the scenes.</p>
<h2 id="heading-conclusion"><strong>Conclusion</strong></h2>
<p>None of these steps will make you invisible –  but they will make your phone a lot harder to compromise. That’s the goal. Privacy isn’t about locking everything down forever. It’s about knowing what you’re sharing, and taking steps to control it.</p>
<p>Hope you enjoyed this article. You can <a target="_blank" href="https://manishshivanandhan.com/">learn more about me</a> or <a target="_blank" href="https://www.linkedin.com/in/manishmshiva/">connect with me on Linkedidn</a>.</p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ How to Improve Your Digital Security and Privacy – Best Practices for Developers ]]>
                </title>
                <description>
                    <![CDATA[ These days, there are many different types of attacks that can jeopardize your digital security and privacy. So it’s a good idea to stay up-to-date with best practices to keep you safe online.  But it can be hard to understand exactly how to do this.... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/how-to-improve-your-digital-security-and-privacy/</link>
                <guid isPermaLink="false">66bae74e18927a8cd306c839</guid>
                
                    <category>
                        <![CDATA[ best practices ]]>
                    </category>
                
                    <category>
                        <![CDATA[ privacy ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Security ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Loki Privacy ]]>
                </dc:creator>
                <pubDate>Tue, 18 Jun 2024 12:05:09 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/news/content/images/2024/07/pexels-wdnet-101808.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>These days, there are many different types of attacks that can jeopardize your digital security and privacy. So it’s a good idea to stay up-to-date with best practices to keep you safe online. </p>
<p>But it can be hard to understand exactly how to do this. So I built this tutorial and this <a target="_blank" href="https://loki2100.limesurvey.net/948232?lang=en">personal security/privacy assessment</a>, based on what I've learned building <a target="_blank" href="https://lokiprivacy.com/">Loki Privacy</a>. These resources sum up thousands of hours of practice and research into five impactful (and largely free) steps. </p>
<p>By following these guidelines, you can really increase your digital security and privacy, and perhaps help mitigate a devastating hack of your personal finances or data. </p>
<h2 id="heading-heres-what-well-cover">Here's What We'll Cover:</h2>
<ol>
<li><a class="post-section-overview" href="#heading-1-use-credentials-wisely">Use Credentials Wisely</a></li>
<li><a class="post-section-overview" href="#heading-2-choose-your-browser-wisely">Choose Your Browser Wisely</a></li>
<li><a class="post-section-overview" href="#heading-3-understand-encryption-and-what-it-means">Understand Encryption and What it Means</a></li>
<li><a class="post-section-overview" href="#heading-4-how-you-spend-your-money-digitally-leaves-a-trace">How You Spend Your Money Digitally Leaves a Trace</a></li>
<li><a class="post-section-overview" href="#heading-5-the-devices-you-use-do-matter-for-privacy-and-security">The Devices You Use Do Matter for Privacy and Security</a></li>
</ol>
<h2 id="heading-1-use-credentials-wisely">1: Use Credentials Wisely</h2>
<p>The first step is to properly manage your passwords, and add a layer of security with two-factor authentication.</p>
<p>Nowadays, digital passwords control an immense amount of power and personal information. You might access your bank and/or life savings with them, or critical and personal medical information about yourself. With great power as an Internet user comes great responsibility – and this is true of using modern passwords.</p>
<h3 id="heading-use-a-password-manager">Use a Password Manager</h3>
<p>Ideally, password managers are the best system to manage your credentials. They offer encryption and security to prevent undesired access, and they're able to give two critical properties to good passwords. </p>
<ul>
<li>First, they give you the ability to auto-generate passwords and login with the password manager if chosen. This helps avoid the cardinal sin of personal security on the web: password reuse across multiple services. If one service gets hacked with your password and you're reusing it across the web, hackers will try your login/password across the web, potentially turning one hack into multiple. </li>
<li>Second is that password managers allow you to more easily create longer and more complex passwords.</li>
</ul>
<p>Good options are services like 1Password and BitWarden. You can host your own version of BitWarden on your own server with something like StartOS <a target="_blank" href="https://github.com/Start9Labs/vaultwarden-startos">and the open source implementation of BitWarden, Vaultwarden</a>.</p>
<h3 id="heading-use-a-strong-password">Use a Strong Password</h3>
<p>The number and type of characters in your password can prevent people brute-force attacking you – that is, using machines to guess letter combos. Password strength is very dependent on character length. <a target="_blank" href="https://bitwarden.com/blog/how-long-should-my-password-be/">If you use 14-16 characters</a> or more, it'll take a machine centuries to try to guess the password. But if you use 6 or fewer characters, it's likely your password can be cracked in seconds. </p>
<p>Your password strength can also improve if you add special characters, vary the case from uppercase to lowercase, and add numbers – anything that throws off machines that are going through character combinations by rote, hoping to get lucky. </p>
<h4 id="heading-examples-of-strong-passwords">Examples of strong passwords:</h4>
<ul>
<li>32-strings of random characters, ideally including numbers and special characters</li>
<li>Multiple words strung together with some numbers/special characters to make it easy to work manually</li>
</ul>
<h4 id="heading-examples-of-weak-passwords">Examples of weak passwords:</h4>
<ul>
<li>Commonly used and reused word + number combos, like hello12</li>
<li>Shorter strings like 342yf – the shorter your combination even if seemingly random, the easier to brute force</li>
<li>Passwords you use across multiple services no matter their strength (if one of the passwords gets leaked, that will be attempted with all of your services). </li>
</ul>
<h3 id="heading-setup-two-factor-authentication">Setup Two-Factor Authentication</h3>
<p>You should also add two-factor authentication throughout your devices, and ideally the strongest versions of these. That way, even if one of your passwords gets cracked, it won't matter – because attackers won't have access to a second factor that allows them into your account. </p>
<p>You'll also want to get notifications for failed login attempts. That way you'll know if somebody has cracked your password (and you'll want to remove that password from any online services you currently use.). </p>
<p>Normally, this would be a combination of what's called HOTP and TOTP two-factor authentication. </p>
<p>HOTP and TOTP are both different one-time password schemes used by either hardware security keys or 2FA apps like Google Authenticator. You'll have seen it in action if you use a tool like Aegis or Raivo where you get resetting passcodes that you copy and paste into your browser every 30 seconds. </p>
<p>The difference between the two is that the HOTP code scheme tends to be used with hardware security keys and increments per use. But this leaves a longer time window where an attacker can breach the code. </p>
<p>Time-based systems only give you between 30 seconds to 60 seconds to login with the code, but the user is given enough time to retry codes given such a short window. Some of the most secure elements combine both HOTP and a time-based window. </p>
<p><strong>Takeaway</strong>: Probably the best things you can do for your digital security right now are: </p>
<ul>
<li>Have a password manager system that allows you to avoid password reuse</li>
<li>Have two-factor authentication either through an app (such as Aegis or Raivo) or if you're willing to invest, a hardware security key like a Yubico. </li>
</ul>
<h2 id="heading-2-choose-your-browser-wisely">2: Choose Your Browser Wisely</h2>
<p>Next, you'll want to think about the browser you’re using and what data you're revealing about yourself.</p>
<h3 id="heading-use-a-security-focused-browser">Use a Security-focused Browser</h3>
<p>The browser you use to access the Internet stores data about you and shares data about who you are and what your interests are. Your choice of browser and the extensions you load will determine how much ad tracking you allow through, as well as the number of cookies. </p>
<p>A default installation of Firefox, Chrome, or Safari won't have much in the way of privacy-preserving features. But you can download extensions such as Privacy Badger, https everywhere, and uBlock Origin to help you better defend your online privacy and security. </p>
<p>These tools will serve as script-blockers and ad-blockers, as well as a guarantee that you'll be browsing sites where your data is encrypted – an important consideration when we get to point 3. </p>
<h3 id="heading-consider-using-a-vpn">Consider using a VPN</h3>
<p>Also, if you're using your regular Internet without a VPN or without using a service like Tor, you're likely revealing your IP address and your MAC address. </p>
<p>The IP address is malleable, but can reveal roughly where you are. IPInfo, for example, shows that you can tie an IP address <a target="_blank" href="https://ipinfo.io/ip-address-information">to your location</a> with the latitude and longitude represented, the company providing your Internet, and perhaps the business that owns the IP address. </p>
<p>Your MAC address is tied to your device and is relatively static. When you put on a VPN or use Tor, you can show a different IP address than the one tied to your home network or insecure open networks like the Wifi at your local coffee shop. But depending on the VPN you use, you could be giving them access to every site you visit – so it's important to ensure that you work with a provider that has a no-logs policy such as MullvadVPN. </p>
<p><strong>Takeaway</strong>: If you're concerned about digital privacy and security, use a privacy-focused browser variant either on desktop or mobile. This could be something like Librewolf and Duckduckgo on mobile. </p>
<p>Your default search engine should not be Google. It should be Duckduckgo or a more privacy-focused variant (though note that Duckduckgo will still serve ads through Microsoft's ad exchange). </p>
<p>You should also understand the implications of giving off your IP address and MAC address. Make sure you evaluate whether or not using Tor or a VPN makes sense for you. Consider carefully the VPN you choose. </p>
<h2 id="heading-3-understand-encryption-and-what-it-means">3: Understand Encryption and What it Means</h2>
<p>The term "Encryption" is often bandied about. But you might be wondering how it really matters to you. </p>
<p>Well, when it comes to digital privacy and security, understanding the difference between https:// and http://, cleartext vs. hashed text, and end-to-end encryption matters a lot.</p>
<h3 id="heading-http-vs-https">HTTP vs HTTPS</h3>
<p>Let's start with https:// over http://. Why does it matter what type of site you're browsing? </p>
<p>HTTP powers the web. Essentially, when you're browsing the Internet, under the hood your device is making a series of HTTP requests to servers you direct it to. With regular http:// traffic, however, anytime somebody sees HTTP requests and communications, <a target="_blank" href="https://www.cloudflare.com/learning/ssl/why-is-http-not-secure/">they can see the text within</a>. This means that if you were sending passwords, credit card information, or other sensitive communications, it would be trivial to intercept those messages. </p>
<p>HTTPS, on the other hand, signs HTTP with encryption keys using a <a target="_blank" href="https://www.freecodecamp.org/news/what-is-tls-transport-layer-security-encryption-explained-in-plain-english/">method called TLS</a>. The short of it is that if you're using https:// and browsing sites everywhere with https:// (which an extension like HTTPs Everywhere can help force), that you're less likely to leak your data to attackers.</p>
<h3 id="heading-cleartext-vs-hashed-text">Cleartext vs Hashed Text</h3>
<p>You'll often hear about cleartext vs hashed text when it comes to explaining a password breach. Cleartext means that if an attacker gets ahold of password data, they have your password in its full-text form. If it's hashed, that means the attacker will get a bunch of symbols that aren't your password but perhaps with some work, they can get to your password in plaintext. </p>
<p>If a website is storing your passwords in plaintext, it means that attackers that get a database full of passwords will be able to easily use that stash right away. A cleartext/plaintext leak means that you need to immediately change your passwords with much more urgency, though even if a password is hashed, you should still switch it over. </p>
<p>Services like haveibeenpwned.com will help you determine which password leaks apply to an email – and it's good to check every once in a while to see if you have any compromised credentials (some password managers will automatically check this for you as well.).</p>
<p>End-to-end encryption is a technical term that seems complex but delivers a simple promise: within the codebase, only the sender and receiver of a message will be able to see and decrypt the original message. This means that the service the messages are hosted on can't see what is being transmitted, and therefore can't send over that information to anybody. </p>
<p>Services like Signal offer end-to-end encryption by default (including in group chats) and are seen as the gold standard. WhatsApp also offers end-to-end encryption by default, though its association with Meta sometimes gets privacy advocates wary. </p>
<p>Other services offer variants, but you have to trigger them – for example, Telegram has end-to-end encryption for "Secret chats", but not group chats and non-secret private chats. </p>
<p><strong>Takeaway</strong>: Make sure you're browsing on https:// sites with a browser extension (<a target="_blank" href="https://www.eff.org/https-everywhere">HTTPs Everywhere</a>). Also, check to see if your passwords have been compromised and how they've been compromised with <a target="_blank" href="https://haveibeenpwned.com/">HaveIBeenPwned.com</a>. And stick to end-to-end encryption on chat and communications if you want to make sure the people you want to see your communications are the only ones that do. </p>
<h2 id="heading-4-how-you-spend-your-money-digitally-leaves-a-trace">4: How You Spend Your Money Digitally Leaves a Trace</h2>
<p>Online, one frontier for digital privacy is how you spend and own money. In the analog world, you can spend cash and rest assured that it is unlikely that your transaction will be traced back to you. </p>
<p>In the digital world, however, you have the burden of a credit card or debit card linked back to your address and names for every transaction you do. While online security has been developed to ensure that these don't leak (though they still can and have), there are also new ways to transact online with a (relatively) privacy-preserving option: Bitcoin, Lightning Network. </p>
<p>Lightning Network is a second layer technology built on Bitcoin that doesn't record its transactional flow between nodes on-chain, but rather settles channel opens/closes on it. This allows you to transact Bitcoin rapidly, without a fee, and not have your each transaction show up on the Bitcoin chain. </p>
<p>Now, the nuances of how to use tools like Lightning Network and Bitcoin in a way that preserves privacy merits a much fuller discussion – but be aware that a tradeoff now exists. </p>
<p>Yes, using Bitcoin will expose you to broadcasting your transactions over a public ledger, one scanned by perhaps millions of people. But it will also allow you to transact with the IP address of your choice, the device of your choice, and the identity of your choice. It's up to you to do the legwork and determine if that's a tradeoff worth having. </p>
<p><strong>Takeaway</strong>: Be aware that there are alternatives to using a credit card or debit card online for all of your payments that are closer to how you might use cash in the analog world. </p>
<h2 id="heading-5-the-devices-you-use-do-matter-for-privacy-and-security">5: The Devices You Use Do Matter for Privacy and Security</h2>
<p>Lastly, the devices you're using do matter for privacy and security. The Internet is a tradeoff: you get access to many different services, but you subject the devices you're using to access these services to giving off and receiving data. </p>
<p>Most of the commercialized laptops and phones out there have privacy and security features built in. An example of this is hardware changes that make recent iPhones more resilient, or frequent security updates for the operating system in question, from Linux, Microsoft, to Mac, to iOS and Android. </p>
<p>The tradeoff with devices, though, tends to be the expense, cost, and maintenance. In theory, having a second device on both laptop and mobile (for travel purposes, for example, to avoid border seizures) is ideal. And you may want to experiment with different operating systems – for example, the privacy-focused GrapheneOS for mobile, and System76 or Pinebooks for Linux-based laptops. </p>
<p>You might even go further and decide to experiment with home-based servers to run your own services. </p>
<p>Ultimately, the choice is yours: the cost of experimentation here can be high in terms of time and money spent, but can be well-worth it to maintain control over your own devices and data. </p>
<p><strong>Takeaway</strong>: Consider the devices you use. Make sure you're on top of security updates, and determine how and which devices you want to use going forward. </p>
<h2 id="heading-wrapping-up">Wrapping Up</h2>
<p>If you're interested in learning a bit more about how your digital security and privacy stacks up, <a target="_blank" href="https://loki2100.limesurvey.net/948232?lang=en">this assessment will</a> help you determine your level and give you specific recommendations. </p>
<p>The most important thing about digital security and privacy is to be mindful of the tradeoffs, and to consider and often re-evaluate best practices in an actively evolving ecosystem.   </p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ What the iOS Privacy Manifest Means for Developers ]]>
                </title>
                <description>
                    <![CDATA[ At WWDC 2023, Apple introduced us to a new bundle resource that is going to be added to every application and library: the privacy manifest. A lot has been written since then about this subject but without that much clarity. When first announced, App... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/what-the-ios-privacy-manifest-means-for-developers/</link>
                <guid isPermaLink="false">66ba504cf8a814ef73b78bd2</guid>
                
                    <category>
                        <![CDATA[ privacy ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Tomer ]]>
                </dc:creator>
                <pubDate>Fri, 15 Mar 2024 16:56:05 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/news/content/images/2024/03/pawel-czerwinski-jj4LC7iKA6Q-unsplash.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p><a target="_blank" href="https://developer.apple.com/videos/play/wwdc2023/10060">At WWDC 2023</a>, Apple introduced us to a new bundle resource that is going to be added to every application and library: the privacy manifest. A lot has been written since then about this subject but without that much clarity.</p>
<p>When first announced, Apple stated that in the Spring of 2024 (read – spring is already here), having a privacy manifest is expected and will be part of <a target="_blank" href="https://developer.apple.com/distribute/app-review/">the application review process</a>. Apple also asks application developers, as well as SDK developers, to adopt the privacy manifest.</p>
<p>Fast forward to December 7th, 2023, <a target="_blank" href="https://developer.apple.com/news/?id=r1henawx#:~:text=Third%2Dparty%20SDK%20privacy%20manifest%20and%20signatures.&amp;text=Starting%20in%20spring%202024%2C%20if,used%20as%20a%20binary%20dependency.">Apple announced</a> a list of “commonly used third-party SDKs” that, if included by your application, you have to have a privacy manifest for. No real explanation has been given as to why the third-party SDKs listed are the ones that have been selected, but there has been much speculation about it.</p>
<p>And here we stand after February 29th, 2024 (on a leap day!), when <a target="_blank" href="https://developer.apple.com/news/?id=3d8a9yyh">Apple announced</a> a timeline for enforcing the required reason API section of the privacy manifest.</p>
<p>All of this has led to quite a bit of confusion from developers who are scrambling to understand if their application or SDK falls into a privacy manifest category.</p>
<p>Developers are unsure if they should add a privacy manifest to their SDK, even if it is not listed. The <a target="_blank" href="https://developer.apple.com/documentation/bundleresources/privacy_manifest_files">documentation</a> itself, while being adept at giving an outline of everything, lacks the necessary distinctions and details developers are looking for.</p>
<p>Part of me wants to say that Apple is keeping things vague since the near future has coming changes that privacy manifests will bring. Another part of me says that Apple has always been this vague, and it is just their modus operandi.</p>
<p>In any case, you are reading this article because you want to understand how all of this affects you. So, let’s break things down.</p>
<blockquote>
<p><em>⚠️ Disclaimer: This article won’t deal with explaining what the privacy manifest is or how to add it to your application/library, as that has been covered by Apple's documentation fairly well.</em></p>
</blockquote>
<h2 id="heading-the-four-horsemen">The Four Horsemen</h2>
<p>Privacy manifest is divided into four subjects:</p>
<ul>
<li>NSPrivacyTracking.</li>
<li>NSPrivacyTrackingDomains.</li>
<li>NSPrivacyCollectedDataTypes (nutrition labels).</li>
<li>NSPrivacyAccessedAPITypes (required reason APIs).</li>
</ul>
<p>The first two are tied together and can pose the most substantial changes to your application/library, so we’ll ease into this list by starting with number three.</p>
<h3 id="heading-what-are-nsprivacycollecteddatatypes">What are NSPrivacyCollectedDataTypes?</h3>
<p>This section holds various categories of data collection that if your application or SDK does something with, you have to declare them. </p>
<p>Each type of data collected must be supplied with the reason for collecting it. </p>
<p>The categories range from contact information about the user (such as email/phone number), to Location and Purchases. </p>
<p>Inside your privacy manifest file, you will have an array of NSPrivacyCollectedDataTypes, where each item will hold:</p>
<ul>
<li>The type of data collected.</li>
<li>Whether or not this data is linked to the user.</li>
<li>Whether or not this data is used to track the user.</li>
<li>The reason(s) for collecting this data.</li>
</ul>
<p>Let’s do one as an example. Imagine your application collects the precise location of a user in order to track the user’s movement to see if the user is nearby any specific stores. </p>
<p>If the user is nearby such a store, you present a relevant ad to them. Factoring all that you will need to create an entry where:</p>
<ul>
<li>The data type will be NSPrivacyCollectedDataTypePreciseLocation.</li>
<li>Mark true as we are linking the data to the user.</li>
<li>Mark true as we are tracking the user with this data.</li>
<li>Since we are going to display ads to the user, we will choose. NSPrivacyCollectedDataTypePurposeThirdPartyAdvertising, NSPrivacyCollectedDataTypePurposeProductPersonalization, and NSPrivacyCollectedDataTypePurposeAppFunctionality since all of those fit for the data we collect.</li>
</ul>
<h3 id="heading-what-are-nsprivacyaccessedapitypes">What are NSPrivacyAccessedAPITypes?</h3>
<p>As mentioned, this section gets a bit more obscure and a bit more demanding.</p>
<p>Here, Apple lists very specific APIs from different categories that if you happen to use, you need to declare them. </p>
<p>For every API listed, there are specific reasons you need to fall into in order to declare your use of it. Some reasons state clearly that even if you use the API, you cannot send the data received by this API to a server (off-device). </p>
<p>If you find that your application or SDK uses one of the listed APIs, then you need to list it with an appropriate reason(s). For example, if we use the example from the previous section, our application reads and writes data to user defaults that has to do with the user’s location. So, we will need to:</p>
<ul>
<li>List NSPrivacyAccessedAPICategoryUserDefaults as the NSPrivacyAccessedAPIType.</li>
<li>Use CA92.1 inside the NSPrivacyAccessedAPITypeReasons.</li>
</ul>
<p>If you think you don’t see the reason you are using an API for, <a target="_blank" href="https://idmsa.apple.com/IDMSWebAuth/signin.html?path=%2Fcontact%2Frequest%2Fprivacy-manifest-reason%2F&amp;appIdKey=891bd3417a7776362562d2197f89480a8547b108fd934911bcbea0110d07f757&amp;rv=0">you can let Apple know about it</a>.</p>
<blockquote>
<p>🎯 None of the APIs listed can be used for tracking the user.</p>
</blockquote>
<p>At last, we come to the two most problematic categories.</p>
<h3 id="heading-what-are-the-nsprivacytracking-and-nsprivacytrackingdomains">What are the NSPrivacyTracking and NSPrivacyTrackingDomains?</h3>
<p>What is tracking? Do you know? Does anyone know? It really doesn’t matter, because <a target="_blank" href="https://developer.apple.com/app-store/app-privacy-details/#user-tracking">Apple has a definition for it</a>:</p>
<blockquote>
<p><em>“Tracking” refers to linking data collected from your app about a particular end-user or device, such as a user ID, device ID, or profile, with Third-Party Data for targeted advertising or advertising measurement purposes, or sharing data collected from your app about a particular end-user or device with a data broker.</em></p>
</blockquote>
<p>So, if your application or SDK doesn’t fall into that definition, you need to mark false as the value for NSPrivacyTracking and you can exhale. </p>
<p>Because if you have to mark true as the NSPrivacyTracking, then you must supply all the domains your application or SDK uses for the purpose of tracking as part of NSPrivacyTrackingDomains.</p>
<p>By now, you must be asking yourself, why I am making a big fuss about this. Well, it has to do with the fact that Apple will block all requests to any domain listed under NSPrivacyTrackingDomains if the user doesn’t allow the application to track him/her.</p>
<p>Read the paragraph above again.</p>
<p>Get it? You will now need to re-route network requests differently based on whether the user has given consent to be tracked or not. </p>
<p>On the client side (application/library), this might be a small change to handle. But on the server/infrastructure side, this might require some heavy lifting as new domains (or sub domains), need to be created. </p>
<p>Data that has been aggregating a certain way, now needs to be aggregated from another source. You obviously also need to make sure that no tracking related data is sent to your newly created domains. You wouldn’t want to end up in a scenario where your application/library stops working entirely.</p>
<p>To assist you in understanding which domains fall into the tracking category, you can use <a target="_blank" href="https://developer.apple.com/documentation/xcode/detecting-when-your-app-contacts-domains-that-may-be-profiling-users">Instruments</a>. Be aware that if your domains do not fall into that category now, it doesn’t mean that they won’t fall into it later.</p>
<h2 id="heading-conclusion">Conclusion</h2>
<p>As with any new regulation or policy, many questions are still left unanswered:</p>
<ul>
<li>If my application has a webview, where some network requests are made, do I have to include those as domains for NSPrivacyTrackingDomains?</li>
<li>Are sub domains good enough or do developers need to create completely different domains?</li>
<li>If my library is not listed as part of the commonly used SDKs, is there a chance that it might be in the future? What is the criteria used for listing such SDKs?</li>
<li>Do I have to include a signature to my SDK even if it is not listed under the commonly used SDKs?</li>
</ul>
<p>Also, when looking at the current state of things in the developer community, the response is quite the same. At the time of writing this article, numerous SDKs that are listed in Apple’s list, still haven’t released a version with a privacy manifest.</p>
<p>As we will get closer to the date of when it will be mandatory to have a privacy manifest, hopefully more details will emerge and better clarity. Until then, brace yourselves.</p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ How to Use AWS Cognito for User Authentication ]]>
                </title>
                <description>
                    <![CDATA[ When you're building complex applications, one seemingly simple feature can be difficult to implement: user authentication.  Though some apps don't need it depending on their use case, many do. You might spend a ton of time building an authentication... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/how-to-use-aws-cognito-for-user-authentication/</link>
                <guid isPermaLink="false">66ba10da90067134b63982c5</guid>
                
                    <category>
                        <![CDATA[ authentication ]]>
                    </category>
                
                    <category>
                        <![CDATA[ AWS ]]>
                    </category>
                
                    <category>
                        <![CDATA[ privacy ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Arunachalam B ]]>
                </dc:creator>
                <pubDate>Wed, 31 May 2023 17:01:00 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/news/content/images/2023/05/AWS-cognito.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>When you're building complex applications, one seemingly simple feature can be difficult to implement: user authentication. </p>
<p>Though some apps don't need it depending on their use case, many do. You might spend a ton of time building an authentication module to provide a secure experience to your users and protect their data and privacy. But you can also extract this out into a separate service like AWS Cognito.</p>
<p>According to the <a target="_blank" href="https://aws.amazon.com/cognito/">site</a>,</p>
<blockquote>
<p><em>Amazon Cognito</em> helps you implement customer identity and access management (CIAM) into your web and mobile applications.</p>
</blockquote>
<p>In short, AWS Cognito is designed to simplify the implementation of user authentication and authorization. With Cognito, you can focus on building your application's core functionality, while offloading the complexities of user management to the service.</p>
<p>In this tutorial, we will dive into the world of AWS Cognito by creating an AWS Cognito User Pool for user authentication. You'll see how to read the data from AWS Cognito and display it in a simple NextJS app.</p>
<p>Here is a quick demo of the app that we'll be building. I'll be focusing more on AWS Cognito than on NextJS, because you can port this service with any UI framework you wish. Still, you can get the full source code of the NextJS repo from <a target="_blank" href="https://github.com/5minslearn/aws_cognito">here</a>.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/05/5minslearn.gif" alt="Image" width="600" height="400" loading="lazy">
<em>AWS Cognito integrated with NextJS app</em></p>
<h2 id="heading-what-is-an-aws-cognito-user-pool">What is an AWS Cognito User Pool?</h2>
<p>AWS Cognito User Pools are a fully managed user directory service that allows you to create and manage a pool of users for your application. </p>
<p>User Pools provide a set of features that enable you to handle user registration, sign-in, and account recovery seamlessly.</p>
<h2 id="heading-benefits-of-aws-cognito-user-pools">Benefits of AWS Cognito User Pools</h2>
<h4 id="heading-easy-integration">Easy Integration</h4>
<p>Cognito User Pools seamlessly integrates with various application platforms and frameworks, including web, mobile, and server-side applications, making it versatile for different use cases.</p>
<h4 id="heading-secure-user-authentication">Secure User Authentication</h4>
<p>User Pools supports various authentication methods, including email and password, social sign-in (such as Google, Facebook, or Amazon), and multi-factor authentication. This ensures robust security for user authentication.</p>
<h4 id="heading-user-registration-and-management">User Registration and Management</h4>
<p>User Pools simplifies the user registration process by providing customizable sign-up pages and email verification. It also offers user self-service features like password reset and profile management, reducing the burden on the application backend.</p>
<h4 id="heading-scalability-and-performance">Scalability and Performance</h4>
<p>AWS handles the scalability and performance aspects of the user pool, allowing you to seamlessly handle millions of users without worrying about infrastructure provisioning or performance optimization.</p>
<h2 id="heading-how-to-create-an-aws-cognito-user-pool">How to Create an AWS Cognito User Pool</h2>
<p>Let's dive into the step-by-step process of creating an AWS Cognito User Pool.</p>
<h4 id="heading-sign-in-to-aws-management-console">Sign in to AWS Management Console</h4>
<p>Sign in to your AWS Management Console using your credentials.</p>
<h4 id="heading-aws-cognito-service"><strong>AWS Cognito Service</strong></h4>
<p>Search for "Cognito" in the AWS Management Console search bar and open the Cognito service. You will see a page as shown below:</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/05/image-132.png" alt="Image" width="600" height="400" loading="lazy">
<em>AWS Cognito Console</em></p>
<h4 id="heading-create-a-user-pool"><strong>Create a User Pool</strong></h4>
<p>Click on the "Create User Pool" button. You can see two provider types. One is the Cognito user pool which will be selected by default and provides regular email and password authentication. The other one is Federated identity providers which will allow users to log in with their social identity like Facebook, Google, and so on.</p>
<p>To keep it simple, I'm selecting only the Cognito user pool and selecting a User name and Email for sign-in options</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/05/image-133.png" alt="Image" width="600" height="400" loading="lazy">
<em>AWS Cognito - Configure sign-in options</em></p>
<h4 id="heading-configure-security-requirements"><strong>Configure security requirements</strong></h4>
<p>Configure your desired settings, such as password policies, multi-factor authentication, MFA methods, and User account recovery.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/05/image-134.png" alt="Image" width="600" height="400" loading="lazy">
<em>AWS Cognito - Set password policy and MFA</em></p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/05/image-136.png" alt="Image" width="600" height="400" loading="lazy">
<em>AWS Cognito - Set User account recovery</em></p>
<h4 id="heading-configure-sign-up-experience"><strong>Configure sign-up experience</strong></h4>
<p>Configure the sign-up experience based on your needs. You can set required attributes and custom attributes which will be shown to the user on the Sign-up page. Those data will be stored in the Cognito user pool.</p>
<h4 id="heading-configure-message-delivery"><strong>Configure message delivery</strong></h4>
<p>You'll want to select the email provider as "SES" for production applications. Since this is a demo, I'm selecting the "Send email with Cognito" option.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/05/image-138.png" alt="Image" width="600" height="400" loading="lazy">
<em>AWS Cognito - Configure message delivery</em></p>
<h4 id="heading-integrate-your-app">Integrate your app</h4>
<p>Provide a unique name for your user pool. Check the "Use the Cognito Hosted UI" option to use the UI provided by AWS.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/05/image-139.png" alt="Image" width="600" height="400" loading="lazy">
<em>AWS Cognito - Integrate App</em></p>
<p>Choose your desired domain type. To use a custom domain you must provide a DNS record and AWS Certificate Manager certificate.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/05/image-140.png" alt="Image" width="600" height="400" loading="lazy">
<em>AWS Cognito - Select Domain type</em></p>
<p>The next step is to initialize the app client. This app client represents your application and allows it to interact with the user pool. Configure the app client settings, including the allowed OAuth scopes and callback URLs. In our case here, it'll be http://locahost:3000, as we'll be running only on our local machine.</p>
<p>Enter a user friendly "App client name". You need to provide the callback URL of your site. After authentication, the user will be redirected to this URL.</p>
<p>We have to query the Cognito service to fetch user details. To do so, we need a client secret. Select the "Generate a client secret" option.</p>
<p>Explore all other options on the page and configure them based on your needs. I hope they're self explanatory. If you don't understand any of the options, just leave them as the default selection.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/05/image-141.png" alt="Image" width="600" height="400" loading="lazy">
<em>AWS Cognito - Generate a client secret</em></p>
<h4 id="heading-review-and-create">Review and Create</h4>
<p>Finally, a review page will be shown where you can review all your configurations. Click on "Create pool" to create your user pool.</p>
<p>We're half done. We've successfully created the User Pool.</p>
<h2 id="heading-hosted-ui-customization">Hosted UI Customization</h2>
<p>To customize your login page, click on the user pool you just created and click on App Integration tab.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/06/App-Integration-Tab.png" alt="Image" width="600" height="400" loading="lazy">
<em>AWS Cognito - App integration Tab</em></p>
<p>Locate Hosted UI Customization and click the "Edit" button. You can upload your logo and custom CSS and that will be applied on the Signup and Login page.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/06/Hosted-UI-Customization.png" alt="Image" width="600" height="400" loading="lazy">
<em>AWS Cognito - Hosted UI customization</em></p>
<p>You can view the hosted UI with your customization applied by constructing the following URL, with the specifics for your user pool, and typing it into a browser: <code>https://&lt;your_domain&gt;/login?response_type=code&amp;client_id=&lt;your_app_client_id&gt;&amp;redirect_uri=&lt;your_callback_url&gt;</code>. You can pull all the data from the dashboard. </p>
<p>Hit the URL. If you don't see the login page loaded and see an error page instead, don't panic. The changes you made on the dashboard may take a few minutes to be available.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/05/image-144.png" alt="Image" width="600" height="400" loading="lazy">
<em>Sign in page</em></p>
<p>As we don't have any account created, let's try to sign-up. AWS Cognito handles all the hassle of sending a verification email, asking the user to setup MFA, and so on.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/05/image-145.png" alt="Image" width="600" height="400" loading="lazy">
<em>Sign up page</em></p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/05/image-146.png" alt="Image" width="600" height="400" loading="lazy">
<em>AWS Cognito - Email verification</em></p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/05/image-147.png" alt="Image" width="600" height="400" loading="lazy">
<em>AWS Cognito - MFA</em></p>
<p>Hopefully, on pressing your final "Sign in" button, you'll be taken to an error page. Do you know why? We don't have our client up and running. If you notice the URL, you'll be in <code>http://localhost:3000</code>.</p>
<p>But, this is the right time for us to verify if our integration is correct. Let's open the User pool dashboard and see if our new signed up user is shown there.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/06/User-Pool-Database.png" alt="Image" width="600" height="400" loading="lazy">
<em>AWS Cognito - Users database</em></p>
<p>Great work! Our first user has shown up in the dashboard. Now let's pull the user info from the Cognito using NextJS.</p>
<h2 id="heading-how-to-pull-the-user-info-from-aws-cognito-using-nextjs">How to Pull the User Info from AWS Cognito using NextJS</h2>
<p>To pull the data from Cognito, we are going to use the APIs provided by Cognito. First, we need to get the access token using the <a target="_blank" href="https://docs.aws.amazon.com/cognito/latest/developerguide/token-endpoint.html">Token endpoint</a> and use that access token to get the user info using the <a target="_blank" href="https://docs.aws.amazon.com/cognito/latest/developerguide/userinfo-endpoint.html">User Info endpoint</a></p>
<p>To follow along with me you can use this <a target="_blank" href="https://github.com/5minslearn/deploy_nextjs_app">repo</a> which contains the NextJS boilerplate code.</p>
<p>Clone the repo, install the dependencies by entering the <code>yarn install</code> command, and run the app by entering the <code>yarn dev</code> command.</p>
<p>Once you're done, you'll land on this page after hitting <code>http://localhost:3000</code>:</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/05/image-149.png" alt="Image" width="600" height="400" loading="lazy"></p>
<p>If you follow the same signup / sign-in process as we done above, you'll be re-directed to the above page.</p>
<h3 id="heading-post-request-to-aws-cognito-token-endpoint">Post Request to AWS Cognito Token Endpoint</h3>
<p><strong>Sample Request:</strong></p>
<pre><code>POST https:<span class="hljs-comment">//mydomain.auth.us-east-1.amazoncognito.com/oauth2/token&amp;Content-Type='application/x-www-form-urlencoded'&amp;Authorization=Basic ZGpjOTh1M2ppZWRtaTI4M2V1OTI4OmFiY2RlZjAxMjM0NTY3ODkw                            </span>
&amp;grant_type=authorization_code&amp;client_id=<span class="hljs-number">1</span>example23456789&amp;code=AUTHORIZATION_CODE&amp;redirect_uri=com.myclientapp:<span class="hljs-comment">//myclient/redirect</span>
</code></pre><p>The token endpoint needs the following parameters:</p>
<ol>
<li><strong>Domain name</strong> – Go to the Cognito user pool, and in the App integration tab you can find the Domain name.</li>
<li><strong>Client ID and Client Secret</strong> – At the bottom of the same page, find the app client list and click on the app client you created. You can see the Client ID and Client Secret.</li>
<li><strong>Authorization Code</strong> – this is a code that is available in the URL we're being redirected to. (Refer to the below screenshot)</li>
</ol>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/05/image-150.png" alt="Image" width="600" height="400" loading="lazy">
<em>AWS Cognito - Authorization Code</em></p>
<p>Let's write the code to get the authorization code.</p>
<p>Open the <code>index.tsx</code> file and add the following code:</p>
<pre><code><span class="hljs-keyword">import</span> { useSearchParams } <span class="hljs-keyword">from</span> <span class="hljs-string">"next/navigation"</span>;
...
...
export <span class="hljs-keyword">default</span> <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">Home</span>(<span class="hljs-params"></span>) </span>{
<span class="hljs-keyword">const</span> searchParams = useSearchParams();
<span class="hljs-keyword">const</span> code = searchParams.get(<span class="hljs-string">"code"</span>);
...
</code></pre><p>Create an <code>.env.local</code> file in the project root folder and add the following credentials into it:</p>
<pre><code>NEXT_PUBLIC_COGNITO_CLIENT_ID=&lt;cognito_client_id&gt;
NEXT_PUBLIC_COGNITO_CLIENT_SECRET=&lt;cognito_client_secret&gt;
NEXT_PUBLIC_COGNITO_DOMAIN=&lt;cognito_domain&gt;
</code></pre><p>Now add the <code>useEffect</code> with the following block of code inside it:</p>
<pre><code><span class="hljs-keyword">import</span> axios <span class="hljs-keyword">from</span> <span class="hljs-string">'axios'</span>;

...

export <span class="hljs-keyword">default</span> <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">Home</span>(<span class="hljs-params"></span>) </span>{
  <span class="hljs-keyword">const</span> searchParams = useSearchParams();
  <span class="hljs-keyword">const</span> code = searchParams.get(<span class="hljs-string">"code"</span>);
  <span class="hljs-keyword">const</span> [name, setName] = useState(<span class="hljs-string">""</span>);
  <span class="hljs-keyword">const</span> [email, setEmail] = useState(<span class="hljs-string">""</span>);
  useEffect(<span class="hljs-function">() =&gt;</span> {
    <span class="hljs-keyword">if</span> (!code) <span class="hljs-keyword">return</span>;
    <span class="hljs-keyword">const</span> clientID = process.env.NEXT_PUBLIC_COGINTO_CLIENT_ID || <span class="hljs-string">""</span>;
    <span class="hljs-keyword">const</span> clientSecret = process.env.NEXT_PUBLIC_COGNITO_CLIENT_SECRET || <span class="hljs-string">""</span>;
    <span class="hljs-keyword">const</span> cognitoDomain = process.env.NEXT_PUBLIC_COGNITO_DOMAIN || <span class="hljs-string">""</span>;
    <span class="hljs-keyword">const</span> credentials = <span class="hljs-string">`<span class="hljs-subst">${clientID}</span>:<span class="hljs-subst">${clientSecret}</span>`</span>;
    <span class="hljs-keyword">const</span> base64Credentials = Buffer.from(credentials).toString(<span class="hljs-string">"base64"</span>);
    <span class="hljs-keyword">const</span> basicAuthorization = <span class="hljs-string">`Basic <span class="hljs-subst">${base64Credentials}</span>`</span>;
    <span class="hljs-keyword">const</span> headers = {
      <span class="hljs-string">"Content-Type"</span>: <span class="hljs-string">"application/x-www-form-urlencoded"</span>,
      <span class="hljs-attr">Authorization</span>: basicAuthorization,
    };
    <span class="hljs-keyword">const</span> data = <span class="hljs-keyword">new</span> URLSearchParams();
    <span class="hljs-keyword">let</span> token = <span class="hljs-string">""</span>;
    data.append(<span class="hljs-string">"grant_type"</span>, <span class="hljs-string">"authorization_code"</span>);
    data.append(<span class="hljs-string">"client_id"</span>, clientID);
    data.append(<span class="hljs-string">"code"</span>, code);
    data.append(<span class="hljs-string">"redirect_uri"</span>, <span class="hljs-string">"http://localhost:3000"</span>);
    axios
      .post(
        <span class="hljs-string">`<span class="hljs-subst">${cognitoDomain}</span>/oauth2/token`</span>,
        data,
        { headers }
      )
      .then(<span class="hljs-function">(<span class="hljs-params">res</span>) =&gt;</span> {
        <span class="hljs-keyword">if</span> (res.status != <span class="hljs-number">200</span>) <span class="hljs-keyword">return</span>;
        token = res?.data?.access_token;
        <span class="hljs-keyword">const</span> userInfoHeaders = {
          <span class="hljs-attr">Authorization</span>: <span class="hljs-string">"Bearer "</span> + token,
        };
        axios
          .get(
            <span class="hljs-string">`<span class="hljs-subst">${cognitoDomain}</span>/oauth2/userInfo`</span>,
            { <span class="hljs-attr">headers</span>: userInfoHeaders }
          )
          .then(<span class="hljs-function">(<span class="hljs-params">userInfo</span>) =&gt;</span> {
            <span class="hljs-keyword">if</span> (userInfo.status != <span class="hljs-number">200</span>) <span class="hljs-keyword">return</span>;
            setName(userInfo.data?.username);
            setEmail(userInfo.data?.email);
          });
      });
  }, [code]);

...
...
</code></pre><p>What are we doing in the above code? Let's explore.</p>
<p>We need to get the access token. This token is needed to authorize the user whenever they use the app. </p>
<p>To get that token, we have to make an HTTP POST request to the AWS Cognito service attaching the Base64 encode of our client id and secret in the Authorization Header. Also, we have to pass the code that we received from the URL when the user was redirected.</p>
<p>We'll use this token to get the user's info. We're storing the user info (name and email) in the app's state variable.</p>
<p>We got the user's name and email from the above code. Let's display them on the screen.</p>
<pre><code>...
...
&lt;h2 className={inter.className}&gt;Welcome to <span class="hljs-number">5</span>minslearn!&lt;/h2&gt;
      {name &amp;&amp; email ? (
        <span class="xml"><span class="hljs-tag">&lt;&gt;</span>
          <span class="hljs-tag">&lt;<span class="hljs-name">h2</span> <span class="hljs-attr">className</span>=<span class="hljs-string">{inter.className}</span>&gt;</span>{name}<span class="hljs-tag">&lt;/<span class="hljs-name">h2</span>&gt;</span>
          <span class="hljs-tag">&lt;<span class="hljs-name">p</span> <span class="hljs-attr">className</span>=<span class="hljs-string">{inter.className}</span>&gt;</span>{email}<span class="hljs-tag">&lt;/<span class="hljs-name">p</span>&gt;</span>
        <span class="hljs-tag">&lt;/&gt;</span></span>
      ) : (
        <span class="xml"><span class="hljs-tag">&lt;&gt;</span><span class="hljs-tag">&lt;/&gt;</span></span>
      )}
...
...
</code></pre><p>Awesome. Our app is completely ready now.</p>
<p>Once you sign-in from Cognito again, you'll be redirected to your site and you'll be shown a page with your name and email (like the one shown in the below screenshot).</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/05/image-151.png" alt="Image" width="600" height="400" loading="lazy">
<em>Get user name and email from AWS Cognito using Next.js</em></p>
<p>Awesome – we successfully pulled the data from AWS Cognito and showed it in our app.</p>
<h2 id="heading-conclusion">Conclusion</h2>
<p>In this tutorial, you learned how to build user authentication by creating a Cognito user pool. You also saw how to pull data from Amazon Cognito using NextJS.</p>
<p>Hope you enjoyed reading this article! Here's the link to the <a target="_blank" href="https://github.com/5minslearn/aws_cognito">repo</a>.</p>
<p>If you wish to learn more about AWS, subscribe to my <a target="_blank" href="https://5minslearn.gogosoon.com/?ref=fcc_aws_cognito">newsletter</a> (<a target="_blank" href="https://5minslearn.gogosoon.com/?ref=fcc_aws_cognito">https://5minslearn.gogosoon.com/</a>) and follow me on social media. </p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ Security and Privacy – What You Should Know to Protect Your Data ]]>
                </title>
                <description>
                    <![CDATA[ I've talked a lot about security and privacy in my "A Beginners Guide to Digital Security" and "What Is Digital Privacy" articles. So why are we flogging this certifiably dead horse now? Because it's not dead. Security and privacy are as or more impo... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/understanding-security-and-privacy-8-10/</link>
                <guid isPermaLink="false">66b9965ac39234149cf0110d</guid>
                
                    <category>
                        <![CDATA[ information security ]]>
                    </category>
                
                    <category>
                        <![CDATA[ privacy ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Security ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ David Clinton ]]>
                </dc:creator>
                <pubDate>Wed, 01 Mar 2023 18:36:46 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/news/content/images/2023/03/pexels-photomix-company-96612.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>I've talked a lot about security and privacy in my "<a target="_blank" href="https://www.freecodecamp.org/news/understanding-digital-security/">A Beginners Guide to Digital Security</a>" and "<a target="_blank" href="https://www.freecodecamp.org/news/beginners-guide-to-digital-privacy/">What Is Digital Privacy</a>" articles. So why are we flogging this certifiably dead horse now?</p>
<p>Because it's not dead. Security and privacy are as or more important than anything else in IT. Most of us don't think about them enough, but it's something you can't really overdo. </p>
<p>As an outstanding IT professional I once worked with would have said: "Paranoid is only the beginning." And besides, there are still some urgent and fascinating topics we haven't addressed.</p>
<p>So we'll spend some time exploring how the core security tools (like authentication controls and encryption) can be applied to solve a much wider range of security and privacy problems. And we'll also go face to face with a couple of significant threats that exist thanks to the very devices we've come to love.</p>
<p>This chapter was taken from the book, <a target="_blank" href="https://amzn.to/3FXXAfb">Keeping Up: Backgrounders to All the Big Technology Trends You Can't Afford to Ignore</a>. If you'd prefer to watch this chapter as a video, feel free to follow along here:</p>
<div class="embed-wrapper">
        <iframe width="560" height="315" src="https://www.youtube.com/embed/FOlJEp4UEiA" style="aspect-ratio: 16 / 9; width: 100%; height: auto;" title="YouTube video player" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen="" loading="lazy"></iframe></div>
<h1 id="heading-blockchains-and-security">Blockchains and Security</h1>
<p>The new-technology-hype machine just loved blockchains when they first came to public attention. There were frequent gushing articles in the media about how this was <em>it</em>: blockchains were poised to change the world, ushering in a golden age of endless joy and fluffy fairy unicorns. Rejoice! Salvation is come.</p>
<p>But despite all that, blockchain technologies are, in fact, a big deal. Before we go there, though, just what is this stuff all about?</p>
<p>A blockchain is a distributed string of digital records used to record and validate transactions. The goal is to maintain a reliable and incorruptible public "ledger" of transactions to secure and improve the way financial and commodity operations are recorded.</p>
<p>The <em>blocks</em> in <em>blockchains</em> are actually data packets containing some identifying meta information (including a timestamp) and a cryptographic hash. </p>
<p>The hash – which is produced by software running on the computer that generates the block – is derived from the unique contents of the previous block in the chain which, in turn, was based on the block that preceded it.</p>
<p>Because the contents of one block are dependent on the state of others, no single block can be modified without leaving behind some obvious and easily traceable evidence. </p>
<p>This explains why it's called a <em>chain</em>, because if any one link (block) is altered, the entire chain will break. In effect, a chain will never be trusted unless it maintains the clear consensus of the creators of all its blocks.</p>
<p>Generating the hashes for blockchains is compute-intensive and can incur significant costs in compute power and electricity. </p>
<p>This is by design, since it all but forces blockchains into the hands of distributed communities, rather than individuals or small groups. This decentralization makes chains less vulnerable to attack and adds robust reliability to the data that's being managed.</p>
<h2 id="heading-blockchains-and-cryptocurrency">Blockchains and Cryptocurrency</h2>
<p>Like most people, I first heard about blockchains in the context of cyptocurrencies like Bitcoin and Ethereum. Cryptocurrencies are digital assets that can be used as alternatives to fiat money (that is, the kind of virtual and mutually accepted representations of value found in exchange instruments like national currencies).</p>
<p>Using the funds in a cryptocurrency account, I could pay for goods or services while, in many cases, retaining anonymity. Of course, this very anonymity carries significant risks.</p>
<p>Cryptocurrencies have, for instance, been used to support criminal activities. The people behind ransomware attacks will often demand cryptocurrency payments in exchange for the decryption keys that you <em>hope</em> will restore access to your lost data. </p>
<p>And the contents of large cryptocurrency accounts have been effectively lost when controlling servers crashed (or were forced down) or, in at least one case, when the administrator of a currency worth millions of dollars died without sharing his authentication information.</p>
<p>It's worth noting that the relative value of funds in the account itself – when measured against the ability to exchange them for fiat money – has historically been volatile, unpredictably suffering from violent market fluctuations.</p>
<h2 id="heading-blockchains-and-accounting">Blockchains and Accounting</h2>
<p>Blockchains can solve many of the same old problems addressed by traditional accounting practices. Specifically, integrating blockchain verification into a business's financial processes can provide secure transactions and on-demand access to immutable and transparent records. </p>
<p>The ongoing, real-time existence of such records could possibly remove the need for periodic audits and monthly reconciling.</p>
<p>Many of those same features could profoundly change the very nature and value of contracts – a change that could spill over beyond accounting, in to the practice of law.</p>
<h2 id="heading-blockchains-and-insurance">Blockchains and Insurance</h2>
<p>The potential security and privacy features of properly designed blockchains can also create efficiencies and value in the insurance industry. </p>
<p>For one example, having a single blockchain where all the insurers within a particular market can reliably share their customer account information can help reduce claims fraud. Suspicious behavior and multiple claims for a single event will be more readily visible within a transparent and highly accessible system that includes data from all participating parties.</p>
<p>Being able to reduce administrative duplication can also greatly streamline the processing of legitimate claims. </p>
<p>You'll appreciate this when you consider how a victim's insurer will often process their customer's claim using similar steps to those used by the insurer you're claiming from. But if both companies are able to openly share their data, the process can be unified and, even better, automated.</p>
<p>Perhaps most significantly, the delivery of healthcare can be enhanced and made more efficient if critical personal records can be safely and instantly accessed. And – you guessed it – blockchains can be helpful here, too.</p>
<p>What kinds of automation are we talking about? Well, going back to accident claims, a "smart contract" is software that regularly checks for changes to the status of associated objects. The simple mouse click approval of an insurance appraiser, for instance, could set into motion all the events necessary to pay a claim, notify all related parties, and update existing records.</p>
<p>Maybe – just maybe – insurance isn't as boring as people think.</p>
<h1 id="heading-what-is-multi-factor-authentication">What is Multi-Factor Authentication?</h1>
<p>Passwords are terrible things. Sure, we can't just leave our devices and online accounts open to anyone. But who decided that asking people to memorize long strings of meaningless text (like <em>sIIkdm^&amp;sv234LKi</em>) was the solution? </p>
<p>Sure, you could choose easy-to-remember passwords like <em>mysecret</em> or this clever variation: <em>mysecret22</em>. But anything that's that easy to remember is equally easy to guess. And double that if you're using the same password for multiple accounts. In other words, that kind of protection is just not worth the effort.</p>
<p>There are, by the way, two ways to improve your passwords:</p>
<ul>
<li>Use a password vault to generate and safely store insanely complex passwords that you won't need to remember: you can just copy and paste them into any login pages you visit.</li>
<li>Use long (15-20 character) passwords that incorporate memorable, but unconnected, words. Something like: <em>house-seventy-warfare-calf</em>.</li>
</ul>
<p>Mathematically speaking, it's highly unlikely that anyone will have the compute power and time needed to crack that one. And it's not so hard to memorize.</p>
<p>But when it comes to particularly sensitive sites – like the ones where you do your banking – even good passwords aren't good enough. For that reason, more and more organizations are incorporating multi-factor authentication (MFA) into their security profiles.</p>
<p>A website or application configured with MFA requires you to present more than one kind of evidence that you are who you claim to be. </p>
<p>One could be based on something you know, and another could be evidence based on something you have. "Something you know" could be a password, while "something you have" could be a standalone MFA device or an app running on your smartphone. </p>
<p>It'll often work by having the application send a short-lived code via instant message to a preset phone number. You'll be expected to enter the code onto the authentication login page.</p>
<h1 id="heading-what-are-federated-identities">What Are Federated Identities?</h1>
<p>Once you've got the basics of authentication out of the way, through strong passwords and/or MFA, there's the question of authorization. In other words, what resources your logged in account will be able to access. </p>
<p>Individual systems will control users through some kind of access controls. Microsoft Windows, for example, uses Active Directory, Linux has object permissions, and cloud providers like Amazon Web Services can apply roles and policies.</p>
<p>But if you want your users to be able to move <em>between</em> services without having to log in to each service individually, or if you would just prefer not to have to manage authentication at all, you can implement a federated identity.</p>
<p>You've probably already experience federation without even knowing it. Logging into a third party web service using your Google account is one form of federation. </p>
<p>The service integrates its authentication system with a federation provider using an identity technology like Security Assertion Markup Language (SAML) or OAuth. </p>
<p>When you accept the terms and log in, the provider will share just enough of your identity information with the third party service to enable an account.</p>
<h1 id="heading-digital-surveillance">Digital Surveillance</h1>
<p>Because it can both protect you from harm and also invade your privacy, surveillance is a two-edged sword. But <em>digital</em> surveillance is a two-edged sword that's a whole lot sharper. Let me explain why that is.</p>
<p>Closed circuit video cameras have been in use within security systems since at least the 1930's, but they really did only one thing: record images that were usually stored locally and then, after a few days or so, overwritten with new recordings. </p>
<p>That was helpful but, to be useful, you would need to physically get to the tape and then laboriously search through, find, and view any images of interest.</p>
<p>Digital surveillance cameras are certainly cheaper than their analog equivalents, much easier to physically hide, and easy to access through networks. </p>
<p>But there's also a lot more you can do with digital video feeds. You can, for instance, configure email alerts whenever the camera detects motion. Or you can redirect a video stream to cloud services (like Amazon's Kinesis) where it can be integrated with your data analytics and machine learning operations or interpreted in near real-time by an object and face recognition service (like Amazon's Rekognition).</p>
<p>All of those tools can be used in the service of both positive and harmful goals. The fact is that there are now countless millions of such cameras deployed around the world that are, in many cases, connected to large-scale surveillance operations. At the very least you should be aware of the potential as well as the risk that such technologies present.</p>
<h1 id="heading-what-is-a-backdoor">What is a Backdoor?</h1>
<p>A <em>backdoor</em> is a hardware or software-based vulnerability that was intentionally built into a device or the operating system that runs it.</p>
<p>In some cases, the backdoor exists with the full knowledge of the customer, as it was intended to enable remote support or the automated installation of patches and updates. But that's not always the case.</p>
<p>Governments, government-associated companies, and criminal organizations have been caught shipping sensitive compute and networking devices with dangerous backdoors. Such vulnerabilities have been used to bypass encryption protection to monitor communications, steal research data, and harvest authentication information.</p>
<p>Backdoors can take the form of active malware that collects local data and then sends it to remote attack servers, or passively permits remote logins through insecure network environments.</p>
<p>Protecting yourself from backdoors requires defence on multiple levels, including:</p>
<ul>
<li>Careful vetting of potential hardware vendors (taking into account their home countries and associations)</li>
<li>Regular monitoring of reliable technology information sources for news of new vulnerability discoveries</li>
<li>Careful monitoring of your devices' network activities</li>
<li>Regular patching of your networking and compute systems</li>
<li>Blind, stupid luck in large doses</li>
</ul>
<p>Thanks for reading! Hopefully you now have a better idea of why security and privacy are so important and how to protect your own.</p>
<p><em>YouTube videos of all ten chapters from this book <a target="_blank" href="https://www.youtube.com/playlist?list=PLSiZCpRYoTZ6UWl4xialvwLOKyHYYJUiC">are available here</a>. Lots more tech goodness - in the form of books, courses, and articles - <a target="_blank" href="https://bootstrap-it.com">can be had here</a>. And consider taking my <a target="_blank" href="https://www.udemy.com/user/david-clinton-12/">AWS, security, and container technology courses here</a>.</em></p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ How Does a VPN Work? Tutorial for Beginners ]]>
                </title>
                <description>
                    <![CDATA[ Do you worry about online security while using public Wi-Fi? Or has someone told you that you might get hacked when using an insecure connection and someone will steal all your details? Well, you might have also heard that you should use a VPN to pro... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/how-does-a-vpn-work/</link>
                <guid isPermaLink="false">66ba2a44c346e93df556afea</guid>
                
                    <category>
                        <![CDATA[ encryption ]]>
                    </category>
                
                    <category>
                        <![CDATA[ information security ]]>
                    </category>
                
                    <category>
                        <![CDATA[ privacy ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Security ]]>
                    </category>
                
                    <category>
                        <![CDATA[ vpn ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Tejan Singh ]]>
                </dc:creator>
                <pubDate>Tue, 24 Jan 2023 00:08:44 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/news/content/images/2023/01/privecstasy-CXlqHmQy3MY-unsplash.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>Do you worry about online security while using public Wi-Fi? Or has someone told you that you might get hacked when using an insecure connection and someone will steal all your details?</p>
<p>Well, you might have also heard that you should use a VPN to protect your online privacy. But do you have any idea what it is and how it works?</p>
<p>Don’t worry – in this article, we will go through everything that you need to know to about what and when to use a VPN and when to avoid using it. So, without any further delay, let’s get started.</p>
<h2 id="heading-what-is-a-vpn">What is a VPN?</h2>
<p>VPN stands for Virtual Private Network. It is a type of network you can connect to which will help you protect your online security and privacy.</p>
<p>A VPN acts as a tunnel through which all your data goes from your location to your destination. It's all properly encrypted and secure so that any outside party can’t see what data you are transferring.</p>
<p>There are many advantages to using VPNs, such as:</p>
<ul>
<li>Privacy</li>
<li>Anonymity</li>
<li>Security</li>
<li>Encryption</li>
<li>Masking or changing your original IP address, so others can’t track you</li>
</ul>
<p>We'll discuss these advantages and more further down in this article, but first you need to understand how a VPN works so you can use it properly.</p>
<h2 id="heading-how-does-a-vpn-work">How Does a VPN Work?</h2>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/01/image-223.png" alt="Image" width="600" height="400" loading="lazy">
<em><a target="_blank" href="https://www.cactusvpn.com/beginners-guide-to-vpn/vpn-encryption/">Image source</a></em></p>
<p>A VPN works by routing / forwarding all your data from your laptop or phone through your VPN to the internet, rather than directly through your ISP. </p>
<p>When you use a VPN, it encrypts all your data on the client side. Then after the data is encrypted, it's passed through a VPN tunnel which others can’t access, and then it reaches the internet.</p>
<p>But before going through the VPN tunnel, the request is first sent to your ISP, but as it's encrypted, ISP can’t figure out what you are trying to access. So it forwards your request to your VPN server. Then the VPN sends the request to your desired IP address or website.</p>
<h2 id="heading-advantages-of-using-a-vpn">Advantages of Using a VPN</h2>
<p>Now let's discuss some of the advantages in more detail.</p>
<h3 id="heading-unblock-websites-amp-bypass-filters">Unblock websites &amp; bypass filters</h3>
<p>There might be scenarios where you won’t be able to access certain websites which are blocked by your office or school or college department, but you still want or need to access them. </p>
<p>These websites may include social networking sites, movie downloading websites, or any kind of media streaming websites. </p>
<p>In these cases, a VPN will help you bypass all the blocking filters and let you access the websites that you wish to access without anyone’s help and others will have no idea what you're accessing.</p>
<h3 id="heading-bypass-regional-restrictions">Bypass regional restrictions</h3>
<p>People in certain countries cannot access any websites outside their country like YouTube or Google because their government doesn't want them to use any other websites. </p>
<p>If you're in one of these places and still want to access these blocked websites, then a VPN can help by bypassing all the regional restrictions. You'll be able to access all the restricted or blocked content without letting the government know about your activity.</p>
<h3 id="heading-access-geo-blocked-websites">Access geo-blocked websites</h3>
<p>There are several websites, special offers, and services which are available for specific countries or regions. But what if you also want to take advantage of that opportunity, but it’s not accessible in your region?</p>
<p>A VPN can help you by changing your IP address which will change your location on the internet. Then you will seem to be a user from that country and you can also have all the benefits that people in that particular region are enjoying.</p>
<h3 id="heading-change-your-ip-address">Change your IP address</h3>
<p>Your ISP is tracking your every move on the internet – which websites you are visiting, the amount of time you are spending there, and when you log in and log out from a website. </p>
<p>But sometimes you may need to hide your browsing history/activity from your local network/ISP. In that case, using a VPN can help you keep all your records encrypted, and your ISP will have no idea what you are doing with your internet. All your internet browsing activity will be masked by the VPN.</p>
<h3 id="heading-online-anonymity-and-privacy">Online anonymity and privacy</h3>
<p>Everything on the internet is tracking you. Website and web servers that you use or visit know your IP and location. That can be used to their advantage and every time you visit the same website, they will know that it’s you, and they will track your usage and your behavior. This isn't necessarily a good thing since you are giving them a lot of information without knowing what. </p>
<p>A VPN can help keep your identity anonymous so you don't need to worry about identity leakage or any kind of tracking activity.</p>
<h3 id="heading-enhanced-security">Enhanced security</h3>
<p>As discussed above, using VPN can keep your identity safe and also keeps your data encrypted while you browse the internet. As a result, it enhances security and the chances that someone might hack you will be lower. </p>
<p>So, using VPN will keep you safe when you are using any public Wi-Fi or browsing websites which are not secure.</p>
<h2 id="heading-disadvantages-of-vpn">Disadvantages of VPN</h2>
<p>There are some downsides to using a VPN as well:</p>
<h3 id="heading-slows-your-connections">Slows your connections</h3>
<p>VPNs tend to slow your internet connection. As the VPN servers might be located far away from you (might be in some other geographic location or country), your data will need to travel farther across the internet and will slow your connection speed.</p>
<h3 id="heading-vpns-log-your-activities">VPNs log your activities</h3>
<p>VPNs keep logs of your activities. You heard right. Regardless of what policies they have, even if they say that they don’t keep any logs, they do. Governments have taken action against VPNs, and the VPN companies tend to deliver all the activity logs of a user in cases of international crime, terrorist activity, or hacking. </p>
<p>So – it goes without saying – make sure you don’t use VPNs for any illegal activities. Use it instead to protect yourself and your identity from malicious hackers.</p>
<h3 id="heading-specific-blockades-of-vpn-services">Specific blockades of VPN services</h3>
<p>There are many websites and streaming services like Netflix which will not allow any unusual VPN users to access their content. So, there might be many cases where your VPN will help, but there are many websites and servers which won't allow you to access them using a VPN.</p>
<h3 id="heading-cost">Cost</h3>
<p>Although there are many free VPN services which you can use, if you are planning to use VPN on regular basis then you might need to purchase a paid version. Free VPNs don’t provide good speed and the amount of data usage is also limited on a daily basis. VPNs cost around $10 to $15 per month for the premium services.</p>
<h2 id="heading-how-a-vpn-can-help-you-protect-your-online-identity">How a VPN Can Help You Protect Your Online Identity</h2>
<p>When you use the internet, the data you send or request through a web browser to any server (for example, when Google searching), along with your request, IP address (for example, your laptop or mobile) and destination IP address (like Google) first reaches your ISP. </p>
<p>The ISP monitors all your activity and then forwards your request to the destination IP address and also gets back the information in the same way.</p>
<p>All your information travels through a middle station, your ISP. They have all your history of using the internet and how you are using the internet. But when you are using a VPN, that's not the case.</p>
<p>Whenever you send any request to any website or server, instead of connecting directly to the server, it first reaches the VPN server. There, all your requests and information are encrypted and then sent forward to your desired website.</p>
<p>Your ISP is still there to monitor things. But if you're using VPN, it will automatically change the IP address of your destination to a different IP address and encrypt the destination IP address. This way, your ISP won’t be able to read it and will assume that all your requests were going to the IP address of the VPN. So it will forward all your requests to the VPN.</p>
<p>When your request or information reaches your VPN, it will be decrypted, and it will forward your request to the website you wish to access. The website or server will get the VPN request and will assume that the request is coming from that VPN server. It will allow the VPN to access the website and you'll be able to visit the website without letting your ISP know.</p>
<p>Similarly, when you download a file, all the traffic or information flows from a web server to the VPN. The VNP encrypts all the information and then forwards it to your ISP – which will still have no idea what’s going on, as the information is encrypted.</p>
<p>Finally, the info gets forwarded to your laptop or mobile. When it reaches your device, it will be decrypted, and you will be able to view the website as it's available to others.</p>
<h2 id="heading-frequently-asked-vpn-questions">Frequently Asked VPN Questions</h2>
<h3 id="heading-is-vpn-traffic-encrypted">Is VPN traffic encrypted?</h3>
<p>YES! As explained above, all the traffic passed through VPN is encrypted through various encryption algorithms like the RSA (Rivest–Shamir–Adleman) algorithm, AES (Advanced Encryption Standard), and others.</p>
<h3 id="heading-what-is-an-always-on-vpn-what-is-a-kill-switch">What is an always-on VPN? What is a kill switch?</h3>
<p>I will try to explain this concept in approachable terms. Always on VPN is a service which allows you to automatically connect to a VPN whenever you are connected to the internet. These kinds of services are used by companies which don’t want outside users to access their data and only want their employees to access their data from an outside, remote location.</p>
<p>Whenever an employee, company, or user who has access to the resources tries to access, then they need to enter valid credentials to automatically connect to the VPN. This also allows them to access all their work and resources present inside the company from an outside or remote location.</p>
<p>A VPN kill switch is another major feature offered by VPN service providers. Whenever there is a sudden or accidental loss of a VPN connection, in that case, your information might get exposed.</p>
<p>To deal with that, a VPN kill switch is used to terminate your internet connection when there is no VPN connection. This is a very useful feature for protecting your data from outside users.</p>
<p>So, when the kill switch is ON, internet connections will be terminated. But when the kill switch is OFF, then the internet will not be terminated when there is a loss of VPN connection.</p>
<h3 id="heading-is-a-vpn-necessary">Is a VPN necessary?</h3>
<p>A VPN is not strictly necessary depending on your needs and activities, but it's useful. </p>
<p>Using VPN helps protect your online security, privacy, and anonymity. It will also protect you from malicious threats and trackers when you are using an unsecured website or using any unknown wi-fi connection which might be public.</p>
<h3 id="heading-is-a-vpn-100-safe">Is a VPN 100% safe?</h3>
<p>Nothing on the internet is 100% secure. There are and will always be ways to expose services like VPNs. But using a VPN will typically help you more than it'll harm you.</p>
<h3 id="heading-is-vpn-legal-in-india">Is VPN legal in India?</h3>
<p>Yes! VPNs are legal in India and can be used freely to access any content on the internet without any restrictions. Just remember that you should not use it for any illegal activity, as there are always ways to track you regardless of what VPN service you use.</p>
<h3 id="heading-do-vpns-log-or-store-my-data">Do VPNs log or store my data?</h3>
<p>VPNs log all your data and store all information, and it might be able to share your data with government authorities. There have been many cases where VPNs say they have a no logs policy but still keep logs of users and shared them with authorities.</p>
<h3 id="heading-what-is-the-main-difference-between-a-firewall-and-a-vpn">What is the main difference between a firewall and a VPN?</h3>
<table>
 <tbody><tr>
  <td>
  <p><span>&nbsp;&nbsp;Firewall</span></p>
  </td>
  <td>
  <p><span>VPN</span></p>
  </td>
 </tr>
 <tr>
  <td>
  <ul>
   <li><span>&nbsp;&nbsp;Software or hardware
       device&nbsp;</span></li>
  </ul>
  <p><span>&nbsp;</span></p>
  </td>
  <td>
  <ul>
   <li><span>Service or Server</span></li>
  </ul>
  <p><span>&nbsp;</span></p>
  </td>
 </tr>
 <tr>
  <td>
  <ul>
   <li><span>&nbsp;&nbsp;acts as a filter to allow
       and block websites and users to access a particular website</span></li>
  </ul>
  </td>
  <td>
  <ul>
   <li><span>it encrypts the IP address and
       information from both source and destination and allows users to access
       all blocked or restricted websites and even private network information.</span></li>
  </ul>
  </td>
 </tr>
</tbody></table>

<h2 id="heading-conclusion">Conclusion</h2>
<p>VPNs definitely have their advantages and disadvantages. Organizations use them to protect their private networks and information. You can also use one to access blocked content, and to protect your privacy, anonymity and security. Using a VPN for legal activities is beneficial and adds extra security.</p>
<p>When you are not sure about using or accessing any unknown (public/private) wi-fi or unsecured untrusted website, then you should always use a VPN (free/paid). Although paid VPNs have their advantages, occasionally using free VPNs won’t harm you and will still serve the purpose.</p>
<p>And just remember – don't ever try to use a VPN to perform any illegal activities.</p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ What Is Digital Privacy? A Beginner's Guide to Protecting Your Data ]]>
                </title>
                <description>
                    <![CDATA[ For all the many benefits we enjoy from technology – and particularly the technologies that make up the public internet – there are plenty of costs, too.  Figuring out how you want to balance the benefits against the costs can take some careful think... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/beginners-guide-to-digital-privacy/</link>
                <guid isPermaLink="false">66b995bfa3099de4654e61ac</guid>
                
                    <category>
                        <![CDATA[ information security ]]>
                    </category>
                
                    <category>
                        <![CDATA[ privacy ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ David Clinton ]]>
                </dc:creator>
                <pubDate>Tue, 10 Jan 2023 17:45:33 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/news/content/images/2023/01/pexels-kevin-paster-1901388.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>For all the many benefits we enjoy from technology – and particularly the technologies that make up the public internet – there are plenty of costs, too. </p>
<p>Figuring out how you want to balance the benefits against the costs can take some careful thinking. Here's a concise and effective way to describe the equation (whose source I've sadly forgotten):</p>
<blockquote>
<p>"Select any two of privacy, security, and convenience. But you can't have all three."</p>
</blockquote>
<p>In other words, if security is a critical value for you, then you'll need to give up on 24/7 instant access to your money, credit, and personal accounts. That's because that kind of access requires exposing your accounts across public networks at a level that won't permit as much data protection as you might want. </p>
<p>Similarly, what if you just can't live without the convenience of getting news updates and social connectivity through sites belonging to third party businesses that collect and use your personal information? Well, you'll need to "pay for it" by giving up a measure of your privacy.</p>
<p>This tutorial was taken from my book, <a target="_blank" href="https://amzn.to/3FXXAfb">Keeping Up: Backgrounders to All the Big Technology Trends You Can't Afford to Ignore</a>. If you'd prefer to watch this chapter as a video, feel free to follow along here:</p>
<div class="embed-wrapper">
        <iframe width="560" height="315" src="https://www.youtube.com/embed/p7PmzNLzUws" style="aspect-ratio: 16 / 9; width: 100%; height: auto;" title="YouTube video player" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen="" loading="lazy"></iframe></div>
<p>Of course, most of us will choose some blend of those three elements based on a practical compromise between competing values and needs. But making a reasonable decision on that blend will require solid information. That's what you'll find through the rest of this article.</p>
<h1 id="heading-how-companies-get-your-data">How Companies Get Your Data</h1>
<p>Curious about what kinds of personal and even private data you may be exposing through the course of a normal day on the internet? </p>
<p>How about using "all kinds" as a starting point? Perhaps the best way to understand the scope and nature of the problem is to break it down by platform.</p>
<h2 id="heading-data-from-financial-transactions">Data from Financial Transactions</h2>
<p>Take a moment to visualize what's involved in a simple online credit card transaction. You probably signed into the merchant's website using your email address as an account identifier and a (hopefully) unique password. </p>
<p>After browsing a few pages, you'll add one or more more items to the site's virtual shopping cart. When you've got everything you need, you'll begin the checkout process, entering shipping information, including a street address and your phone number. You might also enter the account number of the loyalty card the merchant sent you and a coupon code you received in an email marketing message.</p>
<p>Of course, the key step involves entering your payment information which, for a credit card, will probably include the card owner's name and address, and the card's number, expiry date, and a security code. </p>
<p>Assuming the merchant infrastructure is compliant with Payment Card Industry Data Security Standard (PCI-DSS) protocols for handling financial information, then it's relatively unlikely that this information will be stolen and sold by criminals. But either way, it will still exist within the merchant's own database.</p>
<p>To flesh all this out a bit, understand that using your loyalty card account and coupon code can communicate a lot of information about your shopping and lifestyle preferences, along with records of some of your previous activities. </p>
<p>Your site account comes with contact information and your home location. All of that information can, at least in theory, be stitched together to create a robust profile of you as a consumer and citizen.</p>
<p>It's for these reasons that I personally prefer using third-party e-commerce payment systems like PayPal because such transactions leave no record of my specific payment method and on the merchant's own databases.</p>
<h2 id="heading-data-from-devices">Data from Devices</h2>
<p>Modern operating systems are built from the ground up to connect to the internet in multiple ways. They'll often automatically query online software repositories for patches and updates and "ask" for remote help when something goes wrong. </p>
<p>Some performance diagnostics data is sent and stored online, where it can contribute to statistical analysis or bug diagnosis and fixes. Individual software packages might connect to remote servers independently of the OS to get their own things done.</p>
<p>All that's fine. Except that you might have a hard time being sure whether <em>all</em> the data coming and going between your device and the internet is stuff you're OK with sharing. </p>
<p>Can you know that private files and personal information aren't being swept in with all the other data? And are you confident that none of your data will ever accidentally find its way into some unexpected application lying beyond your control?</p>
<p>To illustrate the problem, I'd refer you to devices powered by digital assistants like Amazon's Alexa and the Google Assistant ("Ok Google"). Since, by definition, the microphones used by digital assistants are constantly listening for their key word ("Alexa..."), everything anyone says within range of the device is registered. </p>
<p>At least some of those conversations are also recorded and stored online and, as it turns out, some of <em>those</em> have eventually been heard by human beings working for the vendor. In at least one case, an inadvertently-recorded conversation was used to convict a murder suspect.</p>
<p>Amazon, Google, and other players in this space are aware of the issue and are trying to address it. But it's unlikely they'll ever fully solve it. Remember, convenience, security, and privacy don't work well together.</p>
<p>Now if you think the information from computers and tablets that can be tracked and recorded is creepy, wait 'till you hear about thermostats and light bulbs. </p>
<p>As more and more household appliances and tools are adopted as part of "smart home" systems, more and more streams of performance data will be generated alongside them. </p>
<p>And, as has already been demonstrated in multiple real-world applications, all that data can be programmatically interpreted to reveal significant information about what's going on in a home and who's doing it.</p>
<h2 id="heading-data-from-mobile-devices">Data from Mobile devices</h2>
<p>Have you ever stopped in the middle of a journey, pulled out your smartphone, and checked a digital map for directions? Of course you have. </p>
<p>Well, the map application is using your current location information and sending you valuable information but, at the same time, you're sending some equally valuable information back. What kind of information might that be?</p>
<p>I once read about a mischievous fellow in Germany who borrowed a few dozen smartphones, loaded them up on a kids' wagon, and slowly pulled the wagon down the middle of an empty city street. It wasn't long before Google Maps was reporting a serious traffic jam where there wasn't one.</p>
<p>How does the Google Maps app know more about your local traffic conditions than you do? One important class of data that feeds their system is obtained through constant monitoring of the location, velocity, and direction of movement of every active Android phone they can reach - including your Android phone. </p>
<p>I, for one, appreciate this service and I don't much mind the way my data is used. But I'm also aware that, one day, that data might be used in ways that sharply conflict with my interests. Call it a calculated risk.</p>
<p>Of course, it's not just GPS-based movement information that Google and Apple – the creators of the two most popular mobile operating systems – are getting. They, along with a few other industry players, are also handling the records of all of our search engine activity and the data returned by exercise and health monitoring applications.</p>
<p>In other words, should they decide to, many tech companies could effortlessly compile profiles describing our precise movements, plans, and health status. And from there, it's not a huge leap to imagine the owners of such data predicting what we're likely to do in the coming weeks and months.</p>
<h2 id="heading-data-from-web-browsers">Data from Web browsers</h2>
<p>Most of us use web browsers for most of our daily interactions with the internet. And, all things considered, web browsers are pretty miraculous creations, often acting as an impossibly powerful concierge, bringing us all the riches of humanity without even breaking into a sweat. But, as I'm sure you can already anticipate, all that power comes with a trade-off.</p>
<p>For just a taste of the information your browser freely shares about you, take a look at the Google Analytics page shown in the iamge below. This dashboard displays a visual summary describing all the visits to my own bootstrap-it.com site over the previous seven days. I can see:</p>
<ul>
<li>Where in the world my visitors are from</li>
<li>When during the day they tend to visit</li>
<li>How long they spent on my site</li>
<li>Which pages they visit</li>
<li>Which site they left before coming to my site</li>
<li>How many visitors make repeat visits</li>
<li>What operating systems they're running</li>
<li>What device form factor they're using (that is, desktop, smartphone, or tablet)</li>
<li>The demographic cohorts they belong to (genders, age groups, income groups)</li>
</ul>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/12/figure2-2.png" alt="Image" width="600" height="400" loading="lazy">
<em>The home dashboard of a Google Analytics page displaying visualizations of visitors to a website.</em></p>
<p>Besides all that, a web server's own logs can report detailed information, in particular the specific IP address and precise time associated with each visitor. </p>
<p>This means that, whenever your browser connects to my website (or any other website), it's giving my web server an awful lot of information. Google just collects it and presents it to me in a fancy, easy-to-digest format.</p>
<p>By the way, I'm fully aware that, by having Google collect all this information about my website's users, that I'm part of the problem. And, for the record, I do feel a bit guilty about it.</p>
<p>In addition, web servers are able to "watch" what you're doing in real time and "remember" what you did on your last visit.</p>
<p>To explain, have you ever noticed how on some sites, right before you click to leave the page a "Wait! Before you go!" message pops up? Servers can track your mouse movements and, when they get "too close" to closing the tab or moving to a different tab, they'll display that popup. </p>
<p>Similarly, many sites save small packets of data on your computer called "cookies." Such a cookie could contain session information that might include the previous contents of a shopping cart or even your authentication status. The goal is to provide a convenient and consistent experience across multiple visits. But such tools can be misused.</p>
<p>Finally, like operating systems, browsers will also silently communicate with the vendor that provides them. Getting usage feedback can help providers stay up to date on security and performance problems. But independent tests have shown that, in many cases, far more data is heading back "home" that would seem appropriate.</p>
<h2 id="heading-data-from-website-interactions">Data from Website Interactions</h2>
<p>Although some of this might be covered by previous sections in this article, I should highlight at least a couple of particularly relevant issues. </p>
<p>Like, for instance, the fact that websites love getting you to sign up for extra value services. The newsletters and product updates that they'll send you might be perfectly legitimate and, indeed, provide great value – but they're still coming in exchange for some of your private contact information. As long as you're aware of that, I've done my job.</p>
<p>A perfect example is the data you contribute to social media platforms like Twitter, Facebook, and LinkedIn. You may think you're just communicating with your connections and followers, but it actually goes much further than that.</p>
<p>Take a marvelous – and scary – piece of software called Recon-ng that's used by network security professionals to test for an organization's digital vulnerability. Once you've configured it with some basics about your organization, Recon-ng will head out to the internet and search for any publicly available information that could be used to penetrate your defences or cause you harm.</p>
<p>For instance, are you sure outsiders can't possibly know enough about the software environment your developers work with to do you any damage? Well perhaps you should take a look at the "qualifications" section from some of those job ads you posted on LinkedIn. </p>
<p>Or how about questions (or answers) your developers might have posted to Stack Overflow? Every post tells a story, and there's no shortage of clever people out there who love reading stories.</p>
<p>Software like Recon-ng can help you identify potential threats, but that only underlines your responsibility to avoid leaving your data out there in public in the first place.</p>
<p>The bottom line? Smile. You're being watched.</p>
<h1 id="heading-why-companies-want-your-data">Why Companies Want Your Data</h1>
<p>Data is money. Some of the biggest and most successful tech companies of the past decade or two made their billions from data. Generally, that'd be from your data.</p>
<p>Of course, the value doesn't all move in one direction. Big tech companies do, as a rule, provide useful services. </p>
<p>Health tracking apps do track and report on your health. Social media companies do (on rare occasion) provide for healthy social interactions. And historical performance data does sometimes help improve customer and technical service.</p>
<p>But businesses exist to generate revenue and, as a rule, the more data they own, the more revenue that data can generate. The more potential customers there are who provide their email and social media account coordinates, the easier it'll be to connect to them with new offers. And the easier it would be for other companies working in overlapping industries to connect to a business's customers as well. </p>
<p>The incentive for you to sell your contact list to an interested third party is clear.</p>
<p>Naturally, legal restrictions and user agreements can sometimes stop such sales of data sets. But not every use-case is necessarily covered by such laws, and not every company is necessarily bound by a strong desire to follow the law.</p>
<p>A delicious case in point would be Canada's Do Not Call list from all the way back in 2004. The law prevented telemarketers from contacting anyone who had added themselves to the national list. The law required all telemarketers to remove all entries from the list from their own call lists.</p>
<p>The problem was that spammers happily downloaded the Do Not Call lists and, confident that they represented confirmed active accounts, called those specifically. The only law that was effective in this case was the <em>law of unintended consequences</em>.</p>
<p>Your data can also be useful for personalizing the results you get from search engine queries. Of course, you might sometimes enjoy seeing results relating to previous browsing behavior, but don't lose sight of the fact that your behavior is being used as part of a campaign to sell you stuff.</p>
<p>It's not only search engines: smartphone browsing histories are sometimes used by nearby businesses to push customized ads in your direction – sometimes even through automated digital displays on physical billboards and other signage.</p>
<p>Perhaps the biggest value your data can offer is when it's aggregated along with data generated by thousands or millions of other users. </p>
<p>Data scientists can stream and parse huge, dynamic data sets to extract significant insights about subtle but significant trends. In many cases, such data is sanitized to remove any personally identifiable information (PII).</p>
<p>We can nicely sum up the 21st Century web application business model with this popular – and accurate – expression:</p>
<blockquote>
<p>"If you're not paying for the product, you are the product."</p>
</blockquote>
<h1 id="heading-how-to-protect-your-data">How to Protect Your Data</h1>
<p>All that sounds pretty bleak. After all, George Orwell's 1984 was meant to be a warning, not a how-to guide. What can you do to push back?</p>
<h3 id="heading-be-aware-of-your-environment">Be aware of your environment.</h3>
<p>Do you still even notice those terms of service disclosures you "click to sign" before they'll let you use some service or tool? Some of those disclosures are as long as this article – and, if I may say so myself, a whole lot less fun. </p>
<p>But the fact is that they contain information that can have a profound impact on both you and your data.</p>
<p>Many agreements describe what data they're likely to collect and what they're planning to do with it. They'll often also offer assurances that they'll never sell your data to third parties – an assurance that they might sometimes even honor in both the letter and the spirit of the law (although there have been famous cases of companies that did neither).</p>
<p>I've never met anyone who has the time and energy to read through those endless disclosures from end to end. But if an organization pays a bunch of lawyers to write something, you can bet it's a serious business.</p>
<h3 id="heading-be-aware-of-your-rights">Be aware of your rights.</h3>
<p>Beyond your specific agreement with a technology service provider, the use of your data might be regulated by government legislation. </p>
<p>One example is the European Union's General Data Protection Regulation (GDPR), which controls how organizations must treat any personal data they encounter in the course of their operations. </p>
<p>Another example is the US government's Health Insurance Portability and Accountability Act (HIPAA), which regulates the handling of private information in the health insurance and healthcare industries.</p>
<h3 id="heading-be-aware-of-your-alternatives">Be aware of your alternatives.</h3>
<p>Consider adopting privacy-first tools instead of the more heavily commercial services you're using now. For instance, the DuckDuckGo.com search engine, whose home page is shown below, doesn't track your search behavior and will return the same results to a particular query for you as for anyone else. </p>
<p>They are a for-profit business, but they earn much of their income through affiliate links that pay them a commission for sales generated through search links – none of which has any impact on your privacy.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/12/duckduck.png" alt="Image" width="600" height="400" loading="lazy">
<em>The DuckDuckGo browser homepage</em></p>
<p>The Brave browser, as another example, has been shown to send far less undocumented data out to the internet than any other major browser. </p>
<p>To be specific, in early 2020, Douglas Leith of the School of Computer Science &amp; Statistics, Trinity College Dublin, tested six browsers for their risks of revealing unique identifying information about their host computers (scss.tcd.ie/Doug.Leith/pubs/browser_privacy.pdf). He found that Brave clearly offered the greatest privacy protection.</p>
<p>Brave also blocks web page ads by default, which raises a question. Since many web pages earn income exclusively through display ads, does Brave expect content providers to offer their services for free? </p>
<p>The browser provider actually has a business model that includes the content providers: users of the Brave browser can opt to be shown simple and extremely unobtrusive ads from carefully curated advertisers in exchange for micro payments in a crypto currency. The users can then choose to make micro payments to website content providers using those funds as a way to pay for their content through the Brave Rewards program (pictured below).</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/12/figure2-4.png" alt="Image" width="600" height="400" loading="lazy">
<em>Screenshot of the Brave rewards program</em></p>
<p>Opting for open source applications can also be an effective privacy strategy. OpenStreetMap (openstreetmap.org) is an alternative to Google Maps. It might not have all the bells and whistles and built-in connectivity you may be used to, but it's just that connectivity that powers our reservations, isn't it?</p>
<p>If you're not comfortable with the big mobile operating system players (Android and iOS), you could, instead, buy a phone and install one of a number of experimental mobile Linux variations. </p>
<p>Going down this road will likely be bumpy. Expect to run into unexpected configuration and compatibility challenges, and don't expect to find all the convenient apps that you've come to know and love using the big app stores.</p>
<p>See a hole that needs filling? Why not contribute your own innovation by participating in existing open source projects or adding your own solutions to the community?</p>
<h2 id="heading-thanks-for-reading">Thanks for Reading!</h2>
<p>I hope this article has given you the tools to take good care of your digital privacy.</p>
<p><em>YouTube videos of all ten chapters from this book <a target="_blank" href="https://www.youtube.com/playlist?list=PLSiZCpRYoTZ6UWl4xialvwLOKyHYYJUiC">are available here</a>. Lots more tech goodness - in the form of books, courses, and articles - <a target="_blank" href="https://bootstrap-it.com">can be had here</a>. And consider taking my <a target="_blank" href="https://www.udemy.com/user/david-clinton-12/">AWS, security, and container technology courses here</a>.</em></p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ What is Synthetic Identity Theft and How to Protect Yourself ]]>
                </title>
                <description>
                    <![CDATA[ By Dmitry Dragilev In today’s digital age, cybercriminals have no shortage of methods to steal people's identities and sensitive data. One such method is synthetic identity theft, which is becoming one of the most dangerous and common forms.  In fact... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/synthetic-identity-theft/</link>
                <guid isPermaLink="false">66d45e3e230dff01669057ed</guid>
                
                    <category>
                        <![CDATA[ cybersecurity ]]>
                    </category>
                
                    <category>
                        <![CDATA[ information security ]]>
                    </category>
                
                    <category>
                        <![CDATA[ privacy ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Security ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ freeCodeCamp ]]>
                </dc:creator>
                <pubDate>Mon, 09 Jan 2023 18:42:56 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/news/content/images/2022/12/computer-hacker-mask-hoodie-over-abstract-binary-background-obscured-dark-face-data-thief-internet-fraud-computer-hacker-168781090.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>By Dmitry Dragilev</p>
<p>In today’s digital age, cybercriminals have no shortage of methods to steal people's identities and sensitive data. One such method is synthetic identity theft, which is becoming one of the most dangerous and common forms. </p>
<p>In fact, according to a <a target="_blank" href="https://www.bostonfed.org/news-and-events/news/2022/08/synthetic-identity-fraud-is-not-a-victimless-crime-costs-billions-damages-lives.aspx">figures published by Federal Reserve Bank of Boston</a> in August of 2022, the losses from synthetic identity theft in the U.S. were estimated to be around $20 billion in 2020, rising from $5 billion five years ago</p>
<p>But what is synthetic identity theft? And how can you protect yourself from it? Keep on reading till the end to find out.</p>
<p>Here is a quick visual spoiler of how synthetic identity theft works: </p>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/12/synthetic-identity-theft-.jpg" alt="Image" width="600" height="400" loading="lazy">
<em>Image Source: <a target="_blank" href="https://venturebeat.com/security/report-synthetic-fraud-losses-expected-to-double-to-nearly-5b-by-2024/">Socure on VentureBeat</a></em></p>
<p>In this post, we’ll discuss everything a coder/software engineer/developer needs to know about this form of identity theft, such as:</p>
<ul>
<li><a target="_blank" href="https://www.freecodecamp.org/news/synthetic-identity-theft/#what-is-synthetic-id-theft">What is synthetic ID theft?</a></li>
<li><a target="_blank" href="https://www.freecodecamp.org/news/synthetic-identity-theft/#how-does-synthetic-identity-theft-work">How does synthetic identity theft work?</a></li>
<li><a target="_blank" href="https://www.freecodecamp.org/news/synthetic-identity-theft/#two-examples-of-synthetic-id-theft-in-the-news">Real life examples of synthetic identity theft cases</a></li>
<li><a target="_blank" href="https://www.freecodecamp.org/news/synthetic-identity-theft/#who-does-synthetic-id-theft-target-typically">Who does it usually target?</a></li>
<li><a class="post-section-overview" href="#heading-how-do-i-recognize-and-prevent-synthetic-identity-theft">How a developer can recognize and prevent synthetic identity theft</a>  </li>
<li><a target="_blank" href="https://www.freecodecamp.org/news/synthetic-identity-theft/#how-can-a-developer-or-coder-protect-themselves-against-synthetic-id-theft">Technologies you should use to combat synthetic identity theft</a></li>
<li><a target="_blank" href="https://www.freecodecamp.org/news/synthetic-identity-theft/#how-can-a-company-protect-employees-ids-against-synthetic-id-theft">Warning signs of ID theft &amp; how to stop yourself from becoming a victim</a></li>
</ul>
<p>Feel free to click the sections above to jump to any one of them or just scroll to read through each one in order. </p>
<p>Ready? Let's roll...</p>
<h2 id="heading-what-is-synthetic-id-theft">What is Synthetic ID Theft?</h2>
<p>Synthetic identity theft is a type of fraud in which a hacker creates an artificial identity by combining real and fake information. </p>
<p>This includes stealing legitimate identifying documents such as Social Security numbers (SSNs) and then using them to apply for credit cards, loans, or other services that need personal identification.</p>
<p>The thief can then use this new “synthetic” account to buy goods or services. It is called "synthetic" because the identity created is not entirely real or false, but rather a combination of both. </p>
<p>Unlike other forms of fraud, such as credit card fraud and traditional forms of identity theft that involve stealing and using existing pre-existing accounts, synthetic fraudsters use stolen data to make entirely new accounts.</p>
<p>And what makes it so dangerous is that it’s challenging to detect and prevent, as it often involves many compromised accounts and false identities.</p>
<h2 id="heading-how-does-synthetic-identity-theft-work">How Does Synthetic Identity Theft Work?</h2>
<p>Most cases of synthetic identity theft start with the criminal stealing a real SSN. This can be done in various ways, such as buying stolen SSNs from the dark web or using publicly available information.</p>
<p>Once they have an SSN, criminals will create fabricated details to go along with it, such as names, addresses, and dates of birth. They can also use stolen personal details from other victims of fraud to create “Frankenstein” identities.</p>
<p>The thief can then use this information to apply for credit cards or loans, and buy assets while ultimately leaving the bills unpaid. </p>
<p>Not only does this damage the victim’s credit score, but it also allows the criminal to remain hidden as the accounts are made using another victim’s SSN. </p>
<p>This also makes it difficult for victims to prove that they are innocent and that their stolen data was used to commit fraud and default on payments.</p>
<h2 id="heading-two-examples-of-synthetic-id-theft-in-the-news">Two Examples of Synthetic ID Theft in the News</h2>
<p>There have been many in the news recently that have highlighted the growing prevalence of synthetic identity theft. Below are just two notable examples:</p>
<ul>
<li>In 2020, a 43-year-old male named Adam Arena, and 12 other alleged accomplices, were charged in New York on suspicion of attempting to defraud banks of more than <a target="_blank" href="https://www.pewtrusts.org/en/research-and-analysis/blogs/stateline/2022/04/07/thieves-hit-on-a-new-scam-synthetic-identity-fraud">$1 million</a> using synthetic identities they created by merging legitimate SSNs with fake or mismatched names to construct new identities. </li>
<li>In 2013, one of the biggest international credit card fraud schemes took place in the U.S., involving more than 7,000 synthetic identities. The crime ring consisting of 18 individuals was estimated to have stolen north of <a target="_blank" href="https://archives.fbi.gov/archives/newark/press-releases/2013/eighteen-people-charged-in-international-200-million-credit-card-fraud-scam">$200 million</a> before being caught.</li>
</ul>
<h2 id="heading-who-does-synthetic-id-theft-target-typically">Who Does 'Synthetic' ID Theft Target Typically?</h2>
<p>Cybercriminals typically target those who have a lower risk of being detected. Often, these are people who aren’t keeping track of their credit reports or using <a target="_blank" href="https://www.aura.com/learn/best-identity-theft-protection">identity theft protection</a> services.</p>
<p>Some of the most commonly affected targets of synthetic identity theft include:</p>
<ul>
<li>Children</li>
<li>Seniors</li>
<li>New immigrants</li>
<li>Inmates</li>
<li>College students</li>
<li>Military personnel deployed abroad</li>
</ul>
<h2 id="heading-how-common-is-the-synthetic-type-of-id-theft">How Common is the 'Synthetic' Type of ID Theft?</h2>
<p><img src="https://lh5.googleusercontent.com/q3cKQT4vc8MVD1A2-xafcOjbYyyG_ohIi_hgR37IEs6aXvnz_xQ0ghUI_uaMdkBRCgmvnp-xX50IhY1IDAuyo-cIaAgdqA5jvbUyOpedOLL9PqfePoQtsvLudOyTst9GgsrMzt_JcAe3XD6JcVmkVi_fTDLh3ilUPfuE1VLYmkgEJ1MR8BB7VwZ7VSIzCA" alt="Image" width="1024" height="678" loading="lazy">
<em>Source: <a target="_blank" href="https://identitytheft.org/statistics/">IdentityTheft.org</a></em></p>
<p>Synthetic identity theft is evolving and becoming more common, with the <a target="_blank" href="https://www.ftc.gov/sites/default/files/documents/public_comments/credit-report-freezes-534030-00033/534030-00033.pdf">FTC</a> noting that it’s one of the fastest-growing forms of fraud.</p>
<p>In fact, "true-name" identity theft in which hackers pretend to be you now only makes up roughly 10-15% of all ID theft cases. </p>
<p>The harsh reality is that in 2021 alone, this form of fraud cost Americans about <a target="_blank" href="https://identitytheft.org/statistics/">$5.8 billion</a> and this trend is only expected to continue.</p>
<h2 id="heading-why-is-this-type-of-id-theft-becoming-more-common">Why is this Type of ID Theft Becoming More Common?</h2>
<p>Synthetic identity theft has become more common for a few key reasons.</p>
<ul>
<li>This type of fraud can be challenging to detect because it’s often spread out over many accounts and victims. This makes it hard to trace back to one person or group. This makes it easier for criminals to remain unknown and continue working for longer.</li>
<li>Criminals are becoming increasingly aware of the power and amount of data available. Due to data breaches, cybercriminals can easily steal or buy leaked data like your SSN from the dark web for as little as <a target="_blank" href="https://www.privacyaffairs.com/dark-web-price-index-2021/">$2</a>. This allows them to create compelling identities without much effort.</li>
<li>Finally, new technology has also made it easier for criminals to commit this type of fraud in bulk. They can now use bots to apply for different accounts at once or generate fake data, making the process faster and more efficient.</li>
</ul>
<h2 id="heading-how-do-i-recognize-and-prevent-synthetic-identity-theft">How Do I Recognize and Prevent Synthetic Identity Theft?</h2>
<p>The best way to spot and protect yourself from this type of fraud is to be vigilant and watch your personal information online. If you do find something you do not want to be public, there are <a target="_blank" href="https://www.aura.com/learn/how-to-remove-your-personal-information-from-the-internet">several ways to remove personal information</a>.</p>
<p>Remember to always:</p>
<ul>
<li><strong>Avoid using SSNs if possible</strong>. Some websites and services may ask for your SSN as part of the registration process. Never provide this information unless you trust the website or it's necessary, as it can be used to generate a synthetic identity. </li>
<li><strong>Check your credit report regularly</strong>. Look for any suspicious activity, such as unauthorized accounts or suspicious inquiries. Also, make sure you review all bank records, especially if there are any surprise transactions or new loans that don’t match your spending habits. Use a <a target="_blank" href="https://www.aura.com/learn/credit-monitoring-service">credit monitoring service</a> to help you monitor your credit proactively. </li>
<li><strong>Freeze your credit to help avoid identity theft.</strong> Freezing your credit can help to prevent new accounts from being opened in your name, making it more difficult for criminals to commit fraud. So, if you think your information has been stolen, it’s always a good idea to freeze your credit with the major bureaus.</li>
<li><strong>Use identity theft protection software.</strong> Identity theft monitoring services like <a target="_blank" href="https://smallbiz.tools/lifelock-vs-experian/">Experian or Lifelock</a>  can help track your credit report, alert you of suspicious activity, and help to restore your credit if it’s been compromised. </li>
<li><strong>Check the mail for any suspicious enrollment letters or payment letters.</strong> If you receive any enrollment letters or payment notifications that don’t seem to make sense, it may be a warning sign of synthetic identity theft. So be sure to check these regularly and contact the sender if necessary.</li>
</ul>
<h2 id="heading-how-can-a-developer-protect-themselves-against-synthetic-id-theft">How Can a Developer Protect Themselves against Synthetic ID Theft?</h2>
<p>Developers should also take steps to protect themselves and their companies from synthetic identity theft. Some of the measures they can take include:</p>
<ul>
<li><strong>Hashing important data.</strong> <a target="_blank" href="https://www.freecodecamp.org/news/what-is-hashing/">Hashing</a> is an approach used to mask sensitive information, by changing it into an unintelligible string of characters. This makes the data harder for criminals to access or use for synthetic identity theft. A popular formula for data hashing is MD5, which always produces hashes that are 32 characters long. You can try hashing different texts with MD5 <a target="_blank" href="https://www.md5hashgenerator.com/">here</a>. </li>
<li><strong>Requiring user authentication on each URL page.</strong> A common mistake by website developers is not requiring user authentication on each website page. This may allow copied URLs with personal data, like confirmation pages, to be opened in another session without logging in. This is why requiring authentication on each page of your website or app can help you protect against automated attacks by bots and malicious actors. Using an identity and user management API service such as <a target="_blank" href="https://developer.okta.com/blog/2018/06/08/add-authentication-to-any-web-page-in-10-minutes">okta Developer</a> makes adding authentication to web pages a much easier process.  </li>
<li><strong>Avoid placing secret backdoors.</strong> Backdoors are small pieces of code that can be used to gain access to a system and its data. While backdoors may seem like an easy way for developers to troubleshoot and test the application, it’s important not to leave them in place, as criminals can exploit them for synthetic identity theft.</li>
</ul>
<h2 id="heading-how-can-a-company-protect-employees-ids-against-synthetic-id-theft">How Can a Company Protect Employees' IDs against Synthetic ID Theft?</h2>
<p>DevOps and Security departments at companies need to take a proactive approach to protect their employee's and customer’s identity from hackers. Some of the actions they can take include:</p>
<p>Implementing data security policies. Organizations should develop and enforce a comprehensive set of <a target="_blank" href="https://portable.io/learn/expanding-on-datavants-guide-to-startup-compliance">Data security policies</a> that fall into two categories – people and technology.</p>
<p><strong>People elements include:</strong></p>
<ul>
<li>Establishing an acceptable use policy, which outlines how your company expects users to interact with company resources.</li>
<li>Enforcing a password policy using a password manager tool such as <a target="_blank" href="https://smallbiz.tools/identityforce-vs-lifelock/#vpn">IdentityForce or Lifelock</a> which generate and encrypt complex passwords.</li>
<li>Defining how employees are to use email services while at work</li>
<li>Educating and reminding employees <a target="_blank" href="https://nickpatrocky.com/ultravpn-review/">to use a VPN</a> whenever they connect to a public WiFi network at an airport, cafe, restaurant or a public location.</li>
</ul>
<p><strong>Technology elements include:</strong></p>
<ul>
<li>Backing up and restoring server configurations using <a target="_blank" href="https://www.nakivo.com/vmware-backup/">various cloud services</a>.</li>
<li>Segregate corporate mobile devices to networks with limited access to company intranets.</li>
<li>Encrypting data, so it is unreadable to any third party who gains access to it. Using a procedure such as the <a target="_blank" href="https://www.sealpath.com/zero-trust-security-model-implement-strategy/">Zero-Trust security protocol</a> can help identify data that should be protected.</li>
<li><strong>Running background and criminal checks on potential new employees.</strong> Background checks provide a way to confirm the details provided by applicants and look for any discrepancies. They’re a great way to ensure that new hires have not been involved in any type of identity theft or fraud.</li>
<li><strong>Restricting access to vital information to only those employees with a business need-to-know.</strong> Companies should ensure that vital data is only accessed by those who need it for business uses. This helps to protect business data from being accessed by malicious actors and used for fraudulent purposes.</li>
<li><strong>Closely managing temporary workers’ activities.</strong> Temporary workers – such as interns or contractors – should also be closely managed to prevent them from accessing or sharing sensitive information without authorization after they part ways with your firm.</li>
<li><strong>Avoid using SSNs to identify employees in the computer systems.</strong> Instead of using SSNs to identify employees in databases, firms should create and use random employee numbers. This makes it more difficult for criminals to access their personal data and use it for synthetic identity fraud.</li>
<li><strong>Train staff with access to personal information about keeping that information secure.</strong> All staff with access to personal data should be trained on how to handle it and keep it secure properly. This includes explaining the importance of keeping confidential information protected and taking steps such as encrypting documents, not sharing passwords or personal data with anyone, and teaching them how to recognize phishing attempts or data breaches.</li>
<li><strong>Keep personal information in locked file cabinets and password protected.</strong> It’s important to store vital information in a secure place, such as locked file cabinets or <a target="_blank" href="https://www.cloudwards.net/how-to-securely-store-passwords-in-the-cloud/">password-protected databases</a>. This helps to reduce the risk of an unauthorized person accessing or leaking it.</li>
</ul>
<h2 id="heading-final-words">Final Words</h2>
<p>Synthetic identity theft is on the rise, but with vigilance and the right measures, you can protect yourself from this type of fraud.</p>
<p>To protect yourself against synthetic identity theft as a consumer, it's important to:</p>
<ul>
<li>Regularly track and check your credit report.</li>
<li>Be aware of the type of information you're sharing online, and never input personal information like your SSN into shady websites.</li>
<li>Use identity theft protection software and services.</li>
<li>Regularly check your inbox for suspicious enrollment or payment emails.</li>
<li>Freeze your credit if you feel like your personal data has been stolen.</li>
</ul>
<p>At an organizational level, companies should take a proactive approach to stop synthetic identity fraud by:</p>
<ul>
<li>Implementing data security policies.</li>
<li>Running background checks on potential new employees.</li>
<li>Restricting access to vital information to only need-to-know employees.</li>
<li>Avoid using SSNs to ID employees in computer databases.</li>
<li>Training staff about how to protect personal information.</li>
<li>Storing sensitive data in secure locations like locked cabinets and passcode-protected databases.</li>
</ul>
<p>With these tips in mind, you can help ensure that your information remains safe and secure.</p>
<p>Remember, prevention is always better than cure. So make sure to take the right steps beforehand to help reduce the risk of you becoming a victim of synthetic identity theft down the line.   </p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ A Beginner's Guide to Digital Security – How to Keep Yourself Safe Online ]]>
                </title>
                <description>
                    <![CDATA[ Whatever your connection to technology, security should play a prominent role in the way you think and act.  Technology, after all, amplifies the impact of everything we do with it. The things we say and write using communication technologies can be ... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/understanding-digital-security/</link>
                <guid isPermaLink="false">66b99655c39234149cf01109</guid>
                
                    <category>
                        <![CDATA[ cybersecurity ]]>
                    </category>
                
                    <category>
                        <![CDATA[ information security ]]>
                    </category>
                
                    <category>
                        <![CDATA[ privacy ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Security ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ David Clinton ]]>
                </dc:creator>
                <pubDate>Fri, 06 Jan 2023 18:09:40 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/news/content/images/2023/01/pexels-pixabay-207580--2-.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>Whatever your connection to technology, security should play a prominent role in the way you think and act. </p>
<p>Technology, after all, amplifies the impact of everything we do with it. The things we say and write using communication technologies can be read and heard by many, many more people than would be possible without. </p>
<p>The ability to conveniently connect with people and collaborate on projects of all kinds is much greater. </p>
<p>The tasks we can perform are, through the magic of automation, almost limitless. The scope of information we can instantly access through the simplest and least expensive devices towers far beyond anything the greatest scholars could have hoped to see in a lifetime just a few decades ago.</p>
<p>All that means that criminals and other individuals unconstrained by moral conscience will have yet more powerful tools to compromise the data you create and consume, and steal or damage the property you acquire. </p>
<p>So you've got a strong interest in learning how to protect yourself, your property, and that of the people and organizations around you.</p>
<p>This tutorial (taken from my book, <a target="_blank" href="https://amzn.to/3FXXAfb">Keeping Up: Backgrounders to All the Big Technology Trends You Can't Afford to Ignore</a>) will present a brief overview of what's at stake in the technology security domain. </p>
<p>We'll define the kinds of threats we face and discuss the key tools at our disposable for pushing back against those threats.</p>
<p>If you're interested in digging deeper into the topic, my LPI Security Essentials book is entirely devoted to giving you the full picture.</p>
<p>If you'd prefer to watch this chapter as a video, feel free to follow along here:</p>
<div class="embed-wrapper">
        <iframe width="560" height="315" src="https://www.youtube.com/embed/OJf27vq_PTo" style="aspect-ratio: 16 / 9; width: 100%; height: auto;" title="YouTube video player" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen="" loading="lazy"></iframe></div>
<h1 id="heading-hacking-whats-hacking">Hacking? What's Hacking?</h1>
<p>Defining computer hacking in a way that doesn't anger someone, somewhere, is like talking about politics at work. Be prepared for long, awkward silences and possibly violence. </p>
<p>You see, purists might insist that the term hacking should apply exclusively to individuals focused on forcibly re-purposing computer hardware for non-standard purposes. </p>
<p>Others reserve the title for people who bypass authentication controls to break into networks for criminal or political purposes. </p>
<p>And how about those who wear the title as a sign of their practical expertise in all things IT? (And then, of course, there are crackers.)</p>
<p>But this is my book, so I'm going to use the term any way I want. I therefore decree that hacking is all about plans the <em>bad guys</em> have for <em>your</em> digital devices. Specifically, their plans to get in without authorization, get out without being noticed, and (sometimes) take your stuff with them when they leave. </p>
<p>Using the term this way gives us a useful way to organize a discussion of some common and particularly scary threats.</p>
<h2 id="heading-how-hackers-get-in-to-your-system">How Hackers Get In to Your System</h2>
<p>The trick is to find a way through your defenses (like passwords, firewalls, and physical barriers). In most cases, passwords probably provide the weakest protection:</p>
<ul>
<li>Passwords are often short, use a narrow range of characters, and are easy to guess.</li>
<li>If a device came with a simple factory default password (like "admin" or "1234") just meant to get you in for the first time, then the odds are pretty good that many users will never get around to trading it in for something better.</li>
<li>Even strong passwords can be stolen by deceptive phishing email scams ("Click here to login to your bank account..."), social engineering ("Hi, it's Ed from IT. We're having some trouble with your corporate account. Would you mind telling me your password over the phone so I can quickly fix it?"), and keyboard tracking software.</li>
</ul>
<p>We'll talk more about firewalls later in this tutorial. And physical barriers? I think you already know what a locked door looks like. But it's probably worth spending a few moments thinking about other kinds of digital attacks.</p>
<p>The big prize is usually getting to your data and making off with copies. But for some, simply destroying the originals can be just as satisfying.</p>
<p>Obviously, logging into your devices using stolen passwords is the most straightforward approach. But access can also be achieved by intercepting your data as it travels across an insecure network. </p>
<p>One approach that's commonly used here is known as a man-in-the-middle attack. This is where data packets can be intercepted in transit and altered without authorized users at either end knowing anything's wrong. </p>
<p>Properly encrypting your network connections (and avoiding unsafe public networks altogether) is an effective protection against this kind of threat. We'll talk more about encryption a bit later.</p>
<p>If the hardware you're using has an undocumented "back door" built in, then you're pretty much toast whatever you do. We'll talk more about back doors later in the book but, for now, I'll just note that there have been no shortage of factory-supplied laptops, rack servers, and even high-end networking equipment that's been intentionally designed to include serious access vulnerabilities. Be very careful where you purchase your compute devices.</p>
<p>If the attackers find a way into your physical building (sometimes posing as employees of a delivery company), they could quietly plug a tiny listening device into on unused ethernet jack on your network. That'll give them a nice platform to watch and even influence all your activities from the inside. </p>
<p>Protecting your physical infrastructure and carefully monitoring network activity is your best hope against that kind of intrusion.</p>
<p>Even if your home or office is all fortressed up, there's no guarantee that data moving around on mobile devices (like smartphones or laptops) won't find its way into the wrong hands. </p>
<p>And even if you've been careful to use only the best passwords for those devices, the data drives themselves can still be easily mounted as external partitions on a thief's own machine. Once mounted, your files and account information will now be wide open. </p>
<p>The only way to protect your mobile devices from this kind of threat is to encrypt the entire drive using a strong passphrase.</p>
<h2 id="heading-what-hackers-are-after">What Hackers Are After</h2>
<p>Now that entire economies are run on computers directly connected to public networks, there's money and value to be had through well-planed corporate, academic, or political espionage efforts...and through old fashioned, traditional theft. </p>
<p>Whether the goal is building up a military or commercial competitive advantage, completely destroying the competition, or just getting your hands on "free" money, illegally accessing other people's data has never been easier.</p>
<p>So what are hackers likely to be after? All the important financial and other sensitive information you'd prefer they didn't have. Including, it should be noted, the kind of information you use to identify yourself to banks, credit card companies, and government agencies. </p>
<p>Once the bad guys have got important data points like your birth date, home address, government-issued ID numbers, and some basic banking details, it's usually not hard to present themselves as though they're you, completely taking over your identity in the process.</p>
<p>Digital attacks can also be used as blackmail to force victims to pay to undo the damage they've done. </p>
<p>That's the objective of most <em>ransomware</em> attacks, where hackers encrypt all the data on a victim's computers and refuse to send the decryption keys needed to restore your rightful access unless you send them lots of money. </p>
<p>Such attacks have already effectively brought down critical infrastructure like the IT systems powering hospitals and cities.</p>
<p>The very best defense against ransomware is to have full and tested backups of your critical data and a reliable system for quickly restoring it to your hardware. That way, if you're ever hit with a ransomware attack, you can simply wipe out your existing software and replace it with fresh copies, populated with your backed up data. </p>
<p>But you should also beef up your general security settings to make it harder for ransomware hackers to get into your system in the first place.</p>
<p>When their primary goal is to prevent you or your organization from going about its business, hackers can remain at a safe distance and launch a distributed denial of service (DDoS) attack against your web infrastructure. </p>
<p>Historical DDoS attacks have used massive swarms of thousands of illegally hijacked network-connected devices to transmit crippling numbers of requests against a single target service. When large enough, DDoS attacks have managed to bring down even huge enterprise-scale companies using sophisticated defenses for hours at a time. </p>
<p>The site hosting one of my favorite online open source collections was hit hard more than a year ago and still hasn't fully recovered.</p>
<h1 id="heading-what-is-encryption">What is Encryption?</h1>
<p>If your data is unreadable, there's a lot less bad stuff that unauthorized individuals will be able to do with it. But if it's unreadable, there's probably not a whole lot you'll be able to do with it either. </p>
<p>Wouldn't it be nice if there was some way to present your data as unreadable in every scenario except where there's a legitimate reason? Well waddaya know? There is, and it's called data encryption.</p>
<h2 id="heading-how-to-encrypt-data-in-transit">How to Encrypt Data in Transit</h2>
<p>Encryption algorithms encode information in a way that makes it hard, or even impossible, to be read. </p>
<p>A simple (and ancient) example is symbol replacement, where every letter "a" in a message would be replaced with, say, the letter three positions on in the alphabet (which would be "d"). Every "b" would become "e" and so on. "Hello world" would be "khoor zruog". People subsequently coming across the message would be unable to understand it.</p>
<p>Of course, it wouldn't take long for a modern computer (or even a smart 8-year-old) to decode that one. But some very clever cryptologists have been working hard over most of the past century to produce much more effective algorithms. </p>
<p>There are some significant variations of modern cryptography. But the general idea is that people can apply an encryption algorithm to their data and then safely transmit the encrypted copy over insecure networks. Then the recipient can apply a decryption key of some sort to the data, restoring the original version.</p>
<p>Encryption is now widely available for many common activities, including sending and receiving emails. You can similarly ensure that the data you request from a website is the same data that's eventually displayed in your browser by checking the lock icon in your browser's address bar. The icon confirms that the website server employs Transport Layer Security (TLS) encryption.</p>
<p>Over the past few years, the Let's Encrypt project (letsencrypt.org) has encouraged millions of new websites to use encryption by provided free encryption certificates and simple-to-use tools to help server administrators install them.</p>
<h2 id="heading-how-to-encrypt-data-at-rest">How to Encrypt Data at Rest</h2>
<p>TLS will protect your data when it's out and about, but what'll keep it safe even when it's relaxing in its comfy storage disk? File and drive encryption, that's what. </p>
<p>All operating systems now offer integrated software for encrypting all or part of a storage disk either at installation time or later. Each time you power up an encrypted disk, you'll be prompted to enter the passphrase you created when you enabled encryption.</p>
<p>The thing is that if you forget your passphrase, you're pretty much permanently locked out of your system and the data is as good as gone forever. </p>
<p>But the other thing is that if you <em>don't</em> encrypt your system then, as we noted earlier, anyone who steals the hardware will have easy and instance access to your private information. It's a tough world out there, isn't it?</p>
<h1 id="heading-what-does-a-firewall-do">What Does a Firewall Do?</h1>
<p>You can think of a firewall as a filter. Just like, say, a water filter is able to block certain impurities, allowing only clean water through, a firewall can inspect every packet of data coming into or leaving your infrastructure, blocking access where appropriate. </p>
<p>Besides not needing to be replaced every few weeks, the big advantage of a firewall over a water filter is that it can be closely configured to permit and refuse entry to exactly match your security and functional needs. Then you can update it later should your needs change.</p>
<h2 id="heading-hardware-firewalls">Hardware Firewalls</h2>
<p>A hardware firewall is a purpose-built physical networking device that's commonly used within enterprise environments. Such firewalls are installed at the edge of a private network and set to block potentially dangerous incoming traffic, redirect other traffic to remote destinations, or permit traffic to access hosts within the local network.</p>
<p>Hardware firewalls are sold by companies like Cisco and Juniper, and general equipment manufacturers like HP and Dell. They can be used to manage traffic for networks comprised on many thousands of hosts. </p>
<p>Firewalling appliances tend to be very expensive, often costing many thousands of dollars. They're normally only deployed to manage enterprise infrastructure.</p>
<h2 id="heading-software-firewalls">Software Firewalls</h2>
<p>A software firewall is an application that runs on a regular PC that can perform just about any function that you'd otherwise expect from a hardware firewall. There are two important differences:</p>
<ul>
<li>Firewall software (like the Linux iptables utility) is often free and, while complicated, enjoys the benefits of vast documentation resources. The software can also be installed any old PC that's just lying around, reducing the overall cost to nearly nothing.</li>
<li>You won't want to use such a firewall within a busy business environment however, since such a PC probably won't have the compute power to manage high volumes of network traffic. Nor, in most such cases, will it be reliable enough to provide mission-critical services 24/7.</li>
</ul>
<p>There's another flavor of software firewall that's used as part of consumer-grade operating systems. Such firewalls allow you to better secure your OS by setting rules for what kind of activities you want to allow. These can be especially useful for mobile devices that frequently move from network to network.</p>
<p>Cloud computing platforms – like Amazon Web Services (AWS) and Microsoft's Azure – provide a firewall-like technology for use with the resources you might deploy within their systems. Firewall policies might exist in objects with names like "security group" or "access control list" that can be applied to whichever resource requires them.</p>
<h1 id="heading-who-does-security-best">Who Does Security Best?</h1>
<p>In the not too distant past, you would often hear IT professionals swearing they would never run their IT operations on infrastructure they didn't physically control. This was common when referring to outsourcing to third party, offsite companies or to cloud computing platforms. </p>
<p>Whether it was because those administrators didn't trust the reliability and security of compute infrastructure run by strangers, or because regulatory restrictions required that sensitive workloads remained local, the sentiment was widely shared. And it made sense.</p>
<p>But the past is a foreign country. Today, it can be forcefully argued, the most secure and reliable environments can be found in the biggest public cloud providers. </p>
<p>Why? They've got the money and incentive to hire the very best engineers, and the money and incentive to build the very best infrastructure. </p>
<p>Beyond that, cloud providers maintain data centers in political jurisdictions around the world, and go to great lengths to ensure their deployments comply with industry and government standards.</p>
<p>Let me illustrate. Remember the DDoS threat we discussed a bit earlier in the chapter? Well, <a target="_blank" href="https://www.zdnet.com/article/aws-said-it-mitigated-a-2-3-tbps-ddos-attack-the-largest-ever">back in the summer of 2020</a>, an unnamed organization deploying resources on AWS was hit with a DDoS attack peaking at 2.3 Tbps. That is, each and every second, requests hit that organization's public-facing service with 2.3 terabytes of data.</p>
<p>What does "2.3 terabytes" actually mean? Well, a megabyte is (approximately) one million bytes of information (a PDF version of this book would probably take up six megabytes or so). A gigabyte is one thousand million bytes of information. A terabyte is one thousand thousand million bytes of information. That would be the equivalent of around 165,000 PDF books. 2.3 terabytes would be the rough equivalent of 380,000 PDF books.</p>
<p>Now try to imagine all the text characters used to fill 380,000 PDF books being thrown at a web service <em>each second.</em></p>
<p>Got that image in your mind? Now here's what happened to that web service: Nothing. It just carried on working as though it hadn't a care in the world. How on earth is that even possible? Amazon's AWS Shield service simply mitigated the attack. The customer didn't have to do a thing.</p>
<p><em>That</em> is why moving your workloads to the public cloud doesn't necessarily involve compromising your standards.</p>
<h2 id="heading-thanks-for-reading">Thanks for reading!</h2>
<p>YouTube videos of all ten chapters from this book are <a target="_blank" href="https://www.youtube.com/playlist?list=PLSiZCpRYoTZ6UWl4xialvwLOKyHYYJUiC">available here</a>. Lots more tech goodness – in the form of books, courses, and articles – <a target="_blank" href="https://bootstrap-it.com">can be had here</a>. And consider enjoying <a target="_blank" href="https://bootstrap-it.com/lpi-essentials/">my LPI Essentials resources here</a>.</p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ How to Protect Your Privacy Online – Five Useful Tools ]]>
                </title>
                <description>
                    <![CDATA[ In today’s growing cyber threat landscape, it is important to learn how to protect yourself. In this article, I'll share my five favorite tools you can use to protect your privacy online. Why Online Privacy is Important Have you ever wondered how val... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/how-to-protect-your-privacy-online/</link>
                <guid isPermaLink="false">66d035e9c1024fe75b758f1e</guid>
                
                    <category>
                        <![CDATA[ cybersecurity ]]>
                    </category>
                
                    <category>
                        <![CDATA[ privacy ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Manish Shivanandhan ]]>
                </dc:creator>
                <pubDate>Mon, 02 Jan 2023 22:33:08 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/news/content/images/2023/01/security-tools.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>In today’s growing cyber threat landscape, it is important to learn how to protect yourself. In this article, I'll share my five favorite tools you can use to protect your privacy online.</p>
<h2 id="heading-why-online-privacy-is-important">Why Online Privacy is Important</h2>
<p>Have you ever wondered how valuable your data is?</p>
<p>Every app, website, and business is fighting to get more information about you. The more they know, the better they can predict what you want. Sometimes even before you do.</p>
<p>Personal privacy protects us from potential harm or unwanted intrusions into our lives. It also allows us to maintain our dignity and autonomy.</p>
<p>Most importantly, personal privacy is our fundamental right. Without it, we are just data points used to train an AI model.</p>
<p>Cynics argue that “personal privacy is a relic of the past”. Not really.</p>
<p>In today’s data-hungry world, it is still possible to protect your privacy and use the great products the internet offers.⁠ Here are five tools that will help you protect your privacy online.</p>
<h2 id="heading-brave-browserhttpsbravecomen-in"><a target="_blank" href="https://brave.com/en-in/">Brave Browser</a></h2>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/12/image-139.png" alt="Image" width="600" height="400" loading="lazy">
_Photo by [Unsplash](https://unsplash.com/@rubaitulazad?utm_source=medium&amp;utm_medium=referral" rel="photo-creator noopener"&gt;Rubaitul Azad on &lt;a href="https://unsplash.com?utm_source=medium&amp;utm<em>medium=referral" rel="photo-source noopener)</em></p>
<p>Brave is a web browser that focuses on privacy and security. It blocks third-party ads and tracks cookies by default. It also allows users to control which ads they see and how their data is used.</p>
<p>Here are a few of the key features that set Brave Browser apart:</p>
<ul>
<li><strong>Privacy:</strong> Brave blocks third-party ads and tracking cookies by default, which helps protect your privacy online.</li>
<li><strong>Security:</strong> Brave uses HTTPS Everywhere to upgrade insecure websites to secure HTTPS connections. This helps protect you from man-in-the-middle attacks and other forms of online surveillance.</li>
<li><strong>Performance:</strong> Brave uses the same technology as Google Chrome — the Chromium open-source project. This means it is fast, stable, and has support for the latest web standards.</li>
<li><strong>Rewards:</strong> Brave allows users to earn rewards in the form of the <a target="_blank" href="https://www.investopedia.com/terms/b/basic-attention-token.asp">Basic Attention Token (BAT)</a> for viewing privacy-respecting ads. This gives users a way to support the websites they visit and content creators they enjoy, without having to share their data with advertisers.</li>
</ul>
<p>Brave browser offers a combination of privacy, security, and performance. Brave is a safer alternative to Chrome or Edge to protect your privacy.</p>
<h2 id="heading-1passwordhttps1passwordcom"><a target="_blank" href="https://1password.com/">1Password</a></h2>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/12/image-140.png" alt="Image" width="600" height="400" loading="lazy">
<em>CC: PcMag</em></p>
<p>1Password is a password manager and secure digital wallet. It is a software program that allows you to store and manage your passwords, credit card information, and other sensitive data in a secure, encrypted vault.</p>
<p>With 1Password, you only need to remember a single master password. This will help make it easier for you to use strong, unique passwords for all of your online accounts. </p>
<p>1Password is available on a wide range of devices and platforms, including Windows, Mac, Linux, iOS, and Android.</p>
<p>There are other alternatives to 1Password like Lastpass and LogMeOnce. But here are a few reasons why 1Password is a better choice:</p>
<ul>
<li><strong>Security:</strong> 1Password uses strong, industry-standard encryption to protect your data. It has many security features to help prevent unauthorized access to your vault. This can give you peace of mind that all your information is safe and secure.</li>
<li><strong>Ease of use:</strong> 1Password is easy to use. It has a simple, intuitive interface and support for a wide range of devices and platforms. It also integrates with your web browser, so you can save and fill in passwords as you browse the internet.</li>
<li><strong>Features:</strong> 1Password offers a range of features including the ability to generate strong passwords. 1Password also can store credit card information, and you can choose to share passwords with others if needed.</li>
</ul>
<p>Overall, 1Password offers a combination of security, ease of use, features, and support that make it a popular choice among password manager users.</p>
<h2 id="heading-privacy-badgerhttpschromegooglecomwebstoredetailprivacy-badgerpkehgijcmpdhfbdbbnkijodmdjhbjlgp"><a target="_blank" href="https://chrome.google.com/webstore/detail/privacy-badger/pkehgijcmpdhfbdbbnkijodmdjhbjlgp">Privacy Badger</a></h2>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/12/image-141.png" alt="Image" width="600" height="400" loading="lazy">
<em>CC: Wikipedia</em></p>
<p>Privacy Badger is a free browser extension that helps protect your privacy online. Privacy Badger is a product from The Electronic Frontier Foundation (EFF). EFF is a nonprofit organization that advocates for digital rights and civil liberties.</p>
<p>Privacy Badger works by detecting and blocking third-party tracking cookies. It also analyzes the behavior of third-party trackers to see which ones are tracking you without your consent. Privacy Badger is available for Chrome, Firefox, and Opera web browsers.</p>
<p>Here are a few reasons why Privacy Badger is a great tool:</p>
<ul>
<li><strong>It’s free:</strong> Privacy Badger is a free and open-source browser extension, which means you can use it without paying any money.</li>
<li><strong>It’s simple:</strong> Privacy Badger is easy to use, with a simple interface and no complex settings to configure. You can just install it and let it do its thing.</li>
<li><strong>It’s effective:</strong> Privacy Badger uses advanced algorithms to detect and block third-party tracking. It also has the ability to learn and adapt as it encounters new trackers. This means it can be effective at protecting your privacy without requiring you to do any work.</li>
<li><strong>It’s transparent:</strong> Privacy Badger’s developers are EFF, which is a well-known and trusted organization in the community. EFF regularly publishes reports and updates about Privacy Badger’s development and performance.</li>
</ul>
<p>Privacy Badger offers a simple and effective way to protect your privacy online. With a simple interface powered by AI algorithms, Privacy Badger is an essential tool to protect your privacy.</p>
<h2 id="heading-express-vpnhttpswwwexpressvpncom"><a target="_blank" href="https://www.expressvpn.com/">Express VPN</a></h2>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/12/image-142.png" alt="Image" width="600" height="400" loading="lazy">
<em>CC: PcMag</em></p>
<p>ExpressVPN is a virtual private network (VPN) service that lets you access the internet safely.</p>
<p>ExpressVPN encrypts your traffic and routes it through a remote server. This can make it appear as if you are browsing from a different location.</p>
<p>This is useful for many reasons, including protecting your privacy. You can also access restricted content in your region, and bypass internet censorship.</p>
<p>ExpressVPN is one of many companies that offer VPN services, but it is known for its speed and reliability.</p>
<p>Here are a few reasons why ExpressVPN is a great choice:</p>
<ul>
<li><strong>Speed:</strong> ExpressVPN is popular for its fast speeds, which make streaming videos or playing online games easier.</li>
<li><strong>Reliability:</strong> ExpressVPN has a reputation for being a reliable and stable VPN service. ExpressVPN has a large network of servers and a team of engineers working around the clock to maintain the service.</li>
<li><strong>Security:</strong> ExpressVPN uses strong encryption to protect your data. It also offers many security features, such as <a target="_blank" href="https://www.fortinet.com/resources/cyberglossary/dns-leak">DNS leak protection</a>, to help keep you safe online.</li>
<li><strong>Privacy:</strong> ExpressVPN has a strict no-logs policy. This means it does not collect or store any information about your online activity. This can give you peace of mind that your privacy is protected.</li>
<li><strong>Compatibility:</strong> ExpressVPN is available on a wide range of devices and operating systems. This includes Windows, Mac, Linux, Android, and iOS. It also offers custom VPN apps for routers, gaming consoles, and other devices.</li>
</ul>
<p>ExpressVPN offers a combination of speed, reliability, security, privacy, and compatibility. This makes it a popular choice among VPN users.</p>
<h2 id="heading-haveibeenpawnedhttpshaveibeenpwnedcom"><a target="_blank" href="https://haveibeenpwned.com/">HaveIBeenPawned</a></h2>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/12/image-143.png" alt="Image" width="600" height="400" loading="lazy">
<em>CC: Sophos</em></p>
<p>Have I Been Pwned (HIBP) is a website that helps you to check if your personal information has been exposed to a data breach.</p>
<p>Security researcher Troy Hunt created HIBP in 2013. It has since become a widely-used resource for checking compromised personal information.</p>
<p>If HIBP finds that your information is exposed, it will recommend steps you can take to protect yourself. These may include changing passwords, enabling two-factor authentication, and so on.</p>
<p>Here are some features of HIBP:</p>
<ul>
<li><strong>Data breach search:</strong> You can enter your email address or username to see if it has been included in any of the data breaches in the HIBP database.</li>
<li><strong>Notification service:</strong> You can sign up for HIBP’s notification service, which will alert you if your email address appears in a new data breach.</li>
<li><strong>Breached password search:</strong> You can enter a password to see if it has appeared in any data breaches. This can help you determine if a password is secure or if you should change it.</li>
<li><strong>Pwned Password API:</strong> HIBP offers an API that lets developers use the breached password search feature in their own applications.</li>
<li><strong>Data breach statistics:</strong> HIBP provides statistics on data breaches. This includes the number of records compromised and the types of data that were exposed.</li>
</ul>
<p>Even if you set a strong password, the applications you use can encounter a data breach. HIBP helps you keep track of these breaches and make sure your data is secure.</p>
<h2 id="heading-summary">Summary</h2>
<p>Online privacy is not a myth. There are great tools that we can use to secure our digital life and use the internet safely. </p>
<p>Use these five tools in addition to standard safety practices like setting strong passwords and enabling two-factor authentication. <a target="_blank" href="https://swisscyberinstitute.com/blog/10-tips-on-how-to-browse-the-internet-safely/">Here are a few more tips on staying safe online</a>.</p>
<p><em>Loved this article? Visit</em> <a target="_blank" href="https://www.stealthsecurity.io/">https://www.stealthsecurity.io/</a> <em>to find more cybersecurity content. You can also</em> <a target="_blank" href="https://www.linkedin.com/in/manishmshiva/"><em>connect with me</em></a> <em>on LinkedIn.</em></p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ How to Build Your Own Wireguard VPN in Five Minutes ]]>
                </title>
                <description>
                    <![CDATA[ You may already understand how important a good VPN can be for maintaining the security and privacy of your mobile communications.  Whether you need to use your phone for banking over a public airport or coffee shop WiFi connection, or you're worried... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/build-your-own-wireguard-vpn-in-five-minutes/</link>
                <guid isPermaLink="false">66b995c2489480391dfe7a0c</guid>
                
                    <category>
                        <![CDATA[ information security ]]>
                    </category>
                
                    <category>
                        <![CDATA[ privacy ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Security ]]>
                    </category>
                
                    <category>
                        <![CDATA[ vpn ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ David Clinton ]]>
                </dc:creator>
                <pubDate>Mon, 19 Dec 2022 20:46:15 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/news/content/images/2022/12/pexels-ibrahim-boran-339814.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>You may already understand how important a good VPN can be for maintaining the security and privacy of your mobile communications. </p>
<p>Whether you need to use your phone for banking over a public airport or coffee shop WiFi connection, or you're worried about the wrong people listening in on your online interactions, the tunneled encryption a good VPN gives you can be invaluable. </p>
<p>The trick, however, is finding a VPN that really is "good" – and one that's both convenient and affordable.</p>
<p>There are plenty of commercial VPN services out there, and configuring one of those for your phone or laptop is usually simple enough. </p>
<p>But such services come with two potential down-sides: they're often expensive, with payments averaging around $10 monthly, and you can never be quite 100% sure that they aren't (accidentally or on purpose) leaking or misusing your data. </p>
<p>Also, cheaper VPNs often limit your data use and the number of devices you can connect.</p>
<p>If you like watching video versions of tutorials to supplement your learning, feel free to follow along here:</p>
<div class="embed-wrapper">
        <iframe width="560" height="315" src="https://www.youtube.com/embed/kxj8GMvnASE" style="aspect-ratio: 16 / 9; width: 100%; height: auto;" title="YouTube video player" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen="" loading="lazy"></iframe></div>
<h2 id="heading-what-wireguard-delivers">What WireGuard Delivers</h2>
<p>But if you happen to have a cloud-based Linux server running anyway, building a WireGuard VPN can be a simple and free way to add some serious, compromise-free security and privacy to your life. </p>
<p>If you plan to limit the VPN to just devices owned by you and a few friends, you'll probably never even notice any extra resource load on your server. Even if you had to fire up and pay for a dedicated AWS EC2 t2.micro reserved instance, the annual costs should still come out significantly cheaper than most commercial VPNs. And, as a bonus, you'll get complete control over your data.</p>
<p>Right now I'm going to show you how all that would work using the open source WireGuard software on an Ubuntu Linux server. </p>
<p>Why WireGuard? Because it's really easy to use, is designed to be particularly attack resistant, and it's so good at what it does that it was recently incorporated into the Linux kernel itself. </p>
<p>The actual work to make this happen <em>really will</em> take only five minutes - or less. Having said that, planning things out, troubleshooting for unexpected problems and, if necessary, launching a new server might add significant time to the project.</p>
<h2 id="heading-how-to-set-up-your-environment">How to Set Up Your Environment</h2>
<p>First off, you'll need to open the UDP port 51820 in whatever firewall you're using. Here's how that would look for the security group associated with an AWS EC2 instance:</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/12/SG_rule-2.png" alt="Image" width="600" height="400" loading="lazy"></p>
<p>Now, on the Linux server, using a sudo shell, we'll begin by installing the WireGuard and resolvconf packages. </p>
<p>Technically, we probably won't need resolvconf here, but since that's what you'd need if you wanted to set up a Linux machine as a WireGuard <em>client</em> I thought I'd throw that in here, too.</p>
<pre><code>apt install wireguard resolvconf
</code></pre><h2 id="heading-how-to-generate-encryption-keys">How to Generate Encryption Keys</h2>
<p>The <code>wg genkey</code> command generates a new private encryption key and saves it as a file in the /etc/wireguard directory. This directory was automatically created when we installed WireGuard. </p>
<p>The <code>chmod</code> command sets the appropriate restrictive permissions for that private key file. </p>
<p>Like everything in Linux, there are other ways to get this done, but just make sure you do it right.</p>
<pre><code>wg genkey | sudo tee /etc/wireguard/private.key
chmod go= <span class="hljs-regexp">/etc/</span>wireguard/private.key
</code></pre><p>Next, we'll use the value of our private key to generate a matching public key – which will also be saved to the /etc/wireguard directory. The goal is to add the server's <em>public</em> key to the WireGuard configuration on all the client devices we'll be using, and then to add those clients' public keys to the server configuration here. </p>
<p>Private keys should never leave the machines for which they're created – and should always be carefully protected.</p>
<pre><code>cat /etc/wireguard/private.key | wg pubkey | sudo tee
</code></pre><h2 id="heading-how-to-configure-the-wireguard-server">How to Configure the WireGuard Server</h2>
<p>We're now ready to create a server configuration file. Following convention, I'll name the file wg0.conf, but you can give it any name you'd like. You can also have multiple configurations (with different filenames) existing at the same time.</p>
<p>Here's what our configuration will look like:</p>
<pre><code>[Interface]
Address = <span class="hljs-number">10.5</span><span class="hljs-number">.5</span><span class="hljs-number">.1</span>/<span class="hljs-number">24</span>
ListenPort = <span class="hljs-number">51820</span>
# Use your own private key, <span class="hljs-keyword">from</span> /etc/wireguard/privatekey
PrivateKey = your_key

[Peer]
# Workstation public key
PublicKey = your_key
# VPN client<span class="hljs-string">'s IP address in the VPN
AllowedIPs = 10.5.5.2/32

[Peer]
# laptop public key
PublicKey = your_key
# VPN client'</span>s IP address <span class="hljs-keyword">in</span> the VPN
AllowedIPs = <span class="hljs-number">10.5</span><span class="hljs-number">.5</span><span class="hljs-number">.3</span>/<span class="hljs-number">32</span>
</code></pre><p>Notice that this file has three sections: an Interface, and two peers. The Interface section defines the private NAT network address that our server will use. That's the private address the clients will connect to – after first requesting access through the server's public IP address, of course. </p>
<p>You don't have to follow my addressing, as long as you use a valid private IP range that doesn't overlap on any network blocks being used by either your server or client. </p>
<p>Matching the UDP security group rule I set up earlier in AWS, I'm defining the ListenPort as 51820. But I could choose a different address to add a tiny bit more security if I want. </p>
<p>Finally, I would paste the server's Private Key as the value of <code>PrivateKey</code> so WireGuard will be able to authenticate incoming client requests.</p>
<p>The first <code>peer</code> section contains nothing more than the <em>public</em> key and assigned private IP address of one client. The second <code>peer</code> section does the same for a second client machine. </p>
<p>Getting those public keys from the client is the most manual task involved in this whole setup. But, since this is your own VPN, you can usually find a way to copy and paste directly into your server configuration so you don't need to painfully type the whole thing in.</p>
<p>That should be everything. I'll use the <code>wg-quick</code> command to bring the VPN to life. <code>up</code> tells WireGuard to read the wg0.conf configuration we just made and use it to build a new VPN interface. </p>
<pre><code>wg-quick up wg0
</code></pre><p>Running <code>wg</code> will show us that it worked. Finally, I'll run <code>systemctl enable</code> to tell Linux to load this WireGuard interface automatically each time the server reboots.</p>
<pre><code>systemctl enable wg-quick@wg0
</code></pre><h2 id="heading-how-to-configure-wireguard-clients">How to Configure WireGuard Clients</h2>
<p>That's all we'll need from the server end of things. Getting your client device set up with WireGuard is either going to be much easier or more or less the same. </p>
<p>What does <em>that</em> mean? Well, if you're working with Windows, macOS, Android or iOS, then there are links to GUI apps available from <a target="_blank" href="https://www.wireguard.com/install/">this wireguard.com/install page</a>. Those apps will generate key pairs <em>for</em> you. You'll only need to enter the server's IP address or domain and its public key. You'll then take the client's public key and add it to the server wg0.conf file the way I showed you earlier.</p>
<p>However, if it's a Linux PC or laptop client you want to add, then it's a bit more complicated. You'll basically follow all the steps you saw for the server configuration, including the key generation. You'll even create a configuration file named wg0-conf (if that's the name you like). But here's how that config file should look:</p>
<pre><code>[Interface]
# The address your computer will use on the VPN
Address = <span class="hljs-number">10.5</span><span class="hljs-number">.5</span><span class="hljs-number">.2</span>/<span class="hljs-number">32</span>
DNS = <span class="hljs-number">8.8</span><span class="hljs-number">.8</span><span class="hljs-number">.8</span>
# Load your privatekey <span class="hljs-keyword">from</span> file
PostUp = wg set %i private-key /etc/wireguard/privatekey
# Also ping the vpn server to ensure the tunnel is initialized
PostUp = ping -c1 <span class="hljs-number">10.47</span><span class="hljs-number">.47</span><span class="hljs-number">.1</span>
[Peer]
# VPN server<span class="hljs-string">'s wireguard public key
PublicKey = your_key
# Public IP address of your VPN server (USE YOURS!)
Endpoint = 54.160.21.183:51820
# 10.0.0.0/24 is the VPN subnet
AllowedIPs = 10.47.47.0/24
# PersistentKeepalive = 25</span>
</code></pre><p>The <code>Interface</code> section represents the client machine this time, while the <code>Peer</code> section down below refers to the server. Let's begin with <code>Interface</code>. The private IP address should match the address you give this particular client in the configuration on the server. </p>
<p>If you need your client to by-pass a local DNS server, you can specify a custom DNS server here. This one is the one provided by Google.</p>
<p>Instead of hard-coding your local private key into your configuration file the way we did on the server, you could tell WireGuard to read the privatekey file whenever it loads. This is probably a bit of a security best-practice – and we could just as easily have done it on the server, too. Finally, the configuration script will test our connection with the <code>PostUp</code> ping command.</p>
<p>The <code>Peer</code> – or server – configuration requires the server's <em>public</em> key, which is added here. </p>
<p>The <code>Endpoint</code> is where you tell WireGuard where to find the server. Nothing will work without this one! That would require the server's public IP – or it's domain name – followed by the port you've chosen. Again, 51820 is the WireGuard default. </p>
<p>Finally, the <code>AllowedIPs</code> setting defines the network address range you'll be using, and the optional <code>PersistentKeepalive</code> value can prevent dropped connections.</p>
<p>You launch WireGuard on the client exactly the same why you did on the server, using <code>wg-quick up wg0</code>. Again, though, all those steps will only be necessary for Linux clients. You can use the apps for other platforms.</p>
<h2 id="heading-wrapping-up">Wrapping Up</h2>
<p>So that's that. Just as I said, a working VPN in around five minute's work. You've now got one less excuse for protecting your online privacy and securing your communications.</p>
<p><em>For more technology goodness, please do subscribe to <a target="_blank" href="https://www.youtube.com/@davidbclinton">my YouTube channel</a> and, when you've got a moment, check out the many Linux, security, data analytics, and AWS books and courses available through <a target="_blank" href="https://bootstrap-it.com">my bootstrap-it.com website</a>.</em></p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ How to Improve Your Data Privacy – A Personal Guide to Protecting Your Online Information ]]>
                </title>
                <description>
                    <![CDATA[ By Megan Kaczanowski What's the difference between data privacy and data security? Data security is about protecting your data from unauthorized access (basically ensuring that hackers can't access your data). Data privacy, on the other hand, is abou... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/a-personal-guide-to-data-privacy/</link>
                <guid isPermaLink="false">66d4603f264384a65d5a959c</guid>
                
                    <category>
                        <![CDATA[ cybersecurity ]]>
                    </category>
                
                    <category>
                        <![CDATA[ data ]]>
                    </category>
                
                    <category>
                        <![CDATA[ information security ]]>
                    </category>
                
                    <category>
                        <![CDATA[ privacy ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ freeCodeCamp ]]>
                </dc:creator>
                <pubDate>Fri, 09 Dec 2022 18:51:30 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/news/content/images/2022/12/pexels-antoni-shkraba-5475793.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>By Megan Kaczanowski</p>
<p>What's the difference between data privacy and data security?</p>
<p>Data security is about protecting your data from unauthorized access (basically ensuring that hackers can't access your data).</p>
<p>Data privacy, on the other hand, is about giving you more granular control over how (and by whom) your data is accessed, used, or shared. </p>
<p>Both are extremely important. </p>
<h2 id="heading-why-is-data-privacy-important">Why is Data Privacy Important?</h2>
<p>There are a couple big reasons you should care about data privacy (in addition to data security). </p>
<h3 id="heading-cybercriminals-and-scammers">Cybercriminals and scammers</h3>
<p>Cybercriminals and scammers leverage personal information in order to better target scams to you. The less data they have on you, the harder it is to target scams to you and the less likely you are to be targeted. </p>
<p>Also, with sensitive information like your social security number (or other government identification number if you're outside the United States), as well as a couple personal details, scammers can try to steal your identity, open credit cards in your name, or otherwise cause financial and reputation harm. </p>
<h3 id="heading-corporations">Corporations</h3>
<p>If companies are collecting and storing your data (often with poor cybersecurity practices) and are later hacked, that leaves you vulnerable to hackers obtaining that data and carrying out scams. </p>
<p>Even if companies aren't losing your data, they're collecting it for a number of reasons, including:</p>
<ul>
<li>Personalized services (and ads)</li>
<li>Better understanding of their customer base (which improves their ability to effectively sell products)</li>
<li>Training data for models</li>
</ul>
<p>Even if you're okay with this, the down side is that often companies are using data to manipulate you in ways that are hard to realize or break out of. </p>
<p>For example, Facebook performed experiments on their users in order to see if they could manipulate their emotions (without their consent) – and found that they could (<a target="_blank" href="https://www.nytimes.com/2014/06/30/technology/facebook-tinkers-with-users-emotions-in-news-feed-experiment-stirring-outcry.html">Source</a>). Additionally, the spread of data collection has been shown to boost disinformation campaigns around the world. (<a target="_blank" href="https://www.brookings.edu/blog/techtank/2022/06/21/data-misuse-and-disinformation-technology-and-the-2022-elections/">Source</a>)</p>
<h3 id="heading-government-agencies">Government agencies</h3>
<p>Often corporations will provide data to law enforcement or other government agencies without a warrant (or the government agencies will collect the data themselves). </p>
<p>This can lead to broad, sweeping surveillance programs, sometimes targeted based on racial or ethnic groups, or by political affiliation. These programs have typically had disproportionate effect on people of color in the United States, and minority groups throughout the world. </p>
<p>Additionally, in the (recent) past, the US government admitted that: </p>
<blockquote>
<p>"the NSA had for years been secretly collecting records about <a target="_blank" href="https://www.aclu.org/blog/national-security/privacy-and-surveillance/why-todays-landmark-court-victory-against-mass?redirect=blog/speak-freely/why-todays-landmark-court-victory-against-mass-surveillance-matters">virtually every American’s phone calls</a> — who’s calling whom, when those calls are made, and how long they last. This kind of information, when amassed by the NSA day after day, can reveal incredibly sensitive details about people’s lives and associations, such as whether they have called a pastor, an abortion provider, an addiction counselor, or a suicide hotline." (<a target="_blank" href="https://www.aclu.org/news/national-security/the-privacy-lesson-of-9-11-mass-surveillance-is-not-the-way-forward">source</a>) </p>
</blockquote>
<p>Just because you don't have anything to hide right now, doesn't mean that you want everyone in your life (or your government) to monitor everything you do every moment of every day. Protecting your information protects you from some of these effects. </p>
<p>Sometimes, I hear folks complain that it's too late – that their data is already out there and there's no point to trying to improve their data privacy. But the best part about data is that you're constantly generating new data as you browse the internet, make purchases, and go about your life. It's never too late to cut back on sharing your data. And the sooner you do so, the less data you're giving up. </p>
<p>It's a little bit like smoking – even if you've been smoking for many years, it's always a good idea to cut back or quit.</p>
<h2 id="heading-how-to-improve-your-digital-privacy">How to Improve Your Digital Privacy</h2>
<p>So, if you want to mitigate the amount of information that is tracked about you, here's a quick list of 10 ways you can improve your digital privacy.</p>
<p>First, <strong>improve your digital security</strong>. You can find my quick guide <a target="_blank" href="https://megankaczanowski.com/digital-security/">here</a>. Having strong digital security and making sure that no unauthorized users can access your data is the first step to protecting your privacy.</p>
<p><strong>Switch to using a</strong> <strong>browser like <a target="_blank" href="https://brave.com/download/">Brave</a> or <a target="_blank" href="https://duckduckgo.com/">DuckDuckGo</a></strong> which will protect you against trackers and ads that track you as you search the internet. </p>
<p>If you continue to use a browser like Chrome, use browser extensions like <a target="_blank" href="https://ublockorigin.com/">uBlock Origin</a> or <a target="_blank" href="https://privacybadger.org/#What-is-Privacy-Badger">Privacy Badger</a>, which stop advertisers and other trackers from secretly tracking where you go and what you're looking at on the internet.</p>
<p><strong>Use end to end encrypted chat apps</strong> like <a target="_blank" href="https://signal.org/en/download/">Signal</a> or iMessage. While this is also a security measure, using apps which don't track your metadata is a privacy one.</p>
<p>For example, while WhatsApp has encrypted messaging, it is also owned by Meta (Facebook), and Meta uses the metadata (who's calling whom, when the calls are made, how long they last, and so on), which isn't really protecting your privacy, so I don't recommend it. Plus, if you back those messages up to the cloud, the messages may no longer be encrypted. </p>
<p><strong>Opt out of ad personalization</strong>. You can do so for more than 50 companies <a target="_blank" href="https://simpleoptout.com/">here</a>. Opting out will not prevent companies from collecting your data, but will significantly reduce the data they collect. </p>
<p>Apple rolled out a similar option in a new iPhone update, where you now have the option to ask apps 'not to track'. Additionally, opt to delete your user data from sites like <a target="_blank" href="https://support.google.com/accounts/answer/465?hl=en&amp;co=GENIE.Platform%3DDesktop">Google</a>, <a target="_blank" href="https://time.com/5633726/how-to-delete-facebook-data/">Facebook</a>, and <a target="_blank" href="https://www.forbes.com/sites/davidbalaban/2020/12/11/how-to-remove-your-data-from-twitter/?sh=5c5c9745498c">Twitter</a> (and set up a recurring option to clear your cookies and search history regularly from Google).</p>
<p><strong>Clear out data you no longer need</strong>. If you're disposing of a device, make sure you completely wipe the data (and reset to factory settings) before you do so (and make sure you're doing so for every internet connected device). </p>
<p>If you're very paranoid (like me!), look up the instructions for how to 'sanitize' or permanently erase a device before getting rid of it. </p>
<p>At the same time, review your backup settings for your device and your chat apps. Are you keeping information past the time when you still need it? All of that information is at risk of being used by any applications you've given access to or stolen by hackers in a data breach.</p>
<p><strong>Use a tool like <a target="_blank" href="https://privacy.com/">Privacy</a> to protect your credit card information</strong>. They provide a virtual card for the exact amount of the purchase (or a recurring purchase) so you don't have to disclose your actual credit card number (though you will still be giving away your other information like name and address). </p>
<p>Also consider using a credit card that prioritizes your privacy (like the Apple card, which states that they don't know your transaction history, and don't share or sell your transaction information to third parties).</p>
<p><strong>Review your social network privacy settings regularly</strong>. Check to make sure you're not sharing more information than you'd like. Also make sure that you're covering all of your accounts (Facebook/Instagram, Twitter, Google/Gmail, Yahoo, Venmo, TikTok, and so on).</p>
<p><strong>Close old accounts rather than leave them dormant</strong>. That means that your old accounts (and the information they have on you) are less likely to continue being used by old applications or third parties you've given access to, sold by the application/website, or lost in a data breach.</p>
<p><strong>Review the applications on your phone</strong>, and delete the ones which you don't need or are no longer using. In fact, if you can only use the site via a browser instead of downloading the application (or switch to doing so) it will significantly reduce the amount of data you're sharing. </p>
<p>Take this one step further, and don't sign up for accounts you don't need, and avoid downloading additional applications unless you really need them.</p>
<p>Lastly, <strong>contact your congresspeople/local government representatives</strong>. There's a limit to how much you can do as an individual to maintain your privacy, without taking extremely drastic measures (covered in the additional resources section below). The best option for consumers is better, more consistent regulation of data privacy around the world.</p>
<h3 id="heading-looking-for-more-information">Looking for more information?</h3>
<ul>
<li><a target="_blank" href="https://www.amazon.com/Hiding-Internet-Eliminating-Personal-Information/dp/1500397814">This book from Michael Bazzell</a> is the gold standard for internet privacy, if you're looking to erase your online identity.</li>
<li><a target="_blank" href="https://www.amazon.com/Extreme-Privacy-What-Takes-Disappear/dp/B09W78GW2T/ref=pd_lpo_1?pd_rd_w=YBUvo&amp;content-id=amzn1.sym.116f529c-aa4d-4763-b2b6-4d614ec7dc00&amp;pf_rd_p=116f529c-aa4d-4763-b2b6-4d614ec7dc00&amp;pf_rd_r=HMH66VW54QQ6Q0Z7XYBT&amp;pd_rd_wg=VfguC&amp;pd_rd_r=6f70c63c-0c73-43cb-8505-7dbc3d0bde31&amp;pd_rd_i=B09W78GW2T&amp;psc=1#customerReviews">This book from Michael Bazell</a> is about starting over and re-creating an online presence.</li>
<li><a target="_blank" href="https://www.amazon.com/Art-Invisibility-Worlds-Teaches-Brother/dp/0316380520/ref=pd_lpo_5?pd_rd_w=YBUvo&amp;content-id=amzn1.sym.116f529c-aa4d-4763-b2b6-4d614ec7dc00&amp;pf_rd_p=116f529c-aa4d-4763-b2b6-4d614ec7dc00&amp;pf_rd_r=HMH66VW54QQ6Q0Z7XYBT&amp;pd_rd_wg=VfguC&amp;pd_rd_r=6f70c63c-0c73-43cb-8505-7dbc3d0bde31&amp;pd_rd_i=0316380520&amp;psc=1#customerReviews">This book from Kevin Mitnick</a> gives some high level tips to improve your data security and privacy.</li>
</ul>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ How to Authenticate a User with Face Recognition in React.js ]]>
                </title>
                <description>
                    <![CDATA[ By Hrishikesh Pathak With the advent of Web 2.0, authenticating users became a crucial task for developers.  Before Web 2.0, website visitors could only view the content of a web page – there was no interaction. This era of the internet was called We... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/authenticate-with-face-recognition-reactjs/</link>
                <guid isPermaLink="false">66d45f31182810487e0ce1a6</guid>
                
                    <category>
                        <![CDATA[ Artificial Intelligence ]]>
                    </category>
                
                    <category>
                        <![CDATA[ facial recognition ]]>
                    </category>
                
                    <category>
                        <![CDATA[ privacy ]]>
                    </category>
                
                    <category>
                        <![CDATA[ React ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Security ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ freeCodeCamp ]]>
                </dc:creator>
                <pubDate>Fri, 29 Jul 2022 13:55:01 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/news/content/images/2022/07/FaceIO-react--1-.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>By Hrishikesh Pathak</p>
<p>With the advent of Web 2.0, authenticating users became a crucial task for developers. </p>
<p>Before Web 2.0, website visitors could only view the content of a web page – there was no interaction. This era of the internet was called Web 1.0.</p>
<p>But after Web 2.0, people gained the ability to post their own content on a website. And then content moderation became a never-ending task for website owners. </p>
<p>To reduce spam on these websites, developers introduced user authentication systems. Now website moderators can easily know the source of spam and can prevent those spammers from accessing the website further.</p>
<p>If you are want to know how to implement content moderation on your website, you can read my article on <a target="_blank" href="https://betterprogramming.pub/detect-and-blur-human-faces-on-your-website-8c4a2d69a538">How to detect and blur faces in your web applications</a>.</p>
<p>Now let's see what we'll be getting into in this tutorial.</p>
<h2 id="heading-what-youll-learn-in-this-tutorial">What You'll Learn in This Tutorial</h2>
<p>In this tutorial, we will discuss different authentication techniques you can use to authenticate users. These include email-password authentication, phone auth, OAuth, passwordless magic links, and at last facial authentication. </p>
<p>Our primary focus will be on authentication via face recognition techniques in this article.</p>
<p>We'll also build a project that teaches you how to integrate facial recognition-based authentication in your React web application. </p>
<p>In this project, we'll use the FaceIO SaaS (software as a service) platform to integrate facial recognition-based authentication. So, make sure you set up a free <a target="_blank" href="https://faceio.net/getting-started">FaceIO account</a> to follow along.</p>
<p>And finally, we'll take a look at the user privacy aspect and discuss how face recognition doesn't harm your privacy. We'll also talk about whether it's a reliable choice for developers in the future.</p>
<p>This article is packed with information, hands-on projects, and discussions. Grab a cup of coffee and a slice of pizza 🍕 and let's get started.</p>
<p>The final version of this project looks like this. Looks interesting? Let's do it then.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/07/faceIO-final.gif" alt="Image" width="600" height="400" loading="lazy"></p>
<h2 id="heading-different-types-of-user-authentication-systems">Different Types of User Authentication Systems</h2>
<p>There are many user authentication systems out there right now that you can choose to implement in your websites. There are no real superior or inferior auth techniques. All of these auth systems depend on using the right tool for the job.</p>
<p>For example, if you are making a simple landing page to collect emails from users, there is no need to use OAuth. But if you are building a social platform, then using OAuth makes more sense than traditional authentication. You can pull the user's details and profile images directly from OAuth.</p>
<p>If your web application is built around any investment-related content or legally binding services, then using phone auth makes more sense. A user can create unlimited email accounts but they'll have limited phone numbers to use.</p>
<p>Let's take a look at some popular authentication systems so we can see their pros and cons.</p>
<h3 id="heading-email-password-based-authentication">Email-password based authentication</h3>
<p>Email-password-based authentication is the oldest technique for verifying a user. The implementation is also very simple and easy to use. </p>
<p>The pro of this system is you don't need to have a third-party account to log in. If you have an email, whether it is self-hosted or from a service (like Gmail, Outlook, and so on), you are good to go. </p>
<p>The primary con of this system is you need to remember all of your passwords. As the number of websites is constantly growing and we need to log in to most sites to access our profiles, remembering passwords for every site becomes a daunting task for us humans. </p>
<p>Coming up with a unique and strong password is also a huge task. Our brains aren't typically capable of memorizing many random strings of letters and numbers. This is the biggest drawback of email-password-based authentication systems.</p>
<h3 id="heading-phone-authentication">Phone authentication</h3>
<p>Phone authentication is generally a very reliable auth technique to verify a user's identity. As a user typically doesn't have more than one phone number, this can be best suited for assets-related websites where user identity is very important. </p>
<p>But the drawback of this system is people don't want to reveal their phone numbers if they don't trust you. A phone number is much more personal than an email. </p>
<p>One more important factor of phone authentication is its cost. The cost of sending a text message to a user with an OTP is high compared to email. So website owners and developers often prefer to stick with email auth.</p>
<h3 id="heading-oauth-based-authentication">OAuth-based authentication</h3>
<p>OAuth is a relatively new technique compared to the previous two. In this technique, OAuth providers user authentication and useful information on behalf of the user. </p>
<p>For example, if the user has an account with Google (for example), they can log in to other sites directly using their Google account. The website gets the user details details from Google itself. This means that there's no need to create multiple accounts and remember every password for those accounts. </p>
<p>The major drawback of this system is that you as a developer have to trust the OAuth providers and many people don't want to link all their accounts for privacy reasons. So you'll often see an email-password field in addition to OAuth on most websites.</p>
<h3 id="heading-magic-link-authentication">Magic link authentication</h3>
<p>Magic links solve most of the problems you face in email password-based authentication. Here you have to provide only your password and you will receive an email with an auth link. Then you have to open this link in your browser and you are done. No need to remember any passwords. </p>
<p>This type of authentication has gained in popularity these days. It saves a lot of time for the user, and it's also very cheap. And you don't have to trust a 3rd-party like in the case of OAuth.</p>
<h3 id="heading-facial-recognition-authentication">Facial recognition authentication</h3>
<p>Facial recognition is one of the latest authentication techniques, and many developers are adopting it these days. Facial recognition reduces the hassle of entering your email-password or any other user credentials to log in to a web application. </p>
<p>The most important thing is that this authentication system is fast and doesn't need any special hardware. You just need a webcam, which almost all devices have nowadays. </p>
<p>Facial recognition technology uses artificial intelligence to map out the unique facial details of a user and store them as a hash (some random numbers and text with no meaning) to reduce privacy-related issues. </p>
<p>Building and deploying an artificial intelligence-based face recognition model from scratch is not easy and can be very costly for indie developers and small startups. So you can use SaaS platforms to do all this heavy-lifting for you. FaceIO and AWS recognition are examples of these type of services you can use in your projects.</p>
<p>In this hands-on project, we are going to use FaceIO APIs to authenticate a user via facial recognition in a React web application. FaceIO gives you an easy way to integrate the authentication system with their <code>fio.js</code> JavaScript library.</p>
<h2 id="heading-project-setup">Project Setup</h2>
<p>Before starting, make sure to create a FaceIO account and create a new project. Save the public ID of your FaceIO project. We need this ID later in our project.</p>
<p>To make a React.js project, we will use Vite. To start a Vite project, navigate to your desired folder and execute the following command:</p>
<pre><code class="lang-bash">npm create vite@latest
</code></pre>
<p>Then follow the instructions and create a React app using Vite. Navigate inside the folder and run <code>npm insall</code> to install all the dependencies for your project.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/07/Screenshot-from-2022-07-27-10-46-05.png" alt="Image" width="600" height="400" loading="lazy"></p>
<p>After following all these steps, your project structure should look like this:</p>
<pre><code class="lang-bash">.
├── index.html
├── package.json
├── package-lock.json
├── public
│   └── vite.svg
├── src
│   ├── App.css
│   ├── App.jsx
│   ├── assets
│   │   └── react.svg
│   └── main.jsx
└── vite.config.js
</code></pre>
<h2 id="heading-how-to-integrate-faceio-into-our-react-rroject">How to Integrate FaceIO into Our React Rroject</h2>
<p>To integrate FaceIO into our project, we need to add their CDN in the <code>index.html</code> file. Open the <code>index.html</code> file and add the faceIO CDN before the <code>root</code> component. To learn more, check out <a target="_blank" href="https://faceio.net/integration-guide">FaceIO's integration guide</a>.</p>
<pre><code class="lang-html"><span class="hljs-tag">&lt;<span class="hljs-name">body</span>&gt;</span>    
    <span class="hljs-tag">&lt;<span class="hljs-name">script</span> <span class="hljs-attr">src</span>=<span class="hljs-string">"https://cdn.faceio.net/fio.js"</span>&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">script</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-name">div</span> <span class="hljs-attr">id</span>=<span class="hljs-string">"root"</span>&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-name">script</span> <span class="hljs-attr">type</span>=<span class="hljs-string">"module"</span> <span class="hljs-attr">src</span>=<span class="hljs-string">"/src/main.jsx"</span>&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">script</span>&gt;</span>
<span class="hljs-tag">&lt;/<span class="hljs-name">body</span>&gt;</span>
</code></pre>
<p>Now remove all the code from the <code>App.jsx</code> file to start from scratch. I've kept this tutorial as minimal as possible. So I've only added a heading and two buttons in the UI to demonstrate how the FaceIO facial authentication process works. </p>
<p>Here, one button works as a sign-in button, and the other one works as a log-in button.</p>
<p>The code inside the <code>App.jsx</code> file looks like this:</p>
<pre><code class="lang-jsx"><span class="hljs-keyword">import</span> <span class="hljs-string">"./App.css"</span>;
<span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">App</span>(<span class="hljs-params"></span>) </span>{
  <span class="hljs-keyword">return</span> (
    <span class="xml"><span class="hljs-tag">&lt;<span class="hljs-name">section</span>&gt;</span>
      <span class="hljs-tag">&lt;<span class="hljs-name">h1</span>&gt;</span>Face Authentication by FaceIO<span class="hljs-tag">&lt;/<span class="hljs-name">h1</span>&gt;</span>
      <span class="hljs-tag">&lt;<span class="hljs-name">button</span>&gt;</span>Sign-in<span class="hljs-tag">&lt;/<span class="hljs-name">button</span>&gt;</span>
      <span class="hljs-tag">&lt;<span class="hljs-name">button</span>&gt;</span>Log-in<span class="hljs-tag">&lt;/<span class="hljs-name">button</span>&gt;</span>
    <span class="hljs-tag">&lt;/<span class="hljs-name">section</span>&gt;</span></span>
  );
}

<span class="hljs-keyword">export</span> <span class="hljs-keyword">default</span> App;
</code></pre>
<h3 id="heading-how-to-register-a-users-face-using-faceio">How to Register a User's Face using FaceIO</h3>
<p>Working with FaceIO is very fast and easy. As we are using the <code>fio.js</code> library, we have to execute only one helper function to authenticate a user. This <code>fio.js</code> library will do most of the work for us.</p>
<p>To register a user, we initialize our FaceIO object inside a <code>useEffect</code> hook. Otherwise, every time a state changes, it re-runs the components and reinitializes the <code>faceIO</code> object.</p>
<pre><code class="lang-js"><span class="hljs-keyword">let</span> faceio;
useEffect(<span class="hljs-function">() =&gt;</span> {
    faceio = <span class="hljs-keyword">new</span> faceIO(<span class="hljs-string">"Your Public ID goes here"</span>);
}, []);
</code></pre>
<p>Your FaceIO public ID is located on your FaceIO console. Copy the public ID and paste it here to initialize your FaceIO object.</p>
<p>Now, define a function named <code>handleSignIn()</code>. This function contains our user registration logic. </p>
<p>Inside the function call the <code>enroll</code> method of the <code>faceIO</code> object. This <code>enroll</code> method is equivalent to the sign-up function in a standard password backed registration system and accepts a <code>payload</code> argument. You can add any user-specific information (for example their name or email address) to this payload. </p>
<p>This payload information will be stored along with the facial authentication data for future reference. To learn about other optional arguments, check out their <a target="_blank" href="https://faceio.net/integration-guide#enroll">API docs</a>.</p>
<p>In our sign-in <code>button</code>, on user click we invoke this <code>handleSignIn()</code> function. The code snippets for user sign-in look like this:</p>
<pre><code class="lang-js"><span class="hljs-keyword">const</span> handleSignIn = <span class="hljs-keyword">async</span> () =&gt; {
    <span class="hljs-keyword">try</span> {
      <span class="hljs-keyword">let</span> response = <span class="hljs-keyword">await</span> faceio.enroll({
        <span class="hljs-attr">locale</span>: <span class="hljs-string">"auto"</span>,
        <span class="hljs-attr">payload</span>: {
          <span class="hljs-attr">email</span>: <span class="hljs-string">"example@gmail.com"</span>,
          <span class="hljs-attr">pin</span>: <span class="hljs-string">"12345"</span>,
        },
      });

      <span class="hljs-built_in">console</span>.log(<span class="hljs-string">` Unique Facial ID: <span class="hljs-subst">${response.facialId}</span>
      Enrollment Date: <span class="hljs-subst">${response.timestamp}</span>
      Gender: <span class="hljs-subst">${response.details.gender}</span>
      Age Approximation: <span class="hljs-subst">${response.details.age}</span>`</span>);
    } <span class="hljs-keyword">catch</span> (error) {
      <span class="hljs-built_in">console</span>.log(error);
    }
  };

<span class="xml"><span class="hljs-tag">&lt;<span class="hljs-name">button</span> <span class="hljs-attr">onClick</span>=<span class="hljs-string">{handleSignIn}</span>&gt;</span>Sign-in<span class="hljs-tag">&lt;/<span class="hljs-name">button</span>&gt;</span></span>
</code></pre>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/07/faceIO-1.png" alt="Image" width="600" height="400" loading="lazy">
<em>FaceIO screen</em></p>
<h3 id="heading-how-to-sign-in-using-face-recognition">How to Sign In using Face Recognition</h3>
<p>After registering the user, then you'll need to get the user into the authentication or log-in/sign-in flow. Using the <code>fio.js</code> library also makes it very easy for us to set up a log-in flow using face authentication. </p>
<p>We have to invoke the <code>authenticate</code> method of the <code>faceIO</code> object which is equivalent to the sign-in function in a standard password backed registration system and all the critical work will be done by the <code>fio.js</code> package.</p>
<p>At first, define a new function named <code>handleLogIn()</code> to handle all the log-in logic in our React app. Inside this function, we invoke the <code>authenticate</code> method of the <code>faceIO</code> object as I mentioned earlier.</p>
<p>This method accepts a <code>locale</code> argument. This is the default language of the interaction of users with FaceIO widgets. If you are not sure, you can assign <code>auto</code> in this field. </p>
<p>The <code>authenticate</code> method also take more optional arguments like <code>permissionTimeout</code>, <code>idleTimeout</code>, <code>replyTimeout</code> and so on. You can check out their API documentation to know more about optional arguments.</p>
<p>We invoke this <code>handleLogIn()</code> function when someone clicks on the <code>Log-in</code> button:</p>
<pre><code class="lang-js"><span class="hljs-keyword">const</span> handleLogIn = <span class="hljs-keyword">async</span> () =&gt; {
    <span class="hljs-keyword">try</span> {
      <span class="hljs-keyword">let</span> response = <span class="hljs-keyword">await</span> faceio.authenticate({
        <span class="hljs-attr">locale</span>: <span class="hljs-string">"auto"</span>,
      });

      <span class="hljs-built_in">console</span>.log(<span class="hljs-string">` Unique Facial ID: <span class="hljs-subst">${response.facialId}</span>
          PayLoad: <span class="hljs-subst">${response.payload}</span>
          `</span>);
    } <span class="hljs-keyword">catch</span> (error) {
      <span class="hljs-built_in">console</span>.log(error);
    }
  };

<span class="xml"><span class="hljs-tag">&lt;<span class="hljs-name">button</span> <span class="hljs-attr">onClick</span>=<span class="hljs-string">{handleLogIn}</span>&gt;</span>Log-in<span class="hljs-tag">&lt;/<span class="hljs-name">button</span>&gt;</span></span>
</code></pre>
<p>Our user authentication project using FaceIO and React is now complete! You learned how to register and login a user. You can see the process is fairly simple compared to implementing an <code>email-password</code> based or some other authentication method we discussed earlier in this article.</p>
<p>Now you can style all the <code>jsx</code> elements using CSS. I didn't add CSS here to reduce complexity in this project. If you are curious, you can take a look at my <a target="_blank" href="https://gist.github.com/hrishiksh/bf76c98e05f6e85eb46d7e736bae351d">GitHub gist</a>.</p>
<p>If you want to host this React FaceIO project for free, you can check out this article on <a target="_blank" href="https://hrishikeshpathak.com/blog/deploy-nextjs-cloudflare-pages">how to deploy your React and Nextjs project in Cloudflare pages</a>.</p>
<h2 id="heading-how-to-use-the-faceio-rest-api">How to Use the FaceIO REST API</h2>
<p>Besides providing widgets via the <code>fio.js</code> library, FaceIO also provides <a target="_blank" href="https://faceio.net/rest-api">REST APIs</a> to streamline the authentication process. </p>
<p>Every application in the FaceIO console has an API key. You can use this API key to access the FaceIO REST API endpoints. The base URL for the REST API is <code>https://api.faceio.net/.</code></p>
<p>The URL schema accepts URL parameters like this <code>https://api.faceio.net/cmd?param=val&amp;param2=val2</code>. Here <code>cmd</code> is an API endpoint and <code>param</code> is an endpoint parameter if it accepts any.</p>
<p>Using the REST API endpoints, you can automate various tasks in your backend.</p>
<ol>
<li>You can delete a face ID on a user's request.</li>
<li>You can attach a payload with a face ID.</li>
<li>You can change the PIN associated with a face ID.</li>
</ol>
<p>This REST API is intended to be used purely on the server side. Make sure you don't expose it to clients. It's important that you read the following Privacy and Security sections to learn more about this.</p>
<h2 id="heading-how-to-use-faceio-webhooks">How to Use FaceIO WebHooks</h2>
<p>Webhooks are event-driven communication systems among servers. You can use this <a target="_blank" href="https://faceio.net/webhooks">webhook feature of FaceIO</a> to update and sync your backend with new events happening in your front-end web application. </p>
<p>The event of this webhook fires on new user enrollment, facial authentication success, facial ID deletion, and so on.</p>
<p>You can set up FaceIO webhooks in your project console. A typical webhook call from FaceIO lasts for 6 seconds. This contains all the information about a specific event in a JSON format and looks like this:</p>
<pre><code class="lang-json">{
  <span class="hljs-attr">"eventName"</span>:<span class="hljs-string">"String - Event Name"</span>,
  <span class="hljs-attr">"facialId"</span>: <span class="hljs-string">"String - Unique Facial ID of the Target User"</span>,
  <span class="hljs-attr">"appId"</span>:    <span class="hljs-string">"String - Application Public ID"</span>,
  <span class="hljs-attr">"clientIp"</span>: <span class="hljs-string">"String - Public IP Address"</span>,
  <span class="hljs-attr">"details"</span>: {
     <span class="hljs-attr">"timestamp"</span>: <span class="hljs-string">"Optional String - Event Timestamp"</span>,
     <span class="hljs-attr">"gender"</span>:    <span class="hljs-string">"Optional String - Gender of the Enrolled User"</span>,
     <span class="hljs-attr">"age"</span>:       <span class="hljs-string">"Optional String - Age of the Enrolled User"</span>
   }
}
</code></pre>
<h2 id="heading-privacy-and-faceio">Privacy and FaceIO</h2>
<p>Privacy is the most important thing for a user nowadays. As big corporations use your data for their good, questions arise on whether the privacy of these face recognition techniques is valid and legitimate.</p>
<p>FaceIO as a service follows all the privacy guidelines and gets user consent before requesting their camera access. Even if the developer wanted, FaceIO doesn't scan faces without getting consent. Users can easily opt-out of the system and can delete their facial data from the server.</p>
<p>FaceIO is CCP and GDPR compliant. As a developer, you can release this facial authentication system anywhere in the world without facing privacy issues. You can read this article to know more <a target="_blank" href="https://faceio.net/apps-best-practice">about FaceIO privacy best practices</a>.</p>
<h2 id="heading-faceio-security">FaceIO Security</h2>
<p>The security of a web application is an important topic to discuss and consider. As a developer,  you are responsible for the security of a site or application's users.</p>
<p>FaceIO follows some important and serious security guidelines for user data protection. FaceIO hashes all the unique facial data of the user along with the payload we specified earlier. So the stored information is nothing but some random strings which can't be reverse engineered.</p>
<p>FaceIO outlines some very important <a target="_blank" href="https://faceio.net/security-best-practice">security guidelines</a> for developers. Their security guide focuses on adding a strong pin code to protect user data. FaceIO also rejects covered faces so that no one can impersonate someone else.</p>
<h2 id="heading-conclusion">Conclusion</h2>
<p>If you've read this far, thank you for your time and effort. Make sure to follow along with the hands-on tutorial so you can fully grasp the topic. </p>
<p>The project should be approachable if you follow all the steps. If you make something out of it, show me on <a target="_blank" href="https://twitter.com/hrishikshpathak">Twitter</a>. If you have any questions, please ask. I will happy to help you. Till then, have a good day.</p>
 ]]>
                </content:encoded>
            </item>
        
    </channel>
</rss>
