<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Orlian Prato</title>
    <description>The latest articles on DEV Community by Orlian Prato (@orlian_prato_ddeafa9b7a94).</description>
    <link>https://dev.to/orlian_prato_ddeafa9b7a94</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1470893%2F536dd77e-f0b5-4b85-8f61-4152f73f04e5.jpeg</url>
      <title>DEV Community: Orlian Prato</title>
      <link>https://dev.to/orlian_prato_ddeafa9b7a94</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/orlian_prato_ddeafa9b7a94"/>
    <language>en</language>
    <item>
      <title>Advanced Privacy: A Practical Defense-in-Depth Guide</title>
      <dc:creator>Orlian Prato</dc:creator>
      <pubDate>Wed, 07 Oct 2026 23:16:34 +0000</pubDate>
      <link>https://dev.to/orlian_prato_ddeafa9b7a94/advanced-privacy-a-practical-defense-in-depth-guide-5bc3</link>
      <guid>https://dev.to/orlian_prato_ddeafa9b7a94/advanced-privacy-a-practical-defense-in-depth-guide-5bc3</guid>
      <description>&lt;p&gt;Privacy is not a product you install. It is a system of boundaries that prevents one disclosure from becoming a complete map of your life.&lt;/p&gt;

&lt;p&gt;No setup makes you invisible. A realistic privacy program does four things:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;reduces unnecessary collection;&lt;/li&gt;
&lt;li&gt;makes separate activities harder to correlate;&lt;/li&gt;
&lt;li&gt;limits the damage when a service or device is compromised; and&lt;/li&gt;
&lt;li&gt;gives you a tested path to recover.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This guide is designed for ordinary people who want materially stronger privacy without turning daily life into a full-time security project. It also explains where common advice fails, especially around VPNs, SMS verification, virtual numbers, cloud backups, and identity compartmentalization.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Scope:&lt;/strong&gt; This is educational guidance, not legal advice. Border searches, telecommunications rules, identity requirements, and data-retention laws vary by jurisdiction. If your safety, liberty, immigration status, employment, or source protection is at stake, consult qualified local counsel or a digital-security specialist.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Table of contents
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Start with a threat model&lt;/li&gt;
&lt;li&gt;The 60-minute privacy sprint&lt;/li&gt;
&lt;li&gt;Build identity compartments&lt;/li&gt;
&lt;li&gt;Use an email architecture&lt;/li&gt;
&lt;li&gt;Separate payments and addresses&lt;/li&gt;
&lt;li&gt;Stop using your personal number everywhere&lt;/li&gt;
&lt;li&gt;Secure accounts and recovery&lt;/li&gt;
&lt;li&gt;Reduce device attack surface&lt;/li&gt;
&lt;li&gt;Protect communications&lt;/li&gt;
&lt;li&gt;Understand browsers, VPNs, and Tor&lt;/li&gt;
&lt;li&gt;Control the home network&lt;/li&gt;
&lt;li&gt;Minimize files, cloud copies, and backups&lt;/li&gt;
&lt;li&gt;Reduce public exposure&lt;/li&gt;
&lt;li&gt;Plan for home, travel, and checkpoints&lt;/li&gt;
&lt;li&gt;Prepare an incident-response sequence&lt;/li&gt;
&lt;li&gt;Implement the system in phases&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  1. Start with a threat model
&lt;/h2&gt;

&lt;p&gt;Buying privacy tools before defining the problem usually creates cost and complexity without meaningful protection. Start with one page and answer five questions.&lt;/p&gt;

&lt;h3&gt;
  
  
  What are you protecting?
&lt;/h3&gt;

&lt;p&gt;List the assets that must remain confidential, available, or authentic: conversations, location history, contacts, identity documents, funds, unpublished work, health records, account access, or a protected source.&lt;/p&gt;

&lt;h3&gt;
  
  
  Who might want it?
&lt;/h3&gt;

&lt;p&gt;Separate data brokers, scammers, abusive acquaintances, employers, platform operators, thieves, litigants, and state actors. They have different capabilities, incentives, and legal powers.&lt;/p&gt;

&lt;h3&gt;
  
  
  How could they get it?
&lt;/h3&gt;

&lt;p&gt;Look for realistic paths: reused identifiers, cloud backups, an unlocked device, a malicious attachment, an exposed recovery channel, public records, location tracking, or another person's uploaded contact list.&lt;/p&gt;

&lt;h3&gt;
  
  
  What would the consequences be?
&lt;/h3&gt;

&lt;p&gt;Rank outcomes by severity and reversibility. Spam is annoying. Losing the primary email account, financial access, or a confidential source can be catastrophic.&lt;/p&gt;

&lt;h3&gt;
  
  
  What can you sustain?
&lt;/h3&gt;

&lt;p&gt;Record your budget, technical ability, accessibility needs, family constraints, work policies, and tolerance for inconvenience. A slightly weaker system you follow every day is safer than a theoretically perfect system you bypass under pressure.&lt;/p&gt;

&lt;p&gt;For a useful starting framework, see EFF's &lt;a href="https://ssd.eff.org/glossary/threat-model" rel="noopener noreferrer"&gt;threat-modeling glossary&lt;/a&gt; and &lt;a href="https://www.eff.org/files/2025/08/19/security_planning_threat_modeling.pdf" rel="noopener noreferrer"&gt;security-planning worksheet&lt;/a&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  2. The 60-minute privacy sprint
&lt;/h2&gt;

&lt;p&gt;Start with the accounts and devices that can reset everything else. Do not migrate every service at once.&lt;/p&gt;

