<?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: 9bot</title>
    <description>The latest articles on DEV Community by 9bot (@9bot).</description>
    <link>https://dev.to/9bot</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%2F4197600%2F199fcc84-262e-452b-877e-1ffc6f65049e.png</url>
      <title>DEV Community: 9bot</title>
      <link>https://dev.to/9bot</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/9bot"/>
    <language>en</language>
    <item>
      <title>Shadow IT With Customers Inside: Identity Lifecycle Management for Business WhatsApp Group Portfolios</title>
      <dc:creator>9bot</dc:creator>
      <pubDate>Sun, 01 Nov 2026 19:38:52 +0000</pubDate>
      <link>https://dev.to/9bot/governance-and-operational-security-of-business-whatsapp-group-portfolios-administrator-lifecycle-126p</link>
      <guid>https://dev.to/9bot/governance-and-operational-security-of-business-whatsapp-group-portfolios-administrator-lifecycle-126p</guid>
      <description>&lt;h2&gt;
  
  
  The asset that is missing from your IAM
&lt;/h2&gt;

&lt;p&gt;On an employee's last day, offboarding runs like a pipeline: badge disabled, SSO account suspended, laptop collected, SaaS seats reclaimed. The WhatsApp groups that person created with customers, resellers and distributors are not in that pipeline, because they were never provisioned through it.&lt;/p&gt;

&lt;p&gt;Ivan Schroll's report calls this a portfolio problem. Sales, support and marketing each open groups informally. A few years later the company holds a set of customer-facing channels that nobody can list completely. Research on shadow IT explains the origin: Abbas and Alghail (2021) found staff using tools such as WhatsApp without IT approval, mainly because the organisation offered no suitable alternative.&lt;/p&gt;

&lt;h2&gt;
  
  
  Five risks, one root cause
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Ownership by creator.&lt;/strong&gt; The Help Center states the creator cannot be removed and remains admin until they exit. If that account is a personal number, the company depends on the person to leave voluntarily, or must recreate the group from a company number and ask every customer to rejoin.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Privileges that outlive the role.&lt;/strong&gt; Admin rights are not tied to HR records. Former staff, agencies after contract end and partners who changed jobs may still post as admin to the brand's customers.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Device and account sprawl.&lt;/strong&gt; Shared accounts on linked devices with no attribution.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Brand impersonation.&lt;/strong&gt; Customers cannot easily tell an official group from a copy.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;No organisational record.&lt;/strong&gt; Ordinary groups provide no organisation-wide log of admin actions.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;There is also a failure mode in the platform's succession logic: if the only admin leaves, WhatsApp picks another member at random, possibly a customer.&lt;/p&gt;

&lt;h2&gt;
  
  
  Architecture comparison
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Aspect&lt;/th&gt;
&lt;th&gt;Ordinary group&lt;/th&gt;
&lt;th&gt;WhatsApp Business app group&lt;/th&gt;
&lt;th&gt;Cloud API Groups API&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Maximum size&lt;/td&gt;
&lt;td&gt;1,024 members&lt;/td&gt;
&lt;td&gt;1,024 members&lt;/td&gt;
&lt;td&gt;8 participants&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Joining&lt;/td&gt;
&lt;td&gt;Added, or invite link&lt;/td&gt;
&lt;td&gt;Same&lt;/td&gt;
&lt;td&gt;Invite link only, optional approval&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Creator removable&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;Group belongs to the business number&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Admin roles&lt;/td&gt;
&lt;td&gt;Unlimited&lt;/td&gt;
&lt;td&gt;Unlimited&lt;/td&gt;
&lt;td&gt;Managed through the API&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Staff on one account&lt;/td&gt;
&lt;td&gt;Up to 4 linked devices&lt;/td&gt;
&lt;td&gt;Up to 10 with multi-agent plans&lt;/td&gt;
&lt;td&gt;API integration&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Attribution of staff messages&lt;/td&gt;
&lt;td&gt;None documented&lt;/td&gt;
&lt;td&gt;Documented for chats, not groups&lt;/td&gt;
&lt;td&gt;Business's own systems&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Organisation-level record&lt;/td&gt;
&lt;td&gt;Manual export&lt;/td&gt;
&lt;td&gt;Manual export&lt;/td&gt;
&lt;td&gt;Through the integration&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;No option gives you large customer groups and native organisational control at the same time. That trade-off is the core design decision.&lt;/p&gt;

