---
title: "Security and access"
description: "What a connected AI tool can see and do, how long access lasts, how to revoke it, the rate limits, and what happens if your plan changes."
---

> Documentation Index
> Fetch the complete documentation index at: https://docs.meetfullhouse.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Security and access

Connecting an AI tool gives it real access to your workspace. This page explains what it can see and change, how long that lasts, and how to stay in control.

## What a connection can reach

- **One workspace only.** A connection belongs to the workspace it was approved for. Anything in another workspace comes back as not found.
- **Only your team can approve it.** Each connection is approved or created while signed in as the workspace owner or a member of your [team](/workspace/team). It works for as long as that person stays on the team.
- **Your access level applies to everything.** You choose **Full access** or **Read only** for each connection.

| Access level | Permission name | What it allows | Tools |
| --- | --- | --- | --- |
| **Read only** | `fullhouse:read` | Look things up and report. Tools that change anything are hidden from the app and refused if it tries them. | 19 |
| **Full access** | `fullhouse:read` and `fullhouse:write` | Everything, including publishing, deleting and sending | All 57 |

Apps ask for these permissions when they connect. On the [approval screen](/mcp/connect-claude) you can choose **Read only** even if the app asks for more. An app can't add access later. To go from **Read only** to **Full access**, disconnect the app and connect it again. For a token, create a new one.

:::tip
Start with **Read only** if you mainly want reports and summaries. It's the simplest way to rule out accidental changes.
:::

## What your AI tool can see

Your AI tool never sees your password or payment details. It also can't read the API keys you've saved for email, AI or integrations, or a webhook's signing secret after the reply that creates it. It can't read a webinar's tracking code either, and only learns whether it's set, though `get_challenge` does return a challenge's tracking code.

Even on **Read only**, it can see your attendees' details:

- Names, email addresses and phone numbers
- Answers to your registration questions and traffic sources
- Attendance, watch time, offer clicks and emails sent
- Questions they've asked, and live chat messages
- Each person's personal join link

Whatever a tool reads becomes part of your conversation with the AI tool, and that company's data terms apply to it. Check those terms, and your own privacy policy, before connecting a tool to attendee data. Use a work account that your organization has approved if you have one.

A personal join link gets someone into the room as that registrant, so don't paste those links anywhere public.

## How long access lasts

| Item | How long it lasts | What happens next |
| --- | --- | --- |
| Sign-in return | 30 minutes | After that, signing in lands you on the dashboard. Start connecting again from your AI tool. |
| Approval | 10 minutes | The app must finish connecting in this time, or you'll need to start again. |
| App access token | 1 hour | The app renews it automatically, without you doing anything. |
| App renewal token (also called a refresh token) | 90 days, and replaced each time it's used | While the app stays in use, this keeps rolling forward. After 90 days without use, connect the app again. |
| Personal access token | 30 days, 90 days, a year or never, as you chose | It stops working and drops off your list. There's no warning before it expires, so note the date. |

FullHouse stores tokens only in scrambled form, which is why a personal token can be shown only once.

### Why a connection closes by itself

FullHouse closes a connection if it sees signs that a sign-in was copied or reused. If a renewal token is used again more than a minute after it was replaced, or an approval code is used twice, the whole connection is shut down. Your AI tool may report:

- "This refresh token was already used, so the connection was closed to be safe. Connect again."
- "This approval code was already used. Connect again."

FullHouse treats this as a possible leak, though it can also happen if an app restores an old copy of its sign-in. Connect again and check your list for anything you don't recognise. If it keeps happening, contact the app's maker.

## See what's connected

Everything that can reach your workspace is listed under **Workspace → MCP server → Connected apps and tokens**, with its access level, when it was last used and when it was connected. See [the full description](/mcp).

**Last used** is the only activity record FullHouse shows you. It updates about every five minutes, and it doesn't show what the tool did. For the detail, look at the conversation history in your AI tool.

Review this list from time to time, and remove anything you don't recognise or no longer use.

## Revoke access

1. Go to **Workspace → MCP server**.
2. Under **Connected apps and tokens**, select **Disconnect** for an app or **Revoke** for a token.
3. Confirm in the dialog.

Access ends straight away. For an app, the dialog says it "loses access straight away. You can connect it again later." For a token, it says "Anything using this token stops working straight away."

Keep these points in mind:

- **Removing FullHouse from your AI tool may not be enough.** Always check the list in FullHouse, because that's where access actually ends.
- **Changing your FullHouse password doesn't disconnect anything.** If you think your account was compromised, change your password, and also disconnect every app and revoke every token. See [Account and security](/workspace/account-security).
- **You can revoke even without MCP on your plan.** The buttons keep working.
- **Revoking doesn't undo past changes.** Anything the tool created or changed stays as it is.
- **Anyone on your team can revoke.** That includes apps and tokens someone else created. The **Created by** column shows who that was.
- **Removing someone from your team closes their connections.** Their apps and tokens stop working straight away. See [Team](/workspace/team#remove-someone).

If a token leaks, revoke it first, then create a new one.

## Safety confirmations

Several layers help prevent mistakes. It's worth knowing what each does, because only some of them are enforced by FullHouse.

| Safeguard | Who applies it | What it does |
| --- | --- | --- |
| **Read only** access | FullHouse | Refuses every change. This is your strongest protection. |
| Exact name to delete a webinar or challenge | FullHouse | `delete_webinar` and `delete_challenge` fail unless the exact name is supplied as `confirm_name`. The error tells the AI the correct name. A wrong challenge name gets `Pass the challenge's exact name ("Webinar sprint") as confirm_name to delete it.` |
| Email address to delete a registrant | FullHouse | `delete_registrant` fails unless the registrant's email address is supplied as `confirm_email`. Capitals don't matter. |
| Publish checks | FullHouse | Publishing fails until the video and schedule are ready, and the error says what's missing. |
| Files in use | FullHouse | `delete_media` refuses a file that's still in use and says where it's used. |
| Polls with responses | FullHouse | The question and answers can't be changed once people have responded. |
| Instructions to the AI | Your AI tool | FullHouse tells the AI that changes apply immediately, and to confirm deletions and anything attendees will see with you first. A well-behaved AI follows this, but FullHouse can't force it to. |
| Tool labels | Your AI tool | Each tool is labelled as read-only, a change, or a removal, and whether it reaches outside FullHouse. Your AI tool uses these labels to decide when to ask you. |
| Approval prompts | Your AI tool | Most tools ask before running an action. What's asked, and whether you can skip it, is up to the tool and your settings. |

The name and email checks catch wrong IDs, but they aren't a human check, because your AI can look these up itself. Other tools that remove things, such as `cancel_session` or `delete_schedule`, have no such check in FullHouse. So keep your AI tool's approval prompts on for anything that removes, publishes or sends, and be careful with "always allow".

:::danger
Changes through MCP are live straight away, on the same pages and pending emails your attendees get. There's no draft layer or undo. `delete_webinar` and `delete_challenge` permanently remove everything inside them, including registrants, sessions and stats. `delete_registrant` and `cancel_session` can't be reversed either. Practise on a copy made with `duplicate_webinar` or `duplicate_challenge`.
:::

`delete_webinar` refuses a webinar that belongs to a challenge. To remove a day, change the challenge's number of days. To delete everything, use `delete_challenge`.

Be careful too with anything you ask the AI to read from outside FullHouse, such as a web page or a document, and with text from attendees. It can contain instructions aimed at the AI. Review what it proposes before approving, especially if it wants to change something after reading attendee questions.

## Rate limits

These limits stop a runaway tool from overloading your workspace. Each one resets after about a minute.

| What | Limit | Applies to |
| --- | --- | --- |
| All requests | 300 a minute | Each connection |
| `add_registrant` | 60 a minute | Your workspace |
| `create_upload` | 30 a minute | Your workspace |
| Checking a video by link (`set_video_url` with a link, `validate_video`) | 20 a minute | Your workspace |
| `send_test_email` | 5 a minute | Your account |
| `post_live_chat_message` and `moderate_live_chat` | 60 a minute, shared | Your account |
| Size of a single request | 7 MB | Each request |
| Apps registering to connect | 20 a minute | Each network address |
| Apps signing in or renewing access | 120 a minute | Each network address |

When a limit is reached, your AI tool gets one of these messages and can try again shortly:

- "Too many requests: this connection can make 300 a minute."
- "Too many attempts. Please retry later. Wait a minute and try again."
- "Requests are limited to 7 MiB."
- "Too many registrations. Try again in a minute."
- "Too many token requests. Try again in a minute."

Emails also count towards your normal [sending limits](/workspace/plan-usage). Registering people through MCP sends the same confirmation and reminder emails as your page does. See the [limits reference](/reference/limits).

## What MCP can't do

There are no tools for the following, so use the FullHouse app:

- **Your account:** change your password, email or sign-in methods, or see your payment details. Plans can't be changed either.
- **Connections:** create or revoke tokens, or disconnect apps. A connected tool can't give itself more access.
- **Your team:** invite or remove people.
- **Saved keys:** enter or read API keys. Connect Kit, ActiveCampaign and Pinball under **Workspace → Integrations**, and your AI tool can then build [automations](/webinars/automations) that use them.
- **Email and AI setup:** set up your [email sender](/workspace/email) or [AI assistant](/workspace/ai-assistant) settings at the workspace level. Your AI tool can turn on AI answers for a webinar and change its context.
- **Challenges:** sign someone up to a whole challenge in one step. Use [**Add registrant**](/run/registrants#registrants-in-a-challenge) on a day's **Registrants** tab, or the challenge's sign-up page.
- **Registrants:** resubscribe someone. Use [**Resubscribe**](/run/registrants#unsubscribe-or-resubscribe-someone) on their page.
- **Emails to your list:** send a one-off broadcast. It can edit templates, send you a test and resend someone's confirmation.
- **Files:** rename a file in Media, or add or change captions. Downloading CSV exports also happens in the app.
- **Your content:** watch or listen to your video. Give it a transcript or timestamps instead.

FullHouse's MCP server offers tools only. It has no separate MCP resources or prompt templates. See the [tools reference](/mcp/tools).

## If your plan changes

MCP access follows your plan and is checked every time a tool runs.

**If your plan stops including MCP:**

- Your connections and tokens stay in the list, but every tool call is refused with: "MCP access isn't included in this workspace's FullHouse plan. Upgrade the plan to use FullHouse from AI tools."
- Your AI tool may still look connected, and can still list the tools.
- You can't approve new apps or create tokens.
- You can still disconnect and revoke.
- Everything already created through MCP stays in your workspace and keeps running.

**If your plan includes MCP again:**

Existing connections and tokens start working again without being set up again, as long as they haven't expired. An app that went more than 90 days without being used needs connecting again.

**If your workspace is suspended,** tool calls are refused with "This FullHouse workspace is suspended, so it can't be used over MCP. Contact FullHouse support." and new connections are blocked until it's reinstated.

Source: https://docs.meetfullhouse.com/mcp/security/index.mdx