&lt;h3&gt;
  
  
  Minutes 0–15: update and lock
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Enable automatic operating-system, browser, and app updates.&lt;/li&gt;
&lt;li&gt;Use a long device passcode rather than a four-digit PIN or simple pattern.&lt;/li&gt;
&lt;li&gt;Confirm that full-device encryption is enabled.&lt;/li&gt;
&lt;li&gt;Hide message previews on the lock screen.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Minutes 15–30: secure the root
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Change the primary email password to a unique, generated value.&lt;/li&gt;
&lt;li&gt;Store it in a reputable password manager.&lt;/li&gt;
&lt;li&gt;Review recovery addresses, phone numbers, active sessions, forwarding rules, and connected apps.&lt;/li&gt;
&lt;li&gt;Remove stale devices and unknown sessions.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Minutes 30–45: upgrade authentication
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Add passkeys or FIDO2/WebAuthn security keys where available.&lt;/li&gt;
&lt;li&gt;Otherwise, use a time-based authenticator app.&lt;/li&gt;
&lt;li&gt;Save recovery codes offline in two controlled locations.&lt;/li&gt;
&lt;li&gt;Stop using SMS as the preferred factor for critical accounts.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;NIST's current digital-identity guidance distinguishes among authentication factors and emphasizes phishing-resistant methods. See &lt;a href="https://pages.nist.gov/800-63-4/sp800-63.html" rel="noopener noreferrer"&gt;NIST SP 800-63-4&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Minutes 45–60: protect the carrier account
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Add a unique carrier-account PIN.&lt;/li&gt;
&lt;li&gt;Enable a port-out or number-transfer lock when offered.&lt;/li&gt;
&lt;li&gt;Remove knowledge-based recovery questions when possible.&lt;/li&gt;
&lt;li&gt;Save the carrier's verified recovery channel offline.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The FTC notes that SMS verification may not stop SIM-swap fraud and recommends stronger alternatives such as an authenticator app or security key. See its &lt;a href="https://consumer.ftc.gov/comment/58828" rel="noopener noreferrer"&gt;SIM-swap guidance&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Prioritize work in this order:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;primary email and password manager;&lt;/li&gt;
&lt;li&gt;financial, government, work-admin, and cloud accounts;&lt;/li&gt;
&lt;li&gt;mobile carrier;&lt;/li&gt;
&lt;li&gt;social and messaging accounts.&lt;/li&gt;
&lt;/ol&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Important:&lt;/strong&gt; Add and test replacement recovery methods before removing old ones. Locking yourself out is not a privacy win.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  3. Build identity compartments
&lt;/h2&gt;

&lt;p&gt;Using one email address, phone number, username, browser profile, postal address, and payment method allows companies and attackers to join records across your life. Compartmentalization limits that correlation.&lt;/p&gt;

&lt;p&gt;A practical structure looks like this:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Root compartment:&lt;/strong&gt; Password manager, recovery, and a small number of critical services. Never public.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Legal and critical compartment:&lt;/strong&gt; Banking, tax, health, government, and employer systems. Use truthful identity where required.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Personal compartment:&lt;/strong&gt; Trusted people and ordinary personal services. Do not publish its recovery identifiers.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Public or professional compartment:&lt;/strong&gt; Website, clients, press, and public contact. Give it no authority to recover critical accounts.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Retail and low-trust compartment:&lt;/strong&gt; Stores, apps, newsletters, trials, and marketplaces. Use aliases, a secondary number, an isolated browser profile, and bounded payment methods.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Apply the boundary to every signal, not just email:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Phone:&lt;/strong&gt; Reserve the personal number for trusted contacts and unavoidable identity-bound services.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Browser:&lt;/strong&gt; Use separate profiles for critical, work, personal, and pseudonymous activity.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Payment and shipping:&lt;/strong&gt; Assume cards, addresses, receipts, and loyalty accounts can reconnect identities.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Behavior:&lt;/strong&gt; Usernames, profile photos, writing style, schedules, contacts, and location can bridge otherwise separate accounts.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Keep an encrypted inventory of which alias, number, browser profile, and payment method belongs to each compartment. Do not casually log into a personal account from a pseudonymous profile. A VPN cannot undo identity signals you voluntarily provide.&lt;/p&gt;




&lt;h2&gt;
  
  
  4. Use an email architecture
&lt;/h2&gt;

&lt;p&gt;An alias is a routing layer, not necessarily a separate inbox. A unique address for each service prevents one leaked login from becoming a universal lookup key and lets you disable a compromised address without replacing the mailbox underneath it.&lt;/p&gt;

&lt;h3&gt;
  
  
  A maintainable workflow
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Protect the root mailbox.&lt;/strong&gt; Use it only for the alias service, password manager, recovery, and a short list of critical relationships. Do not publish it.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Create one alias per account.&lt;/strong&gt; Record the alias in the same password-manager entry as the login.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Test replies.&lt;/strong&gt; Confirm that replying preserves the alias and does not expose the destination mailbox in the From field or signature.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Quarantine leaks.&lt;/strong&gt; If spam or phishing reaches an alias, replace it at the affected service and disable the old one after testing the migration.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The root mailbox and alias provider remain trust points. If separation truly matters, use different alias accounts or root mailboxes for different compartments. A custom domain improves portability but creates a renewal and DNS-security obligation: losing control of the domain can affect every alias built on it.&lt;/p&gt;

&lt;p&gt;Move accounts in this order: password manager, primary recovery accounts, financial services, work administration, then retail and newsletters. Test inbound mail and replies before removing an old address.&lt;/p&gt;




&lt;h2&gt;
  
  
  5. Separate payments and addresses
&lt;/h2&gt;

&lt;p&gt;A pseudonym paired with a personal card, loyalty account, billing address, or home delivery is only surface-level privacy.&lt;/p&gt;

&lt;h3&gt;
  
  
  Payment choices
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Merchant-specific virtual cards:&lt;/strong&gt; Reduce merchant-side exposure and subscription abuse. The issuer, funding bank, and payment provider still know the payer.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cash:&lt;/strong&gt; Minimizes routine transaction records when used in person without a loyalty identifier. Cameras, location, and later account registration may reconnect the purchase.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Gift or prepaid instruments:&lt;/strong&gt; May isolate low-risk purchases, but activation, reload, IP, phone, and identity rules vary.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Personal cards:&lt;/strong&gt; Offer broad acceptance and dispute rights but create a durable link among legal identity, merchant, amount, time, and often address.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Use virtual cards for containment, not invisibility. A separate card per merchant can reduce breach impact, but it does not make the transaction anonymous. Never misstate regulated identity or attempt to bypass know-your-customer requirements.&lt;/p&gt;

&lt;h3&gt;
  
  
  Postal addresses are identifiers
&lt;/h3&gt;

&lt;p&gt;A PO box or commercial mailbox can keep a home address off routine correspondence and public-facing materials, but the operator usually verifies the customer and retains records. Banks, governments, courts, insurers, licensing bodies, and some merchants may require a residential address.&lt;/p&gt;

&lt;p&gt;Mail-forwarding providers also see metadata such as sender, recipient, timing, payment, and forwarding destination. Treat a mailbox as a privacy buffer against ordinary exposure, not a barrier against account compromise, coordinated data matching, or lawful demands.&lt;/p&gt;




&lt;h2&gt;
  
  
  6. Stop using your personal number everywhere
&lt;/h2&gt;