&lt;h2&gt;
  
  
  Engineering conclusion: run joiner, mover, leaver on groups
&lt;/h2&gt;

&lt;p&gt;The paper translates standard access governance into proposals, explicitly not tested standards.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Portfolio register.&lt;/strong&gt; One entry per group or Community: purpose, business owner, creating account and whether it is company-controlled, admin accounts and the person behind each, membership type, settings, records rule and last review date.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Creation rule.&lt;/strong&gt; New business groups only from company-controlled numbers, registered at creation.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Minimum admin set.&lt;/strong&gt; At least two company-controlled admins per group, so the random-admin rule never fires. The mechanics are covered in &lt;a href="https://9bot.com.br/en/what-happens-when-whatsapp-group-admin-leaves/" rel="noopener noreferrer"&gt;what happens when a WhatsApp group admin leaves&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Joiner, mover, leaver.&lt;/strong&gt; Grant admin rights on request with a reason, review on role change, revoke in every registered group on the same day as other access. Agency and partner rights end with the contract.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Hygiene.&lt;/strong&gt; Two-step verification and app lock for every admin account, and periodic review of linked devices.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Customer safeguards.&lt;/strong&gt; Admin-only messaging in announcement groups, and official numbers and payment methods stated in the description.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Records decision.&lt;/strong&gt; Each class of group is either a channel of record, exported on schedule, or ephemeral, with disappearing messages and no commitments made there.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Annual reconciliation.&lt;/strong&gt; Compare the register with the groups company accounts actually belong to.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Automation can execute parts of this at scale, as described in &lt;a href="https://9bot.com.br/en/whatsapp-group-automation-for-business/" rel="noopener noreferrer"&gt;WhatsApp group automation for business&lt;/a&gt;, with one constraint: a tool acts with the permissions of the connected account and cannot remove a group's creator.&lt;/p&gt;

&lt;p&gt;Source: Ivan Schroll (2026), Governance and Operational Security of Business WhatsApp Group Portfolios: Administrator Lifecycle, Employee Offboarding, Brand Impersonation and Recordkeeping. DOI 10.17605/OSF.IO/G6HF9&lt;/p&gt;

&lt;p&gt;Author: Ivan Schroll (ORCID 0009-0007-0680-5570)&lt;/p&gt;

</description>
      <category>security</category>
      <category>whatsapp</category>
    </item>
    <item>
      <title>Your Customer Group Is a Database: LGPD and GDPR Engineering Notes for Business WhatsApp Groups</title>
      <dc:creator>9bot</dc:creator>
      <pubDate>Sun, 01 Nov 2026 19:38:39 +0000</pubDate>
      <link>https://dev.to/9bot/personal-data-protection-in-business-operated-whatsapp-groups-controller-duties-lawful-basis-4oll</link>
      <guid>https://dev.to/9bot/personal-data-protection-in-business-operated-whatsapp-groups-controller-duties-lawful-basis-4oll</guid>
      <description>&lt;h2&gt;
  
  
  An unregistered data store
&lt;/h2&gt;

&lt;p&gt;Ask a data protection team for the list of systems that process customer phone numbers and you will get the CRM, the ticketing tool and the email platform. You will rarely get the WhatsApp groups that sales, support and partner teams created on their own phones. Yet each of those groups is a replicated data store: every member's device keeps a copy of the conversation and of the member list, with no central administration and no deletion API.&lt;/p&gt;

