How to Block AI Notetakers From Your Meetings (Zoom, Teams, Meet)
You are ten minutes into a sensitive call when a name nobody recognizes appears in the participant list: Fireflies.ai Notetaker. Nobody on your side invited it. The conversation slows, and someone asks the question you h

You are ten minutes into a sensitive call when a name nobody recognizes appears in the participant list: Fireflies.ai Notetaker. Nobody on your side invited it. The conversation slows, and someone asks the question you hoped to avoid: who is this, and where is the recording going?
You can stop most of these bots, but not with one switch. Three layers work together: stop the invitation at its source, make the platform check who may join, and put every unknown joiner in a lobby where a person decides. A fourth step, removing a bot that got in, is the backstop.
One limit comes first. Blocking bots does not stop a person from recording with a desktop app on their own computer. Otter's desktop app and Chrome extension work without a bot in the meeting, and Fireflies, Fathom and tl;dv also offer or advertise bot-free modes. No meeting platform setting can see those. For them you need a recording policy, not a block list.
The short answer: what you can block and what you cannot
The fastest fix, about ten minutes:
- Hold unknown joiners in the lobby. Teams detects external bots and holds them in the lobby by default. In Zoom, turn on the waiting room. In Google Meet, set the meeting access type to Trusted or Restricted. In GoTo, lock the meeting.
- Require identification. Require sign-in in Zoom, or block external email domains in Webex Control Hub.
- Switch off auto-join at the source. Ask the person whose calendar invited the bot to turn off its auto-join. In Fireflies that is the Auto-Join setting, and its Bar Rules can exclude meetings by title or keyword.
Then give people a bot-free alternative. If you only block, some people will move to a recorder you cannot see. An approved bot-free tool keeps the notes without a tile in front of clients. CatchMeet is one: it runs on the user's computer, adds nothing to the participant list, and has a free plan.
Sections below give the exact settings per platform, the admin checklist, and the reasons blocks sometimes fail.
How notetaker bots get into a meeting
A bot reaches your meeting by one of a few routes, and each route is stopped at a different checkpoint.
| Route | How it works | Where to stop it |
|---|---|---|
| Calendar auto-join | The bot tries to enter at the scheduled start time of any event on a connected calendar. If a lobby is on, a host must admit it (Fireflies guide) | The notetaker's own auto-join setting; the lobby |
| Invited address or link | Someone invites the bot's address (for Fireflies, [email protected]) or pastes the meeting link into the vendor's dashboard |
Sign-in and domain rules; the lobby |
| Marketplace integration | Official apps use the Zoom Meeting SDK or Zoom RTMS, which hosts can allow or block (Zoom) | Zoom's Meeting SDK Apps block list |
| Automation in the web client | Unofficial tools drive Zoom's native or Web App. Zoom says Web App bot protection is on for all accounts and cannot be turned off (Zoom) | Built in; sign-in requirement |
These bots look like ordinary participants, and that is on purpose. Fireflies says its bot "is always visible in the participant list" under the name Fireflies.ai Notetaker, and Read advertises that "everyone in the meeting knows Read is there." The risk is not secrecy. It is that nobody decided to admit it.
Removing a bot once does not solve the problem. A bot that joins from calendar auto-join returns the next time the event recurs, because the invitation, not the room, is what brings it. That is why the blocks in this guide start before the meeting.
Block at the earliest checkpoint you control. The later ones catch what slips through. Sources are listed at the end.
Host settings by platform: Zoom, Teams, Meet, Webex and GoTo
Host settings work meeting by meeting and depend on someone remembering them. Use them as the first line of defense, and put the durable controls in the admin section. Where a vendor's page did not give a setting's exact path, the table says so instead of guessing.
| Platform | Hold joiners in a lobby | Require identification | Bot-specific control | What the vendor page leaves open |
|---|---|---|---|---|
| Zoom | Waiting room; guests who are not signed in can be held for host review | Require sign-in to join; email-domain rules | Meeting SDK Apps block list; bot blocking dashboard; Web App bot protection (always on) | The block-list and dashboard articles returned no readable text when checked, so menu paths are not given |
| Microsoft Teams | Lobby; detected bots are held there even if the meeting lets others bypass it | Anonymous-join and lobby-bypass settings | Bot detection with a lobby label, on by default | Detection can miss bots and can flag people |
| Google Meet | Access type: Open, Trusted or Restricted | Restricted admits only invited guests | None found in Google's help pages | No bot detection or bot label found |
| Webex | Lobby with Let in, Remove and Move to Lobby; site-level auto-lock in Control Hub | Domain rules in Control Hub (admin) | None at host level | Lock and expel steps are not in the lobby guide; bots with no email address are not addressed |
| GoTo | Locking a meeting sends latecomers to a waiting room | None found | None found | Dismiss is documented for Classic (People pane); the current app's menu was not checked |
Zoom
Zoom's waiting room article lists the controls that matter: require sign-in to join, restrict by email domain, use the waiting room, and manage which Marketplace apps may join. For a single meeting:
- Turn on the waiting room under Settings > Meeting > Security, then choose Edit Options under Waiting Room Options.
- Pick who waits. The option "Users who are not in your account and not part of your whitelisted domains" lets people from listed domains in and holds everyone else, and it is a waiting-room rule rather than a hard block (Zoom).
- When a name you do not recognize appears, deny it from the waiting room. If it is already in, open the participant list, choose More next to it and remove it.
Microsoft Teams
Teams labels external bots it detects and holds them in the lobby "regardless of the meeting's lobby configuration," and an organizer must admit them explicitly (Microsoft Learn). As the organizer:
- Limit who can admit people from the lobby to organizers and co-organizers, so a presenter cannot admit a bot by mistake. Microsoft recommends this.
- Treat any flagged participant as a decision, not a formality. Teams shows a risk reminder before you admit one.
- If a real guest is flagged, admit them and choose This is not a bot. That applies to that meeting only.
Google Meet
Meet gives hosts access types rather than a bot filter (Google Workspace help):
- Set the access type to Trusted (people in your organization, plus external guests invited through a Calendar link) or Restricted (only guests invited through Calendar, plus people a host invites in the meeting).
- Uncheck "Anyone with the meeting link can ask to join" for Trusted or Restricted meetings, so other guests are declined automatically.
- Turn on Host management (Calendar event > Video call options, or Host controls during the meeting) so only hosts and co-hosts can eject participants and accept knocks. Turn on "Host must join before anyone else."
Webex
Webex's article on preventing AI bots covers admin-level domain rules only (see the admin section). For hosts, Webex's lobby guide describes the practical steps. When someone is waiting, a notification appears in the meeting controls, or in the Participants panel if it is open. The list is sorted into Internal, External and Unverified, so you can act on a whole group at once. Tick the people (or choose Select all) and click Let in or Remove. To send someone who is already in back to the lobby, right-click the name and select Move to Lobby. That guide does not describe locking a meeting or expelling someone after they joined, and the lobby feature is not available in Webex Meetings for Linux.
GoTo
In GoTo, an organizer can lock the meeting. People who try to join while it is locked wait in a waiting room, and everyone waiting connects automatically when you unlock. To remove someone who is already in, the organizer right-clicks the attendee's name in the People pane, selects Dismiss and confirms with Yes; the attendee leaves and is told they were excused. That page is for GoToMeeting Classic, so check the menu in your current app. GoTo's pages do not mention bots: lock the meeting once everyone expected has arrived, and dismiss anything unfamiliar.
Admin controls and the org-wide checklist
Host settings fail the day a host forgets. Admin controls take the decision away from the host, which is why they belong in every plan. What each platform offers differs a lot.
Zoom. Zoom lets admins allow or block specific Meeting SDK apps published on its Marketplace, and says unpublished SDK apps cannot join meetings outside the developer's account. Its bot blocking dashboard in the Meetings app shows which apps are attempting to join, joining or being blocked. Waiting-room defaults can be set for the whole account under Admin Center > Settings > Meeting > Security, or per group (Zoom).
Microsoft Teams. Bot handling is a meeting-policy setting under Teams admin center > Meeting policies > Meeting Join and Lobby > Manage external bots and their access to meetings. In PowerShell it is ExternalBotAccessMode. It can be set for the whole tenant or for targeted groups (Microsoft Learn).
| Admin center label | PowerShell value | Behavior |
|---|---|---|
| Do not detect bots | AllowAllBots |
Bots are not detected or marked and appear as ordinary external participants |
| When detected, require approval before joining | RequireApprovalWhenDetected |
Default. Detected bots are marked and held in the lobby until explicitly admitted |
Microsoft Message Center item MC1459141 (roadmap ID 566201) describes a further policy that blocks identified external bots automatically. The listing gives its default state as Off, with worldwide general availability starting in early October 2026 and finishing by late October. The listing names no PowerShell value, and Microsoft Learn's reference still lists only the two values above, so confirm the option in your tenant's Teams admin center before scripting it. Learn's text names Set-CsTeamsMeetingPolicy, but its examples use Set-CsTeamsEventsPolicy, so check the cmdlet too. Microsoft says some bots will go undetected and some people will be flagged.
Google Workspace. Admins set whether Host management is on by default (Google), and can gate Gemini's "Take notes for me" by organizational unit or group. Google's documentation lists no admin setting that filters third-party notetaker bots.
Webex. In Control Hub, go to Services > Meeting > Settings and, under Meetings, choose an option next to Internal. "Block external users with selected email domains" is the option that blocks bots by domain. Enable the Site Admin feature "Request attendee email address for all sites" so the block works as intended. The article is dated 14 April 2026, applies to the Webex Suite meeting platform, and says it replaces the Site Admin "Blocked email list" (Webex). It does not say what happens to bots that join with no email address.
Webex lobby and auto-lock. Site-wide lobby behavior sits in Control Hub under Services > Meeting > Sites: choose the site, open its settings, then Security under Common Settings. When a meeting is unlocked offers three choices for guests: join directly, wait in the lobby until the host admits them, or cannot join. Automatically lock meeting locks it 0, 5, 10, 15 or 20 minutes after the start (default 10), and applies only where hosts have not set their own preference. When a meeting is locked decides whether late arrivals wait in the lobby or cannot join at all.
The org-wide checklist
- Inventory what is connected. List the notetaker apps people already use, and the calendar and OAuth apps your identity provider has consented to.
- Move from block lists to allow lists where the platform offers it. A block list only covers names you already know. Zoom's Meeting SDK allow list and Webex's approved email domains are examples.
- Set defaults that do not depend on hosts. Detect-and-hold in Teams, Host management on in Meet, sign-in required in Zoom.
- Limit who can grant calendar and OAuth access. Auto-join starts with a user connecting a calendar. Restricting that grant removes the route at its source.
- Publish a short internal policy. Use the template below.
- Monitor and review. Check Zoom's bot blocking dashboard and Teams audit logs for unusual participants, and review settings every quarter, because vendors keep changing them.
AI notetaker and recording policy (template)
- Approved tools: only [tool names] may record or transcribe company meetings.
- Announce it: the host says at the start that an AI assistant is running and waits for objections.
- Objection: if anyone objects, recording stops and notes are taken by hand.
- External meetings: external participants are held in the lobby; only the host or a co-host admits them.
- Unknown participants: anyone not recognized is denied admission and reported to [IT contact].
- Calendar access: employees may not connect third-party notetakers to their calendars without approval.
- Regulated content: calls covering health, legal or financial matters need [compliance owner] sign-off before any recording.
- Storage: recordings and transcripts are stored in [location] and deleted after [period].
- Review: IT reviews settings and the approved-tools list every quarter.
Why bots still join after you block them
If a bot keeps returning, one of four things is usually happening.
The invitation never stopped. A bot that follows calendar events keeps trying every time an event recurs. Removing it from the call fixes one meeting. The lasting fix is the owner's auto-join setting, or an admin limit on who can connect calendars.
The block does not match how the bot joins. A domain rule only sees the email domain of the joiner. It does nothing against a bot that joins from an account on a domain you allow, or one that is bot-free and never joins at all. Webex's article does not say how its domain block treats bots that join without an email address.
Detection has gaps. Microsoft says some external bots will go undetected and some people will be flagged as bots. Zoom says a real user flagged by its Web App protection can still sign in to join.
The tool is not a bot. Fireflies has a no-bot "Take Notes" mode in its desktop app, Fathom says you can capture notes "bot or no bot," tl;dv says "no bot required," and Otter's desktop app records without one. CatchMeet works the same way: it runs on the user's computer and adds no tile. No bot filter touches these.
Notetaker names and domains worth checking
Use this as a starting list for allow-and-block decisions, not as a finished block list. The address a bot shows can differ from its vendor's website domain, so confirm what appears in your own participant list before you block anything.
| Tool | What to look for | Bot-free option exists |
|---|---|---|
| Fireflies | Name Fireflies.ai Notetaker; invite address [email protected] (guide) |
Yes: a no-bot "Take Notes" mode in the desktop app |
| Otter.ai | Domain otter.ai
|
Yes: desktop app and Chrome extension |
| Read.ai | Domain read.ai
|
Not stated on its home page |
| Fathom | Domain fathom.ai (fathom.video now redirects there) |
Yes: "Now available bot-free" |
| tl;dv | Domain tldv.io
|
Yes: "No bot required" |
| CatchMeet | Nothing to block: it captures audio on the user's computer and adds no participant tile | Always: device-level capture on Mac and Windows |
A starter block list. Only fireflies.ai has a bot address confirmed on the vendor's own page. The other four are the vendors' website domains, and a bot may join from a different address, so treat the list as a first pass and check it against your own participant lists.
# Starter list of notetaker domains
# Bot address confirmed on the vendor's own page
fireflies.ai # invite address [email protected]
# Vendor website domains; bot address not confirmed
otter.ai
read.ai
fathom.ai
tldv.io
Webex accepts a list like this under Block external users with selected email domains. Zoom's documented domain control works the other way, as an allow list that holds everyone else in the waiting room, and the Teams pages cited here have no blocked-domain field, so in both use the list as a lobby watchlist and deny a joiner whose name or address matches. A domain block cannot see a bot-free app on someone's laptop, and it also blocks real employees of those vendors.
How to find who invited a bot
- Note its exact display name in the participant list before you remove it.
- Check the calendar invite's attendee list for the bot's address.
- Ask the meeting's organizer which attendee's calendar is connected to the tool. The bot usually follows that person's events.
- Ask that person to turn off auto-join, or remove the connection from their calendar settings.
- If you cannot trace it, hold every external joiner in the lobby for the next occurrence and admit people by name.
False positives: blocking bots without blocking guests
The strictest setting is rarely the right one. Blocking every external participant stops bots and also stops your clients, auditors and candidates. Platforms warn about this themselves: Teams says detection can flag real people, and Zoom says a flagged user can still sign in. Pick the setting that matches the risk of the meeting.
| Setting | What it protects | What it costs |
|---|---|---|
| Block all external users | Maximum control; no external bot can enter | Clients and partners cannot join either, so it suits internal or board meetings only |
| Allow approved domains only | Known clients and partners join normally | You maintain the list, and a new client is locked out until someone adds it |
| Hold every external joiner in the lobby (recommended default) | Nobody unknown enters without a person deciding | The host must watch the lobby and admit people by name |
| Detect and label only | Low friction | Relies on the platform's detection, which Microsoft says will miss some bots |
A compromise by meeting type
Start from the lobby default and move up or down only when the risk changes.
| Meeting type | Setting from the table above | Who admits | If a bot appears anyway |
|---|---|---|---|
| Internal team call | Allow only your own organization (require sign-in, or block all external users) | Nobody; no external joiners are expected | Trace the invite owner and turn off auto-join |
| Recurring client or partner call | Allow approved domains only; everyone else waits in the lobby | Host admits unknown names; a co-host helps | Ask the client who is recording and where it goes, then agree on one record |
| One-off guest, candidate or vendor | Hold every external joiner in the lobby | Host or co-host, checking each name against the invite | Deny it, message the invitee, and admit the person without the bot |
| Board, legal, audit or regulated call | Block all external users except named invitees; no third-party notetaker | Host only | Remove it, pause until it is gone, and report it to the compliance owner |
| Large webinar or public event | A lobby for everyone is rarely practical; use detect-and-label where the platform has it | Co-host reviews the attendee list | Remove unknown names, accept some residual risk, and state in the notice that recording is not permitted |
Each row maps to a control above: Webex's four external-user options, Zoom's sign-in and domain controls, the Teams bot policy and lobby, and Meet's access types.
A few habits keep the friction low:
- Share the rule in the invite. One line such as "External guests wait in the lobby until the host admits them" prevents confusion and complaints.
- Give the host a helper. For large meetings, assign a co-host to admit people so the host can run the call.
- Admit by name, not by count. A lobby with three names and four people waiting is the signal to ask who the fourth is.
- Keep an exception path. When a real guest is flagged as a bot, admit them and record the exception. In Teams, "This is not a bot" applies to that meeting only.
- Approve tools deliberately. If your team does use a notetaker, put it on an allow list and say so in the policy, instead of letting each person choose. A bot-free option with a free plan, such as CatchMeet, gives people an approved choice that does not put a tile in front of clients.
A bot you decide to admit still needs the consent routine below. Admitting it is not consent.
Recording consent and the law
Blocking a bot and admitting a bot both leave the legal question open: did every person on the call agree to be recorded? This section is a summary of public legal guides, not legal advice. Laws change, and the guides cited date from 2019 to 2020, so confirm the current statute with a lawyer before you rely on it.
The baseline. U.S. federal law sets one-party consent as the national minimum for in-person, telephone and electronic conversations (18 U.S.C. ยงยง 2510โ2511), and states may be stricter (RCFP).
All-party consent states. The Reporters Committee lists 11: California, Delaware, Florida, Illinois, Maryland, Massachusetts, Michigan (at least for recordings by a third party not in the conversation), Montana, New Hampshire, Pennsylvania and Washington. Some states split by setting: Missouri and Oregon require all-party consent in person but not by phone, Connecticut and Nevada the reverse, and Hawaii and Maine only in particularly private places. For a call that crosses state lines, assume the stricter state's law may apply. Courts differ on whether the recorder's or the speaker's location controls.
| Jurisdiction | Who must consent | Penalty highlights | Source |
|---|---|---|---|
| California | All parties to a confidential communication | Criminal fine up to $2,500 or up to one year for a first offense; civil damages of $5,000 or three times actual damages | RCFP: California |
| Washington, RCW 9.73.030 | All parties to a private conversation; an announced recording notice can count as consent | Gross misdemeanor; civil damages of the greatest of actual damages, $100 a day or $1,000, plus fees | RCFP: Washington |
| Florida, Fla. Stat. ยง 934.03 | All parties to a confidential communication | Felony up to five years and $5,000; first-offense misdemeanor up to one year and $1,000 in some cases | RCFP: Florida |
| Illinois, 720 ILCS 5/14-2 | All parties to a private conversation | Felony of one to three years and fines up to $25,000 | RCFP: Illinois |
| Germany, ยง 201 StGB | Unauthorized recording of the non-public spoken word is an offense | Up to three years or a fine | Statute text |
A live example. In In re Otter.AI Privacy Litigation, No. 5:25-cv-06911 (N.D. Cal.), a federal court ruled on 13 August 2026 on Otter's motion to dismiss. It let the federal Wiretap Act and California's CIPA section 631 claims go forward, among others. Plaintiffs argue Otter's terms, which tell account holders to make sure they have the necessary permissions, do not satisfy all-party consent states. This is a ruling on the pleadings, not a finding of liability, and Otter denies any interception.
Regulated industries. Health, legal and financial calls carry extra duties. For health information, HHS says a cloud provider that stores or processes electronic protected health information is a business associate and the covered entity must sign a HIPAA-compliant business associate agreement, even if the provider holds only encrypted data. Before a notetaker touches privileged or regulated calls, ask your counsel or compliance owner whether it is allowed at all.
A routine that works anywhere. Say at the start that an AI assistant is running. Ask for objections. Note the answer. If anyone objects, stop recording. The same routine applies to a bot you admit and to a bot-free app on your own laptop.
Taking notes without a bot: your options compared
People invite bots because they want notes. Block the bots and offer nothing else, and some will switch to a desktop app that no platform setting can see. A sanctioned bot-free option keeps the notes and keeps the decision with you.
| Option | How it captures | What other participants see | Free option |
|---|---|---|---|
| Built-in platform AI (Zoom AI Companion, Google Meet "Take notes for me") | Runs inside the platform; a host or co-host starts it | A visible indicator: a sparkle in Zoom, a pencil icon and banner in Meet | Depends on your plan; check with your admin |
| Otter desktop app or Chrome extension | Records on your computer or in a Google Meet tab, with no bot | No participant tile | Otter Basic: 300 minutes a month, 30 minutes per conversation |
| Fireflies desktop app, "Take Notes" | Captures system audio with no bot; no speaker labels or saved audio | No participant tile | Check its pricing page |
| CatchMeet | Device-level capture on Mac and Windows with Zoom, Meet, Teams and Slack Huddles | No participant tile | Yes: 120 minutes a month |
Which one fits. If you want a bot-free notetaker with a free plan that also helps while the call is running, CatchMeet is the closest fit of the four options above. Its free plan includes live transcription, summaries, chat, mention alerts, three tracked topics, and answers and fact-checks from your own documents. Compared with Otter, it adds help during the call and runs with no bot by default. If your priority is an automatic, searchable archive with CRM sync for internal meetings, Otter is the stronger choice.
The honest limits. CatchMeet documents Mac and Windows only, its pages list no CRM integration, and it is a younger product than Otter. It also sends audio off your device: audio passes in real time through providers such as Deepgram (EU), OpenRouter and Groq (US) under zero-retention terms that are vendor claims, so ask for the data processing agreement before a regulated rollout. And a bot-free app is still recording. It needs the same consent routine as any other tool.
FAQ
Can I stop someone from running a notetaker on their own laptop?
Not with a meeting setting. A desktop app that captures system audio never joins the call, so no lobby, domain rule or bot filter sees it. The controls for that are a written policy, an approved-tools list, device management and a consent routine at the start of every call.
Does blocking a bot make my meeting compliant?
No. Blocking removes one recorder. It does not tell you whether anyone else is recording, and it does not create consent for a recording you do make. Compliance depends on notice, consent and where the data goes.
What happens to the recording a bot already made before I removed it?
The account that owns the bot keeps what it captured. Fireflies says removing its bot stops transcription but the owner still receives notes for the part already recorded. Ask the owner to delete it, and ask the vendor if the owner cannot.
Are Zoom, Teams and Meet's own AI notes the same as a third-party bot?
No. They run inside the platform, a host or co-host starts them, and they show an indicator while active. Admins can disable or gate them: Zoom AI Companion in third-party meetings, Gemini notes in Meet by organizational unit or group.
What should I say when a client brings their own notetaker?
Ask before you start: "Before we begin, who is recording, and where does it go?" Then agree on one record, or ask for a copy of theirs. If your policy does not allow it, say so and offer to take notes by hand or share yours afterwards.
Can I use a bot-free app if a client's policy bans bots?
Read the policy's wording first. Many bans name "bots" or "third-party notetakers" and would still apply to a tool that records audio. Ask for written permission, and do not assume that being invisible makes it allowed.
How often should I review my block lists and settings?
Every quarter, and after any platform announcement. Vendors keep changing this area: Teams added bot detection in 2026, Webex published its domain-block article in April 2026, and Fathom's address now redirects to fathom.ai.
Is there a free notetaker that does not join as a bot?
Yes, several. CatchMeet's free plan gives 120 minutes a month with live transcription, summaries and mention alerts, and it adds no participant tile. Otter Basic does not list in-call alerts or document-based fact-checks. Otter's desktop app on Basic gives 300 minutes a month with a 30-minute cap per conversation, and Fireflies has a no-bot "Take Notes" mode in its desktop app. All three still need the consent routine above.
Verdict and sources
Verdict. Do three things, in this order. Set your platform to hold every external joiner in a lobby and require sign-in or approved domains. Remove the route at its source by limiting calendar and OAuth grants. Publish a consent routine and a sanctioned bot-free option such as CatchMeet, which has a free plan, so people do not work around you with a tool you cannot see.
What could not be verified. Zoom's articles on the Meeting SDK Apps block list and the bot blocking dashboard returned no readable text when checked on 13 October 2026, so the admin section says what they cover but gives no menu paths; open them in your own Zoom admin session. Teams' automatic-block option rests on Message Center item MC1459141, while Microsoft Learn's policy reference lists two values only. Google's documentation lists no admin setting for third-party bots. Webex and GoTo host-level steps come from help pages for specific products and may differ in your version. Consent-law guides are summaries from 2019 to 2020 and need a lawyer's check. Product claims about CatchMeet are vendor claims.
Originally published by Dev.to Security. Aggregated on AIWithGhost for educational purposes โ full credit and traffic to the original publisher.