&lt;p&gt;A phone number is often treated as a universal identifier: login name, recovery channel, marketing key, contact-discovery handle, and fraud signal. That makes a long-held personal number unusually valuable for correlation and account takeover.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Better rule:&lt;/strong&gt; Keep your personal number for trusted people and unavoidable identity-bound relationships. Use purpose-specific numbers for public contact, marketplaces, dating, deliveries, trials, and lower-trust registrations when the service's rules and local law permit it.&lt;/p&gt;

&lt;h3&gt;
  
  
  Virtual numbers are privacy boundaries, not strong authenticators
&lt;/h3&gt;

&lt;p&gt;A virtual number can prevent a merchant or stranger from learning your primary number, but it does not make you anonymous. The number provider may see account details, payment records, IP addresses, message contents, and usage metadata. Numbers can also be recycled, suspended, classified as VoIP, or rejected by the destination service.&lt;/p&gt;

&lt;p&gt;Never use a temporary or disposable number as the only recovery method for an account you cannot afford to lose. Prefer passkeys, security keys, or authenticator apps for security. Use a phone number only when the service requires one.&lt;/p&gt;

&lt;h3&gt;
  
  
  VoIP and non-VoIP are not interchangeable
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;VoIP numbers&lt;/strong&gt; route calls or texts primarily over internet infrastructure. Many services classify and restrict them.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Non-VoIP virtual numbers&lt;/strong&gt; are generally sourced from mobile-carrier ranges and may look more like ordinary cellular lines to automated checks.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Secondary SIM or eSIM numbers&lt;/strong&gt; usually provide the most durable compatibility, but the carrier may require identity registration and the line can still be SIM-swapped.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Temporary verification numbers&lt;/strong&gt; are appropriate only for disposable, low-value registrations where reuse, loss, and lack of recovery are acceptable.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Acceptance changes constantly. A number that works today may fail later because of its carrier classification, recycling history, region, or abuse reputation.&lt;/p&gt;

&lt;h3&gt;
  
  
  Providers worth evaluating
&lt;/h3&gt;

&lt;p&gt;The following are options to investigate, not guarantees of anonymity, acceptance, uptime, or long-term access:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://www.majorphones.com/" rel="noopener noreferrer"&gt;MajorPhones&lt;/a&gt;:&lt;/strong&gt; A reasonable first provider to evaluate when you need a low-cost US or UK virtual number for short-term or compartmentalized use. Its site advertises virtual-number and SMS-verification products. Treat all privacy claims as vendor claims until you have reviewed its current privacy policy, retention rules, account-deletion process, and payment trail.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://app.textverified.com/free" rel="noopener noreferrer"&gt;TextVerified&lt;/a&gt;:&lt;/strong&gt; Offers US verification and rental products. Distinguish private paid rentals from publicly visible free inboxes; never send sensitive codes to a public inbox.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;SMSPool:&lt;/strong&gt; Offers temporary verification numbers and country-specific options. Its own materials describe receiving codes through an online dashboard. Use only for low-stakes cases unless you have verified exclusivity, retention, and recovery.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Durable app-based numbers or a secondary SIM/eSIM:&lt;/strong&gt; Usually better for ongoing public contact or accounts that need future recovery.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Before choosing any provider, answer these questions:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Is the number dedicated to you or shared?&lt;/li&gt;
&lt;li&gt;Can previous or future customers receive messages sent to it?&lt;/li&gt;
&lt;li&gt;How long are messages and logs retained?&lt;/li&gt;
&lt;li&gt;Can staff or contractors read message content?&lt;/li&gt;
&lt;li&gt;What identity and payment data does the provider collect?&lt;/li&gt;
&lt;li&gt;Can you renew, port, or recover the number?&lt;/li&gt;
&lt;li&gt;Does the destination service permit virtual numbers?&lt;/li&gt;
&lt;li&gt;What happens if the provider closes your account?&lt;/li&gt;
&lt;/ol&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Never use a public SMS inbox for a password reset, financial account, primary email, password manager, or any service containing sensitive personal data.&lt;/strong&gt; Anyone who can read that inbox may be able to read the code.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  SIM-registration laws matter
&lt;/h3&gt;

&lt;p&gt;Many jurisdictions require government identification before activating a prepaid SIM. A secondary SIM can still reduce public exposure and cross-service reuse, but it may not hide your identity from the carrier or government. Follow local registration rules and never use another person's identity.&lt;/p&gt;




&lt;h2&gt;
  
  
  7. Secure accounts and recovery
&lt;/h2&gt;

&lt;p&gt;Attackers rarely break modern cryptography. They phish users, reuse leaked passwords, abuse support processes, or take over recovery channels.&lt;/p&gt;

&lt;h3&gt;
  
  
  Preferred controls
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Unique, generated passwords stored in a password manager.&lt;/li&gt;
&lt;li&gt;Passkeys or FIDO2/WebAuthn hardware keys.&lt;/li&gt;
&lt;li&gt;Two registered security keys stored separately.&lt;/li&gt;
&lt;li&gt;A time-based authenticator app as a fallback.&lt;/li&gt;
&lt;li&gt;Offline recovery codes with an account inventory.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Avoid relying on SMS codes, discoverable security questions, push prompts without number matching, or one device holding every credential and backup.&lt;/p&gt;

&lt;h3&gt;
  
  
  Protect the password manager
&lt;/h3&gt;

&lt;p&gt;Use a long, unique master passphrase and strong MFA. Review emergency access, shared vaults, browser extensions, and active sessions.&lt;/p&gt;

&lt;p&gt;A TOTP seed or enrollment QR code is the durable secret that generates future authenticator codes. Do not leave it in screenshots, chat, email, or an unencrypted note. If passwords and TOTP seeds are stored in one vault for convenience, recognize that compromise of the unlocked vault exposes both factors. Keep critical accounts in a separate security domain when practical.&lt;/p&gt;

&lt;h3&gt;
  
  
  Design recovery before you need it
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;List every recovery factor for each critical account.&lt;/li&gt;
&lt;li&gt;Remove obsolete phone numbers, addresses, devices, app passwords, and third-party connections.&lt;/li&gt;
&lt;li&gt;Test a recovery path without completing a destructive reset.&lt;/li&gt;
&lt;li&gt;Keep verified support URLs and necessary account references offline.&lt;/li&gt;
&lt;li&gt;Store recovery codes separately from passwords.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;If a critical service insists on a number, use a renewable dedicated number only if the service supports it. Otherwise, use a separate carrier SIM or eSIM protected with an account PIN and port-out lock.&lt;/p&gt;