&lt;p&gt;Ivan Schroll's report analyses these groups under Brazil's LGPD and the EU GDPR. Its starting point is scope. The LGPD excludes processing by a natural person for exclusively private, non-economic purposes, and the GDPR excludes purely personal or household activity. Neither covers a legal entity acting for its business. A customer community, a reseller group or a support group is in scope, even when the number behind it is an employee's phone.&lt;/p&gt;

&lt;h2&gt;
  
  
  Role assignment
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;The organisation that decides to create the group, who joins and what it is for is, as a rule, the &lt;strong&gt;controller&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;WhatsApp's data processing terms for WhatsApp Business apply to the services described in the Business Terms. For groups created from ordinary accounts, the organisation cannot assume a processor agreement exists.&lt;/li&gt;
&lt;li&gt;When a manufacturer and its distributors jointly decide a group's purpose, the EDPB criteria for &lt;strong&gt;joint controllership&lt;/strong&gt; may be met. The paper recommends a written split of who answers member requests and who manages admins.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Lawful basis by use case
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Use of the group&lt;/th&gt;
&lt;th&gt;Basis to assess&lt;/th&gt;
&lt;th&gt;Note&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Post-sale support for customers who asked to join&lt;/td&gt;
&lt;td&gt;Contract or pre-contractual steps&lt;/td&gt;
&lt;td&gt;Limited to what support requires&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Optional customer or brand community&lt;/td&gt;
&lt;td&gt;Consent or legitimate interest&lt;/td&gt;
&lt;td&gt;Legitimate interest needs necessity, transparency and balancing (LGPD art. 10)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Reseller or partner groups&lt;/td&gt;
&lt;td&gt;Contract or legitimate interest&lt;/td&gt;
&lt;td&gt;Partner contact persons are data subjects&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Internal team groups&lt;/td&gt;
&lt;td&gt;Employment, legitimate interest&lt;/td&gt;
&lt;td&gt;Business app terms say it is not intended for intra-company use&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Marketing and promotions&lt;/td&gt;
&lt;td&gt;Consent is the common route&lt;/td&gt;
&lt;td&gt;Platform opt-in rules also apply&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Lateral exposure as a design flaw
&lt;/h2&gt;

&lt;p&gt;The defining property of a group is that members see one another. A customer community of several hundred people is therefore a list of several hundred customer numbers readable by every member, including competitors, former staff still inside and anyone who joined through a leaked link. LGPD principles of necessity, security and prevention (art. 6), the security duty in art. 46, and GDPR data minimisation, integrity and confidentiality (art. 5) with privacy by design (art. 25) all point the same way.&lt;/p&gt;

&lt;p&gt;The Business Messaging Policy also says a business may not share information from one customer chat with another customer. Individual cases raised in front of other customers sit badly with that rule.&lt;/p&gt;

&lt;h2&gt;
  
  
  Retention in a distributed system
&lt;/h2&gt;

&lt;p&gt;Deletion duties (LGPD arts. 15 and 16, GDPR storage limitation) are hard when copies live on member devices. What the organisation can do: enable disappearing messages and restrict changes to admins, remove members whose purpose has ended, and decide whether exports are needed. An export is a text file that cannot be re-imported, and it becomes a new record with its own retention rule.&lt;/p&gt;

&lt;h2&gt;
  
  
  Engineering conclusion: access control is a compliance control
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Inventory first.&lt;/strong&gt; Register each group with purpose, legal basis, data involved, admins and retention. The paper sees little risk in exotic legal questions and a lot in missing basic documentation.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Minimise visibility.&lt;/strong&gt; If members do not need to see each other, use announcement-only groups, Communities with an announcement group, or one-to-one conversations.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Control admin access.&lt;/strong&gt; The creator cannot be removed, admin rights attach to accounts, and ordinary groups have no organisation-wide admin log. You have to build that record yourself.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Include your tools.&lt;/strong&gt; Automation processes data too, so it belongs in the record of processing. The page on &lt;a href="https://9bot.com.br/en/whatsapp-group-data-collection-privacy-compliance/" rel="noopener noreferrer"&gt;WhatsApp group data collection and privacy compliance&lt;/a&gt; lists what an admin can collect and on what basis.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Assign accountability.&lt;/strong&gt; Admins are people with duties, as discussed in this piece on &lt;a href="https://9bot.com.br/en/whatsapp-group-admin-legal-responsibility/" rel="noopener noreferrer"&gt;WhatsApp group admin legal responsibility&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The author notes the paper is not legal advice.&lt;/p&gt;