&lt;h2&gt;
  
  
  8. Reduce device attack surface
&lt;/h2&gt;

&lt;p&gt;A current, supported device with strong defaults is usually safer than an exotic setup that misses updates or breaks essential workflows.&lt;/p&gt;

&lt;p&gt;For every phone and computer:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;use hardware that still receives security updates;&lt;/li&gt;
&lt;li&gt;enable automatic updates and full-disk encryption;&lt;/li&gt;
&lt;li&gt;install software only from verified sources;&lt;/li&gt;
&lt;li&gt;use a long passcode and short auto-lock period;&lt;/li&gt;
&lt;li&gt;remove unused apps, extensions, keyboards, profiles, and device-management enrollment;&lt;/li&gt;
&lt;li&gt;grant camera, microphone, contacts, photos, location, Bluetooth, nearby-device, and accessibility permissions only when needed;&lt;/li&gt;
&lt;li&gt;use a standard account for daily computer work and reserve administrator access for maintenance.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;On iPhone and iPad, review cloud synchronization, enable Stolen Device Protection when available, and consider &lt;a href="https://support.apple.com/en-us/105120" rel="noopener noreferrer"&gt;Lockdown Mode&lt;/a&gt; only if your threat model includes sophisticated targeted attacks. Apple describes it as an extreme protection that deliberately limits features.&lt;/p&gt;

&lt;p&gt;On Android, choose a model with a long security-update commitment. A hardened operating system can be valuable for advanced users, but only if the hardware is supported, the installation source is official, and essential applications are tested first.&lt;/p&gt;

&lt;p&gt;Use a default-deny mindset: install less, grant less, sync less, retain less.&lt;/p&gt;




&lt;h2&gt;
  
  
  9. Protect communications
&lt;/h2&gt;

&lt;p&gt;End-to-end encryption protects message content between endpoints. It does not automatically hide participants, timestamps, IP addresses, notifications, screenshots, backups, or a compromised device.&lt;/p&gt;

&lt;p&gt;For sensitive conversations:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;use a maintained messenger with end-to-end encryption enabled by default;&lt;/li&gt;
&lt;li&gt;use usernames and restrict phone-number visibility when supported;&lt;/li&gt;
&lt;li&gt;verify safety numbers or equivalent identity keys through a separate channel for high-risk contacts;&lt;/li&gt;
&lt;li&gt;review linked desktops and tablets;&lt;/li&gt;
&lt;li&gt;remove stale devices;&lt;/li&gt;
&lt;li&gt;use disappearing messages to reduce retention, not as proof that copies cannot exist.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Backups can change the encryption boundary. A conversation protected in transit may be copied into a device or cloud backup with different keys, retention rules, and recovery methods. Audit the messenger's current backup design, and remember that another participant can still take screenshots, export content, or leave notification previews enabled.&lt;/p&gt;

&lt;p&gt;Use this channel hierarchy:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Sensitive conversation:&lt;/strong&gt; End-to-end encrypted messenger or call.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Ordinary coordination:&lt;/strong&gt; Any convenient channel, with minimum necessary detail.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Critical secret:&lt;/strong&gt; In person or through a specialist-designed process.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;SMS or carrier call:&lt;/strong&gt; Logistics only; assume content and metadata may be exposed.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Encryption does not fix the wrong recipient. Confirm the destination before sending credentials, identity records, sensitive files, or locations.&lt;/p&gt;




&lt;h2&gt;
  
  
  10. Understand browsers, VPNs, and Tor
&lt;/h2&gt;

&lt;p&gt;These tools solve different problems.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;HTTPS&lt;/strong&gt; encrypts traffic between the browser and the site. It does not prevent the site from tracking you.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;A VPN&lt;/strong&gt; hides destinations from the local network and changes the IP address visible to sites. It shifts trust to the VPN provider and does not erase logged-in identity, cookies, or fingerprinting.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tor Browser&lt;/strong&gt; provides stronger network anonymity and fingerprint resistance. It cannot protect you after you identify yourself or open a risky download outside the browser.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;DNS filtering&lt;/strong&gt; can block many tracker or malware domains. It does not stop first-party tracking or replace phishing judgment.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Everyday browsing
&lt;/h3&gt;

&lt;p&gt;Use a current browser with tracker blocking and separate profiles. Keep extensions few because each adds code and fingerprinting surface. Block third-party cookies where compatible. Delete site data for services you no longer use.&lt;/p&gt;

&lt;p&gt;For critical accounts, use saved bookmarks or manually verified addresses. Password-manager autofill can serve as a phishing warning when it refuses to fill on a lookalike domain.&lt;/p&gt;

&lt;h3&gt;
  
  
  When anonymity matters
&lt;/h3&gt;

&lt;p&gt;Use the official Tor Browser without extra extensions or unusual customization. Do not log into personal accounts, reuse identifiers, or mix real-identity activity into the same research session. Do not open downloaded documents in external applications while connected; they may make network requests outside Tor.&lt;/p&gt;

&lt;p&gt;Public Wi-Fi is not the central question. Modern HTTPS protects much content in transit, but captive portals, local sharing, malicious downloads, and account compromise still matter. Keep the firewall enabled, disable sharing, and prefer a trusted hotspot for critical work.&lt;/p&gt;




&lt;h2&gt;
  
  
  11. Control the home network
&lt;/h2&gt;

&lt;p&gt;The router is the policy point for every device in the home, including appliances that cannot run privacy software.&lt;/p&gt;

&lt;p&gt;Use a router you administer. If an ISP gateway is mandatory, ask whether bridge mode is supported and place your own router behind it. Then:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;change administrator credentials;&lt;/li&gt;
&lt;li&gt;disable remote administration and unused services;&lt;/li&gt;
&lt;li&gt;enable reliable automatic firmware updates;&lt;/li&gt;
&lt;li&gt;replace hardware that no longer receives security fixes;&lt;/li&gt;
&lt;li&gt;separate trusted devices, guests, and Internet of Things devices;&lt;/li&gt;
&lt;li&gt;use WPA2 or WPA3 with a strong unique passphrase;&lt;/li&gt;
&lt;li&gt;disable WPS and unneeded Universal Plug and Play.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Network isolation limits lateral movement, not a device's access to its cloud service.&lt;/p&gt;

&lt;h3&gt;
  
  
  Router-level VPNs
&lt;/h3&gt;