&lt;p&gt;Source: Ivan Schroll (2026), Personal Data Protection in Business-Operated WhatsApp Groups: Controller Duties, Lawful Basis, Phone-Number Exposure, Retention and Incident Response under the LGPD and the GDPR. DOI 10.17605/OSF.IO/ZG9U7&lt;/p&gt;

&lt;p&gt;Author: Ivan Schroll (ORCID 0009-0007-0680-5570)&lt;/p&gt;

</description>
      <category>security</category>
      <category>whatsapp</category>
    </item>
    <item>
      <title>Groups as an Attack Surface: A Control Matrix for Scam Links in WhatsApp Communities</title>
      <dc:creator>9bot</dc:creator>
      <pubDate>Sun, 01 Nov 2026 19:38:12 +0000</pubDate>
      <link>https://dev.to/9bot/scams-and-malicious-links-in-whatsapp-groups-employment-investment-and-impersonation-fraud-and-4iib</link>
      <guid>https://dev.to/9bot/scams-and-malicious-links-in-whatsapp-groups-employment-investment-and-impersonation-fraud-and-4iib</guid>
      <description>&lt;h2&gt;
  
  
  Why fraud teams should care about group chats
&lt;/h2&gt;

&lt;p&gt;Security teams usually model fraud at the payment layer or the email gateway. Messaging groups sit outside both. A large WhatsApp group is a broadcast channel with no content filtering by default, a shared directory of every member's phone number and an implicit trust signal: if a message appears inside a group you joined, it borrows the group's credibility.&lt;/p&gt;

&lt;p&gt;Ivan Schroll's report reviews scam families that official sources associate with messaging groups and maps them to controls an administrator can actually operate. It covers employment and task scams, investment fraud, impersonation and fake offers, with attention to Pix payments in Brazil.&lt;/p&gt;

&lt;p&gt;The scale is not hypothetical. In August 2025 Meta reported banning more than 6.8 million accounts linked to scam centres in the first half of that year. The WhatsApp Help Center acknowledges that a scammer may message you, call you or add you to a group.&lt;/p&gt;

&lt;h2&gt;
  
  
  Cross-platform kill chain
&lt;/h2&gt;

&lt;p&gt;The most instructive case described by Meta looks like a distributed workflow:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Initial contact by SMS with a link to a WhatsApp conversation.&lt;/li&gt;
&lt;li&gt;Migration to Telegram.&lt;/li&gt;
&lt;li&gt;"Tasks" on TikTok to simulate paid work.&lt;/li&gt;
&lt;li&gt;A deposit request to a cryptocurrency account.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Meta notes that scammers move victims across platforms so that no single service observes the full scheme. For a defender, that means no single log source contains the incident. The group admin sees only the entry point.&lt;/p&gt;

&lt;p&gt;The FBI's 2024 alert on task scams describes the same economics: confusing pay, a dashboard showing earnings that can never be withdrawn and, eventually, a demand for crypto payment to unlock more work.&lt;/p&gt;

&lt;h2&gt;
  
  
  Control matrix
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Scam pattern&lt;/th&gt;
&lt;th&gt;Documented feature&lt;/th&gt;
&lt;th&gt;Capability and limit&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Phishing, fake shop or task links&lt;/td&gt;
&lt;td&gt;Link moderation with an allow list and automatic removal&lt;/td&gt;
&lt;td&gt;Removes links outside the list; cannot judge a link that is allowed&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Repeated posting of one offer&lt;/td&gt;
&lt;td&gt;Anti-spam and anti-flood&lt;/td&gt;
&lt;td&gt;Caps volume; one well-crafted message may pass&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Recurring offenders&lt;/td&gt;
&lt;td&gt;Banned words, strikes, punishment ladder&lt;/td&gt;
&lt;td&gt;Consistent consequences; spelling variants evade word lists&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Scam accounts joining via shared link&lt;/td&gt;
&lt;td&gt;Member approval with filters, daily limits, history&lt;/td&gt;
&lt;td&gt;Slows entry and leaves a record; cannot verify intent&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Incident awareness&lt;/td&gt;
&lt;td&gt;Moderation history and community health analytics&lt;/td&gt;
&lt;td&gt;Shows what was done; blind to private chats between members&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;"Is this offer real?" questions&lt;/td&gt;
&lt;td&gt;Automatic replies and custom commands&lt;/td&gt;
&lt;td&gt;Returns a standard safety notice; not fact-checking&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Read the right column carefully. Every control has a documented failure mode, and the paper does not oversell any of them.&lt;/p&gt;

&lt;h2&gt;
  
  
  Indicators to encode
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Unexpected contact or being added without request.&lt;/li&gt;
&lt;li&gt;An offer that is too good.&lt;/li&gt;
&lt;li&gt;A request to pay before earning.&lt;/li&gt;
&lt;li&gt;Urgency.&lt;/li&gt;
&lt;li&gt;A link that moves the conversation somewhere else.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These map well to rules: link policies catch the last item, approval filters reduce the second, and pinned notices handle the human side.&lt;/p&gt;

&lt;h2&gt;
  
  
  Engineering conclusion: default deny at the group boundary
&lt;/h2&gt;

&lt;p&gt;The admin cannot inspect private chats or other platforms, so the design goal is to make the group a poor first hop.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Default deny for links.&lt;/strong&gt; Maintain an allow list of domains the community actually needs and remove everything else automatically. The guide on how to &lt;a href="https://9bot.com.br/en/filter-links-and-files-whatsapp-groups/" rel="noopener noreferrer"&gt;filter links and files in WhatsApp groups&lt;/a&gt; walks through allow lists and file rules.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Gate entry.&lt;/strong&gt; Require approval for join requests, with filters and daily limits, so a burst of fresh accounts cannot arrive through one leaked link.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Make enforcement deterministic.&lt;/strong&gt; Strikes and a punishment ladder turn moderation into policy instead of mood. Operational shortcuts such as &lt;a href="https://9bot.com.br/en/useful-whatsapp-admin-commands/" rel="noopener noreferrer"&gt;admin commands for WhatsApp groups&lt;/a&gt; keep response time low.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Publish an invariant.&lt;/strong&gt; State in the description that admins never ask for payment or codes in private. That is a cheap implementation of Meta's "pause, question, verify" advice.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Keep records.&lt;/strong&gt; Moderation history is your only audit trail inside the group.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;None of this stops a determined fraudster who moves the victim into private chat. It does remove the group as an amplifier, which is the part an administrator controls.&lt;/p&gt;

&lt;p&gt;Source: Ivan Schroll (2026), Scams and Malicious Links in WhatsApp Groups: Employment, Investment and Impersonation Fraud, Pix Payments in Brazil and Administrator-Level Controls. DOI 10.17605/OSF.IO/CYP2G&lt;/p&gt;

&lt;p&gt;Author: Ivan Schroll (ORCID 0009-0007-0680-5570)&lt;/p&gt;

</description>
      <category>security</category>
      <category>whatsapp</category>
    </item>
    <item>
      <title>Invite Links Are Bearer Tokens: Access Control and Phone-Number Exposure in Large WhatsApp Groups</title>
      <dc:creator>9bot</dc:creator>
      <pubDate>Sun, 01 Nov 2026 19:36:47 +0000</pubDate>
      <link>https://dev.to/9bot/access-control-and-member-privacy-in-large-whatsapp-groups-invite-link-exposure-phone-number-4953</link>
      <guid>https://dev.to/9bot/access-control-and-member-privacy-in-large-whatsapp-groups-invite-link-exposure-phone-number-4953</guid>
      <description>&lt;h2&gt;
  
  
  A credential nobody rotates