&lt;p&gt;A router VPN covers devices that cannot run a VPN app and reduces destination visibility for the ISP. It also concentrates trust in the VPN provider, places the household behind one exit identity, and can break services. Logged-in accounts, apps, cookies, and fingerprints still identify users.&lt;/p&gt;

&lt;p&gt;After any router, DNS, or VPN change, test the public IP address, DNS path, IPv6 behavior, and each network segment. Document split-tunnel exceptions and failure behavior.&lt;/p&gt;

&lt;p&gt;Do not make privacy controls invisible to housemates. Router changes affect everyone; explain filtering, logging, VPN exits, and possible outages first.&lt;/p&gt;




&lt;h2&gt;
  
  
  12. Minimize files, cloud copies, and backups
&lt;/h2&gt;

&lt;p&gt;The safest sensitive file is the one you no longer retain. Encryption helps, but it cannot revoke a file already shared or viewed on a compromised device.&lt;/p&gt;

&lt;p&gt;Classify data before storing it:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Public:&lt;/strong&gt; Published work and public contact material. Prioritize integrity and availability.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Personal:&lt;/strong&gt; Receipts and ordinary photos. Use encrypted storage and normal backups.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Sensitive:&lt;/strong&gt; Identity copies, health data, location history, and source material. Limit access and retention.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Critical:&lt;/strong&gt; Recovery keys and legal strategy. Consider offline or specialist-designed storage.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Use a 3-2-1 recovery design for irreplaceable data: three copies, two types of media, and one copy offline or in a separate security domain. Encrypt backups before they leave your control, keep recovery keys separately, and test restoration regularly.&lt;/p&gt;

&lt;p&gt;Do not sync every folder by default. Exclude temporary downloads, exports, identity documents, and messenger media unless there is a specific need.&lt;/p&gt;

&lt;p&gt;Before publishing a document or image, inspect and remove unnecessary location, author, device, and revision metadata. Disable macros in untrusted office files. Prefer access-controlled, expiring links over permanent attachments when recipients can use them safely.&lt;/p&gt;

&lt;p&gt;Treat AI systems as external recipients. Do not paste sensitive personal, legal, medical, financial, employer, client, or source material into a model unless the product, account, retention settings, and purpose fit your threat model.&lt;/p&gt;




&lt;h2&gt;
  
  
  13. Reduce public exposure
&lt;/h2&gt;

&lt;p&gt;Attackers build convincing stories from ordinary fragments: an employer, relatives, a birthday post, an old address, a pet name, a phone number, a reused profile image, or real-time travel plans.&lt;/p&gt;

&lt;p&gt;Run a quarterly exposure review:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;search your name, usernames, email aliases, and public phone numbers from a signed-out browser;&lt;/li&gt;
&lt;li&gt;review profile visibility, tagged photos, followers, old posts, location history, and friend-list exposure;&lt;/li&gt;
&lt;li&gt;remove birth dates, family relationships, home details, and travel schedules that do not need to be public;&lt;/li&gt;
&lt;li&gt;revoke third-party app access;&lt;/li&gt;
&lt;li&gt;export needed data, then delete abandoned accounts;&lt;/li&gt;
&lt;li&gt;request removal from relevant data brokers and people-search sites;&lt;/li&gt;
&lt;li&gt;keep a dated removal log because records can return;&lt;/li&gt;
&lt;li&gt;inspect public records and domain registration for links among your legal name, home address, business, and contact details.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Before posting, inspect the background for reflections, badges, documents, vehicle plates, school or workplace details, and embedded location. Delay travel posts until you have left.&lt;/p&gt;

&lt;p&gt;Treat unsolicited messages as untrusted even when the sender knows real facts about you. Verify the person or organization through an independently obtained channel, not a link or number supplied in the message.&lt;/p&gt;

&lt;p&gt;Ask friends and family not to publish your number, address, live location, or travel plans. Agree on an anti-impersonation rule: pause, contact the person through an established channel, and never send money or codes because of urgency.&lt;/p&gt;

&lt;p&gt;Privacy is collaborative. Your contacts may hold your number, address, messages, and photos. A shared rule that everyone can follow often protects more than another app.&lt;/p&gt;




&lt;h2&gt;
  
  
  14. Plan for home, travel, and checkpoints
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Smart-home devices
&lt;/h3&gt;

&lt;p&gt;Put smart TVs, speakers, cameras, appliances, and guests on a separate network from workstations and storage devices. Change default passwords, enable MFA, update firmware, disable unnecessary remote access, and replace unsupported products.&lt;/p&gt;

&lt;p&gt;Prefer local recording and local control for cameras and sensors when practical. Cloud convenience creates another custodian of intimate data. Avoid cloud-connected cameras in highly private areas unless the benefit clearly outweighs the exposure.&lt;/p&gt;

&lt;p&gt;Keep an inventory of every connected device, owner account, update status, and deletion procedure.&lt;/p&gt;

&lt;h3&gt;
  
  
  Travel with a reduced data set
&lt;/h3&gt;

&lt;p&gt;Carry less data. A clean secondary device can be safer than a daily device containing years of material, although an unusual device may itself draw attention.&lt;/p&gt;

&lt;p&gt;Before departure:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;update devices and verify encrypted backups;&lt;/li&gt;
&lt;li&gt;sign out of unnecessary accounts;&lt;/li&gt;
&lt;li&gt;remove sensitive offline files only after confirming the backup and any legal retention duty;&lt;/li&gt;
&lt;li&gt;disable automatic Wi-Fi and Bluetooth joining;&lt;/li&gt;
&lt;li&gt;remove distinctive device names;&lt;/li&gt;
&lt;li&gt;carry your own power adapter and cable;&lt;/li&gt;
&lt;li&gt;print essential itinerary and contact information;&lt;/li&gt;
&lt;li&gt;plan what to do if a device is searched, seized, lost, or taken out of sight.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Borders and coercive checkpoints
&lt;/h3&gt;

&lt;p&gt;Face and fingerprint unlock are convenient, but in some legal and physical contexts they may be easier to compel or trigger than a memorized passcode.&lt;/p&gt;