&lt;/h2&gt;

&lt;p&gt;A WhatsApp invite link behaves like a bearer token. Whoever holds it can join, and the Help Center confirms that anyone with the link can also forward it. There is no expiry by default, no scope and no binding to an identity. Once the token is published on a website, a social network or a forum, the group's access control list becomes public.&lt;/p&gt;

&lt;p&gt;Joining has a side effect engineers should treat as a data disclosure: members can see each other's phone numbers. So a leaked link is not only an unwanted entry problem. It is an enumeration path for a list of personal identifiers.&lt;/p&gt;

&lt;p&gt;Ivan Schroll's report argues that access control is the main privacy instrument available at group level. The admin cannot change the fact that members see numbers. The admin can decide who reaches that list.&lt;/p&gt;

&lt;h2&gt;
  
  
  What the measurements show
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Garimella and Tyson (2018) showed that public WhatsApp groups can be discovered through links scattered across the web and joined for data collection.&lt;/li&gt;
&lt;li&gt;Hoseini and colleagues (2020) collected 351,000 unique group URLs for WhatsApp, Telegram and Discord posted on Twitter in 38 days. In the WhatsApp groups they joined, the numbers of 54,984 users were visible to them as members.&lt;/li&gt;
&lt;li&gt;The same study found that 27% of WhatsApp group links stopped working within the 38 days, which suggests admins revoke or reset links over time, often after exposure.&lt;/li&gt;
&lt;li&gt;Gegenhuber and colleagues (2026) showed that WhatsApp numbers could be enumerated at large scale through contact discovery before the platform applied remediation, which is why rate limits matter.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Control plane
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Control&lt;/th&gt;
&lt;th&gt;Applied by&lt;/th&gt;
&lt;th&gt;Effect&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Approve new members&lt;/td&gt;
&lt;td&gt;Admin&lt;/td&gt;
&lt;td&gt;Link join requests wait for approval&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Restrict who adds members and shares the link&lt;/td&gt;
&lt;td&gt;Admin&lt;/td&gt;
&lt;td&gt;Narrows who can distribute the token&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Reset invite link&lt;/td&gt;
&lt;td&gt;Admin&lt;/td&gt;
&lt;td&gt;The old link stops working and cannot be restored&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Keep links off public pages&lt;/td&gt;
&lt;td&gt;Admin&lt;/td&gt;
&lt;td&gt;Reduces discoverability&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Avoid @mentions in announcement groups&lt;/td&gt;
&lt;td&gt;Admin&lt;/td&gt;
&lt;td&gt;Avoids exposing numbers to the whole community&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Who can add me to groups&lt;/td&gt;
&lt;td&gt;User&lt;/td&gt;
&lt;td&gt;Limits unsolicited additions&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Usernames and username key&lt;/td&gt;
&lt;td&gt;Platform and user&lt;/td&gt;
&lt;td&gt;Contact without sharing a number, rolling out gradually&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Rate limits on contact discovery&lt;/td&gt;
&lt;td&gt;Platform&lt;/td&gt;
&lt;td&gt;Reduces enumeration at scale&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Tooling layer and its limits
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Consistent screening.&lt;/strong&gt; Approval with filters, daily limits and history. Filters only see the data available at entry and cannot verify intent.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Burst protection.&lt;/strong&gt; Daily approval caps and anti-flood rules slow mass entry, but a single targeted account still gets through.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Membership hygiene.&lt;/strong&gt; Removing inactive members, with prior notice, reduces passive observers.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Time-boxed access.&lt;/strong&gt; Fixed-period membership fits courses, events and paid communities.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Audit.&lt;/strong&gt; Approval and moderation history support accountability, and the records themselves contain personal data.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Engineering conclusion: treat the link like a secret
&lt;/h2&gt;

&lt;p&gt;Apply the same hygiene you use for API keys.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Do not publish it.&lt;/strong&gt; WhatsApp's own community guidance says never to post invite links on public web pages.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Gate redemption.&lt;/strong&gt; Enable approval so possession of the link is not sufficient. When requests are frequent, rules can &lt;a href="https://9bot.com.br/en/auto-approve-whatsapp-group-members/" rel="noopener noreferrer"&gt;auto-approve WhatsApp group members&lt;/a&gt; that match filters, under a daily limit, with a record of every decision.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Rotate on leak.&lt;/strong&gt; Reset the link when it appears somewhere it should not. This explainer on the &lt;a href="https://9bot.com.br/en/whatsapp-group-invite-link/" rel="noopener noreferrer"&gt;WhatsApp group invite link&lt;/a&gt; covers how links are created, shared and revoked.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Restrict distribution rights.&lt;/strong&gt; Only admins should add members or share the link in large groups.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Minimise the directory.&lt;/strong&gt; If members do not need to talk, an announcement format exposes less.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Welcome messages that state the rules inform new members, but they do not prevent link leakage on their own. The boundary is the approval step.&lt;/p&gt;

&lt;p&gt;Source: Ivan Schroll (2026), Access Control and Member Privacy in Large WhatsApp Groups: Invite-Link Exposure, Phone-Number Disclosure and Unwanted Entry. DOI 10.17605/OSF.IO/WFDQ3&lt;/p&gt;

&lt;p&gt;Author: Ivan Schroll (ORCID 0009-0007-0680-5570)&lt;/p&gt;

</description>
      <category>security</category>
      <category>whatsapp</category>
    </item>
    <item>
      <title>Admin Accounts as Privileged Identities: Threat Modelling WhatsApp Group Takeover</title>
      <dc:creator>9bot</dc:creator>
      <pubDate>Sun, 01 Nov 2026 19:34:30 +0000</pubDate>
      <link>https://dev.to/9bot/account-takeover-of-whatsapp-group-administrators-verification-code-hijacking-linked-devices-and-3ckg</link>
      <guid>https://dev.to/9bot/account-takeover-of-whatsapp-group-administrators-verification-code-hijacking-linked-devices-and-3ckg</guid>
      <description>&lt;h2&gt;
  
  
  The identity problem behind a chat group
&lt;/h2&gt;

&lt;p&gt;Treat a WhatsApp group the way you would treat any shared resource in your infrastructure. It has an access control list (members), a set of privileged principals (admins), a configuration surface (who can edit info, add people, share the invite link, approve joins) and no central identity provider. Each admin is a phone number, and authentication to that number is bound to a one-time registration code delivered over SMS or voice.&lt;/p&gt;

&lt;p&gt;That design means the security of a group with hundreds of members is reduced to the weakest admin endpoint. If one admin hands over a six-digit code to a caller pretending to be a bank or a shop, the attacker does not exploit a vulnerability. They complete a legitimate registration flow on hardware they control, and the platform behaves exactly as specified.&lt;/p&gt;

&lt;p&gt;The report by Ivan Schroll maps this chain using institutional sources from Brazil (FEBRABAN, the civil police of São Paulo and Mato Grosso, MPDFT) and the WhatsApp Help Center. Below is the part most useful to engineers.&lt;/p&gt;

&lt;h2&gt;
  
  
  Attack chain, step by step
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Target selection.&lt;/strong&gt; The attacker obtains a name and phone number. Group membership itself leaks numbers to every participant.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Code trigger.&lt;/strong&gt; A registration for the victim's number is started on an attacker device, so the real owner receives a code.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Pretext.&lt;/strong&gt; The attacker calls or messages, posing as customer service, and asks for "a code" framed as a protocol or confirmation number.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Re-registration.&lt;/strong&gt; The account moves to the attacker's device. Past messages are not readable, because they are end-to-end encrypted and stored locally, but group membership is inherited immediately.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;A variant worth modelling: the attacker enables two-step verification with a PIN the victim does not know. The Help Center states that a user without the PIN must wait 7 days before trying again. That is a week of attacker persistence on a privileged account.&lt;/p&gt;