&lt;p&gt;Before entering a controlled area:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Minimize:&lt;/strong&gt; Carry only the device and data you need.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Disable biometrics:&lt;/strong&gt; Turn off face, fingerprint, and watch-based unlock. Use the platform's emergency lock gesture when appropriate.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Power off:&lt;/strong&gt; A full restart generally requires the complete passcode before normal access resumes.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Use a strong passcode:&lt;/strong&gt; Prefer a long alphanumeric code over a short PIN, while considering the consequences of compelled disclosure.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Separate travel access:&lt;/strong&gt; Use printed tickets and emergency contacts so routine logistics do not require unlocking the device.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Plan the response:&lt;/strong&gt; Know which sessions to revoke and whom to contact if a device leaves your control.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The legal position is not universal. Search authority, compelled biometrics, passcode demands, detention, seizure, and refusal consequences depend on the country, immigration status, location, and changing case law. Do not treat any blanket statement about passcode protection as universal legal advice.&lt;/p&gt;

&lt;p&gt;EFF's material on &lt;a href="https://www.eff.org/tl/node/96614" rel="noopener noreferrer"&gt;privacy at the US border&lt;/a&gt; is a useful starting point, but obtain current advice for the specific crossing when consequences are serious.&lt;/p&gt;

&lt;p&gt;Disabling biometrics does not prevent compelled passcode disclosure, forensic exploitation, or access to data already synchronized elsewhere. Do not obstruct officials or destroy evidence.&lt;/p&gt;




&lt;h2&gt;
  
  
  15. Prepare an incident-response sequence
&lt;/h2&gt;

&lt;p&gt;Warning signs include unexpected loss of cellular service, password-reset notices, unknown login alerts, new forwarding rules, unexplained battery or data use, or contacts receiving messages you did not send.&lt;/p&gt;

&lt;h3&gt;
  
  
  If a critical account may be compromised
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Move to a known-clean device and network.&lt;/li&gt;
&lt;li&gt;Secure the root email and password manager.&lt;/li&gt;
&lt;li&gt;Revoke sessions and inspect recovery factors, forwarding rules, and connected apps.&lt;/li&gt;
&lt;li&gt;Secure financial and identity accounts through verified channels.&lt;/li&gt;
&lt;li&gt;Preserve timestamps, alerts, message headers, screenshots, and support case references.&lt;/li&gt;
&lt;li&gt;Notify affected people minimally: identify the compromised channel and explain how to verify future contact.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  If your number may have been SIM-swapped
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Contact the carrier immediately from another device using an independently verified channel.&lt;/li&gt;
&lt;li&gt;Recover the line, replace the account PIN, and request a port-out lock.&lt;/li&gt;
&lt;li&gt;Change the primary email password, then other accounts that used SMS recovery.&lt;/li&gt;
&lt;li&gt;Review bank, card, crypto, social, and messaging activity.&lt;/li&gt;
&lt;li&gt;Replace SMS-based MFA with passkeys, security keys, or an authenticator app.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  If targeted spyware is plausible
&lt;/h3&gt;

&lt;p&gt;Do not immediately factory-reset, wipe, or hand the device to an unvetted repair shop; doing so may destroy evidence. Isolate it from sensitive work, use another trusted device for help, and contact a recognized digital-security assistance organization or qualified incident responder.&lt;/p&gt;

&lt;p&gt;Prepare a short offline response card containing verified carrier, bank, employer-security, legal-counsel, and trusted-contact channels. Do not include passwords or one-time codes.&lt;/p&gt;




&lt;h2&gt;
  
  
  16. Implement the system in phases
&lt;/h2&gt;

&lt;p&gt;A privacy program succeeds when it is maintained, not when it is installed once.&lt;/p&gt;

&lt;h3&gt;
  
  
  Phase 1: today
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Write a one-page threat model.&lt;/li&gt;
&lt;li&gt;Update devices and enable automatic updates.&lt;/li&gt;
&lt;li&gt;Secure the root email and password manager.&lt;/li&gt;
&lt;li&gt;Add passkeys, security keys, or authenticator-based MFA.&lt;/li&gt;
&lt;li&gt;Lock the carrier account and save recovery codes offline.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Phase 2: this week
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Create email aliases and browser profiles by compartment.&lt;/li&gt;
&lt;li&gt;Obtain a dedicated virtual number for public and low-trust use.&lt;/li&gt;
&lt;li&gt;Move critical accounts away from SMS recovery.&lt;/li&gt;
&lt;li&gt;Audit app permissions, linked devices, cloud sync, and social visibility.&lt;/li&gt;
&lt;li&gt;Configure an end-to-end encrypted messenger with trusted contacts.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Phase 3: this month
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Inventory accounts, devices, backups, smart-home products, and recovery paths.&lt;/li&gt;
&lt;li&gt;Delete abandoned accounts and unnecessary retained data.&lt;/li&gt;
&lt;li&gt;Create encrypted backups and complete a test restoration.&lt;/li&gt;
&lt;li&gt;Research data-broker removals relevant to your country.&lt;/li&gt;
&lt;li&gt;Prepare travel and incident-response checklists.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Phase 4: every quarter
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Review the threat model, software support, active sessions, recovery factors, and public exposure.&lt;/li&gt;
&lt;li&gt;Confirm virtual-number renewal and test incoming messages without making the number the sole recovery factor.&lt;/li&gt;
&lt;li&gt;Replace compromised aliases rather than rotating healthy passwords on an arbitrary schedule.&lt;/li&gt;
&lt;li&gt;Practice one recovery scenario with a trusted person.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A critical account is in good shape when it has a unique credential, strong non-SMS authentication, a tested recovery path, and no dependency on a broadly shared personal phone number.&lt;/p&gt;

&lt;p&gt;Keep a private encrypted control sheet with the account purpose, alias, number class, MFA type, recovery location, last review date, and deletion status. Do not store passwords, security-key PINs, or raw recovery codes in that same sheet.&lt;/p&gt;




&lt;h2&gt;
  
  
  Final principles
&lt;/h2&gt;

&lt;p&gt;If you remember only ten rules, use these:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Threat-model before buying tools.&lt;/li&gt;
&lt;li&gt;Protect the root email and password manager first.&lt;/li&gt;
&lt;li&gt;Prefer passkeys or hardware keys over SMS.&lt;/li&gt;
&lt;li&gt;Give each service a unique email alias.&lt;/li&gt;
&lt;li&gt;Do not use your personal phone number as a universal identifier.&lt;/li&gt;
&lt;li&gt;Use virtual numbers for compartmentalization, not as proof of anonymity or as the sole recovery path.&lt;/li&gt;
&lt;li&gt;Keep identity, browser, payment, address, and behavior boundaries consistent.&lt;/li&gt;
&lt;li&gt;Reduce the data stored, synchronized, and carried.&lt;/li&gt;
&lt;li&gt;Test backups and recovery before an emergency.&lt;/li&gt;
&lt;li&gt;Review the system regularly because providers, laws, and platform controls change.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Privacy is not perfect secrecy. It is the disciplined reduction of unnecessary links, unnecessary copies, and unnecessary trust.&lt;/p&gt;