&lt;h2&gt;
  
  
  Secondary surfaces
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Linked devices.&lt;/strong&gt; A primary phone can link up to four companion devices, and companion phones are logged out after more than 14 days without use of the primary. Linked sessions are a second place to audit after any suspected compromise.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;SIM swap.&lt;/strong&gt; Lee, Kaiser, Mayer and Narayanan (2020) showed that five US prepaid carriers used authentication challenges attackers could subvert. SMS delivery of codes inherits carrier support weaknesses.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Blast radius mapped to controls
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Damage path after takeover&lt;/th&gt;
&lt;th&gt;Documented control&lt;/th&gt;
&lt;th&gt;Residual limit&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Phishing or payment links posted by the hijacked admin&lt;/td&gt;
&lt;td&gt;Allow-list link filtering that deletes other URLs&lt;/td&gt;
&lt;td&gt;Payment requests without links still pass&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Flooding the group&lt;/td&gt;
&lt;td&gt;Anti-spam and anti-flood thresholds, strikes&lt;/td&gt;
&lt;td&gt;A careful attacker stays under the threshold&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Accomplice accounts joining&lt;/td&gt;
&lt;td&gt;Member approval with filters, daily limits and history&lt;/td&gt;
&lt;td&gt;Native admin rights can still add members&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;No forensic trail&lt;/td&gt;
&lt;td&gt;Moderation history and action records&lt;/td&gt;
&lt;td&gt;Only covers actions taken through the tool&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Sensitive actions requested via an AI assistant&lt;/td&gt;
&lt;td&gt;MCP access with verified identity, scoped access, confirmation and audit history&lt;/td&gt;
&lt;td&gt;Only covers the MCP interface&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The paper is explicit that these consequences follow from documented features, not from measured incidents. There are no official figures on how often admin accounts are hijacked.&lt;/p&gt;

&lt;h2&gt;
  
  
  Engineering conclusion: least privilege for group admins
&lt;/h2&gt;

&lt;p&gt;The mitigation pattern is the same one you apply to cloud consoles.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Harden every privileged identity.&lt;/strong&gt; Never share the code, enable two-step verification, add a recovery email or passkey where available, and review linked devices on a schedule.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Avoid a single point of failure.&lt;/strong&gt; Keep more than one admin, but not everyone. One admin means no one can remove a cloned number; ten admins means ten phishing targets.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Lock the configuration plane.&lt;/strong&gt; Restrict editing of group settings to admins, require approval for new members and reset the invite link after any incident, since a reset permanently invalidates the previous URL.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Separate human access from admin rights.&lt;/strong&gt; Per-user dashboard access lets a team moderate without each person holding native admin rights. The &lt;a href="https://9bot.com.br/en/9bot-docs/" rel="noopener noreferrer"&gt;9bot documentation&lt;/a&gt; describes how access per user, history and approval rules are configured.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Plan the role lifecycle.&lt;/strong&gt; Granting, reviewing and revoking admin status should be a routine task, as covered in this guide on how to &lt;a href="https://9bot.com.br/en/add-change-remove-whatsapp-group-admin/" rel="noopener noreferrer"&gt;add, change or remove a WhatsApp group admin&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Any bot or automation connected to the group runs with the permissions of its account, so that number needs the same protection as a human admin. Tools act after the takeover, not before it. The weak link remains the person persuaded to read a code aloud.&lt;/p&gt;

&lt;p&gt;Source: Ivan Schroll (2026), Account Takeover of WhatsApp Group Administrators: Verification-Code Hijacking, Linked Devices and Layered Mitigations. DOI 10.17605/OSF.IO/HZUN5&lt;/p&gt;

&lt;p&gt;Author: Ivan Schroll (ORCID 0009-0007-0680-5570)&lt;/p&gt;

</description>
      <category>security</category>
      <category>whatsapp</category>
    </item>
  </channel>
</rss>