&lt;h2&gt;
  
  
  Sources and further reading
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://turntrout.com/advanced-privacy" rel="noopener noreferrer"&gt;TurnTrout: Advanced Privacy&lt;/a&gt; — thematic starting point requested for the original rewrite.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://ssd.eff.org/glossary/threat-model" rel="noopener noreferrer"&gt;EFF: Threat model&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.eff.org/files/2025/08/19/security_planning_threat_modeling.pdf" rel="noopener noreferrer"&gt;EFF: Security Planning (Threat Modeling)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://pages.nist.gov/800-63-4/sp800-63.html" rel="noopener noreferrer"&gt;NIST SP 800-63-4: Digital Identity Guidelines&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://consumer.ftc.gov/comment/58828" rel="noopener noreferrer"&gt;FTC: SIM Swap Scams&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.apple.com/en-us/105120" rel="noopener noreferrer"&gt;Apple: About Lockdown Mode&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.eff.org/tl/node/96614" rel="noopener noreferrer"&gt;EFF: Digital Privacy at the US Border&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.majorphones.com/" rel="noopener noreferrer"&gt;MajorPhones&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://app.textverified.com/free" rel="noopener noreferrer"&gt;TextVerified free-number information&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.smspool.net/article/how-to-get-doordash-sms-verification-760a3e070750" rel="noopener noreferrer"&gt;SMSPool example product documentation&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>security</category>
      <category>cybersecurity</category>
      <category>infosec</category>
      <category>privacy</category>
    </item>
    <item>
      <title>Basic Web Browser with Electron +APIS</title>
      <dc:creator>Orlian Prato</dc:creator>
      <pubDate>Sun, 05 May 2024 22:33:19 +0000</pubDate>
      <link>https://dev.to/orlian_prato_ddeafa9b7a94/basic-web-browser-with-electron-apis-1n4f</link>
      <guid>https://dev.to/orlian_prato_ddeafa9b7a94/basic-web-browser-with-electron-apis-1n4f</guid>
      <description>&lt;p&gt;Hi! I'm excited to share with you a little guide I put together some time ago with some basic tips on how to have a Chromium based browser that really covers our tracks when surfing the web.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Section 1: Basic Browser Setup&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;1. Setting Up the Environment&lt;/strong&gt;&lt;br&gt;
Before you begin coding, you need to have Node.js and npm (Node Package Manager) installed on your computer. These will allow you to manage dependencies and run Electron code. You can download Node.js and npm from &lt;a href="https://nodejs.org/en"&gt;their official page.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Once Node.js and npm are installed, you can install &lt;a href="https://www.electronjs.org"&gt;Electron &lt;/a&gt; globally on your system or specifically in your project using npm:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npm install electron -g  # Global installation
npm install electron     # Local installation in your project
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;2. Creating the Project&lt;/strong&gt;&lt;br&gt;
Create a new folder for your project and navigate to it in your console or terminal. Inside this folder, initialize a new npm project:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;mkdir my-browser
cd my-browser
npm init -y  # Creates a new package.json with default settings
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then, install Electron as a project dependency:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npm install electron
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;3. Creating the Project&lt;/strong&gt;&lt;br&gt;
In your project, create the following files:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;index.html&lt;/li&gt;
&lt;li&gt;main.js&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;An example of index.html:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;
&amp;lt;head&amp;gt;
    &amp;lt;title&amp;gt;My Secure Browser&amp;lt;/title&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
    &amp;lt;h1&amp;gt;Welcome to Your Custom Browser&amp;lt;/h1&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;for main.js we can get:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const { app, BrowserWindow } = require('electron');

function createWindow() {
  // Create the browser window.
  let win = new BrowserWindow({
    width: 800,
    height: 600,
    webPreferences: {
      nodeIntegration: true
    }
  });

  // and load the index.html of the app.
  win.loadFile('index.html');
}

// This method will be called when Electron has finished
// initialization and is ready to create browser windows.
// Some APIs can only be used after this event occurs.
app.on('ready', createWindow);

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;4. Running Your Browser&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;To run your browser, you can add a script to your package.json file to make launching the application easier. Modify your package.json by adding a new script:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;"scripts": {
  "start": "electron ."
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then, you can start your browser from the terminal:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npm start
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This will open a desktop application window that displays the content of index.html, providing you with the basic structure of your custom browser.&lt;/p&gt;

&lt;p&gt;This is the basic skeleton to start developing a custom browser with Electron. From here, we can begin to add more functionalities&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;## Section 2: Implementing Proxies&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A proxy server acts as an intermediary between your browser and the internet. When you use a proxy, your internet traffic is routed through the proxy server before reaching its destination. This masks your actual IP address, making it harder for websites to track your location and identity.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Types of Proxies&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;HTTP Proxies: Handle only HTTP requests and are commonly used for web browsing.&lt;br&gt;
HTTPS Proxies: Similar to HTTP proxies, but for encrypted HTTPS traffic.&lt;br&gt;
SOCKS Proxies: More versatile and handle all types of traffic, not just web browsing. Useful for more generalized applications beyond just accessing web pages.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Setting Up Proxies in Electron&lt;/strong&gt;&lt;br&gt;
Electron's session module allows you to configure proxy settings programmatically. Here’s how you can implement it in your custom browser:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Define Proxy Configuration: First, you need to define the proxy settings. This can include HTTP, HTTPS, or SOCKS proxies. You can specify a proxy server for each type of traffic, or use a single proxy server for all types.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Apply Proxy Settings: Use the setProxy method of Electron's session object to apply these settings.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Detailed Code Implementation&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You can configure your proxy settings directly in your main.js file. Here’s an example of how to set up a SOCKS5 proxy:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const { app, BrowserWindow, session } = require('electron');

function createWindow() {
  let win = new BrowserWindow({
    width: 800,
    height: 600,
    webPreferences: {
      nodeIntegration: true,
      session: session.fromPartition('persist:proxy')
    }
  });

  win.loadFile('index.html');

  // Set up proxy configuration
  const proxyRules = "socks5://localhost:1080";
  win.webContents.session.setProxy({ proxyRules }, function() {
    console.log("Proxy configuration is set.");
  });

  win.on('closed', () =&amp;gt; {
    win = null;
  });
}

app.on('ready', createWindow);

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Handling Proxy Configuration Dynamically&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You might want to change proxy settings dynamically based on different criteria (e.g., user input, specific websites, etc.). You can achieve this by creating a function to update the proxy configuration:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;function setProxyConfig(proxyRules) {
  session.defaultSession.setProxy({ proxyRules }, () =&amp;gt; {
    console.log(`Proxy set to: ${proxyRules}`);
  });
}

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You can call setProxyConfig with different settings based on your needs, such as switching between different proxies or turning the proxy off.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Residential Proxies&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Residential proxies are IP addresses provided by Internet providers to individuals, and are used by proxy services to offer greater legitimacy and less likelihood of being blocked by websites compared to data center proxies. This is because they simulate the behavior of a real user rather than a server farm. Key benefits include the ability to overcome geo-restrictions and CAPTCHAs, greater privacy and anonymity, and a lower likelihood of being detected and blocked by websites.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://brightdata.com/"&gt;Bright Data (formerly Luminati)&lt;/a&gt;: One of the largest providers with a wide range of customization options and a large number of IPs available. However, their pricing and usage structure can be complex, especially for new users (Proxyway).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://smartproxy.com/"&gt;Smartproxy&lt;/a&gt;: Offers residential proxies with support for HTTP(S) and SOCKS5. It is known for its high success rate and 24/7 technical support. Smartproxy provides a balance between price and performance, making it accessible to less experienced users (Smartproxy).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://soax.com/"&gt;SOAX&lt;/a&gt;: Stands out for its flexibility in IP rotation and geolocation options. It is an intermediate option in terms of cost, providing a good balance between functionality and price (Proxyway).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.webshare.io/"&gt;Webshare&lt;/a&gt;: New to the proxy industry, it offers competitive pricing and a self-service approach. Its proxies are suitable for users who need a cost-effective solution and are willing to work with more limited rotation and targeting options (Webshare).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.proxyfish.com/"&gt;ProxyFish&lt;/a&gt;: Offers several proxy options including residential, data center and ISP proxies. They stand out for their anonymity and variety of product offerings, adapting to both enterprise and individual needs (ProxyFish).&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; You can check the quality of SOCKS5 or HTTPS proxy with companies like: &lt;a href=""&gt;https://ipinfo.io&lt;/a&gt; or &lt;a href="https://ipinfo.io"&gt;whoer.net&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;## Section 3: Fingerprints&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Browser fingerprinting is the process of collecting information about a user's browser at both the software and hardware levels. This includes details like browser settings, time zone, installed plugins, available fonts, and more. These data points can be combined to create a "digital fingerprint" that uniquely identifies a user.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Methods to Mitigate Fingerprinting&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The goal here is to make your browser as indistinguishable as possible, thereby reducing the uniqueness of the digital fingerprint that can be collected. Here are several techniques you can implement in your Electron browser:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Randomize User-Agent Data: Regularly changing the user agent that your browser sends to websites can help decrease precise identification.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Disable or Limit Canvas API: The Canvas API is commonly used to generate a unique fingerprint based on how graphics are rendered on different devices. You can disable or alter this API to reduce tracking.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Control WebRTC Access: WebRTC can reveal your real IP address even when you are using a VPN or proxy. Controlling or disabling WebRTC is crucial for protecting that information.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Standardize Font and Plugin Information: Limiting or standardizing the responses your browser provides about installed fonts and plugins can also help combat fingerprinting.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Implementation in Electron&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You can modify the user agent directly in your Electron code. Here is an example of how to do this in the main.js file:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const { app, BrowserWindow } = require('electron');

app.on('ready', () =&amp;gt; {
  let mainWindow = new BrowserWindow({ width: 800, height: 600 });
  const session = mainWindow.webContents.session;

  session.webRequest.onBeforeSendHeaders((details, callback) =&amp;gt; {
    details.requestHeaders['User-Agent'] = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3';
    callback({ cancel: false, requestHeaders: details.requestHeaders });
  });

  mainWindow.loadURL('https://example.com');
});

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;To disable WebRTC and prevent the leakage of your real IP address, you can add the following line to your web preferences configuration in BrowserWindow:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;webPreferences: {
  enableWebRTC: false
}

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;To intervene in how the Canvas API is used, you can inject scripts that modify its behavior, such as randomizing the results of Canvas functions.&lt;/p&gt;

&lt;p&gt;**&lt;/p&gt;

&lt;h2&gt;
  
  
  Section 4: Using Virtual Number APIs
&lt;/h2&gt;

&lt;p&gt;**&lt;/p&gt;

&lt;p&gt;Virtual number APIs allow you to programmatically access and manage virtual phone numbers. These numbers can receive SMS and calls like any regular number, but they are not tied to a physical SIM card or a specific device. They are often used to maintain privacy, manage multiple accounts, or test applications.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why Use Virtual Numbers?&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Privacy Protection:&lt;/strong&gt; By using a virtual number, you can avoid giving out your personal phone number.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Account Verification:&lt;/strong&gt; Many services require &lt;a href="https://www.majorphones.com/"&gt;phone verification&lt;/a&gt;; virtual numbers can be used to meet this requirement without exposing your real number.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Global Reach:&lt;/strong&gt; Virtual numbers can often be obtained in various country codes, helping to bypass regional restrictions.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Several APIs provide virtual number services (VOIP), such as Twilio, Nexmo (Vonage), and Plivo or Non-VoIP like Major Phones, Textverified or SMSPool. These services offer a range of capabilities, including SMS reception, voice calls, and more. For our implementation, we will consider a generic API setup that can be adapted based on the specific service you choose.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Implementation in Electron&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You’ll need to use a package like axios or node-fetch for making HTTP requests to the virtual number API. Here’s a basic setup:&lt;/p&gt;

&lt;p&gt;Depending on the service you integrate, the code may change. However in essence you will always need to do a fetch to acquire a virtual phone number, another fetch to request the text messages received to that number and depending on the case, report or cancel the virtual number.&lt;/p&gt;

&lt;p&gt;Among the most popular services for these purposes are &lt;a href="https://www.majorphones.com/"&gt;Major Phones&lt;/a&gt;, &lt;a href="https://www.textverified.com/"&gt;Textverified&lt;/a&gt;, &lt;a href="https://www.smspool.net/"&gt;SMSPool&lt;/a&gt;. Each one has its pros and cons, it is worth checking the documentation so that whatever the case may be you can apply it correctly.&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
