# Site Access

When you use the Hallway extension, the agent can read the page you're on and take actions on your behalf (clicking, filling fields, switching tabs). Site Access lets you decide whether the agent is allowed to do that everywhere, or only on sites you've explicitly approved.

{% hint style="info" %}
Site Access only affects the Hallway browser plugin. Embedded agents on a single site (via the embed code) are scoped to that site by design and aren't affected by these settings.
{% endhint %}

## The two modes

There are two modes, set per user in your Hallway dashboard.

{% columns %}
{% column %}

#### Allow all sites (default)

The agent can read and act on any tab without prompting. This is the simplest experience and matches how the plugin worked before this setting existed.

Use this when you trust the agent broadly and want zero friction.
{% endcolumn %}

{% column %}

#### Ask on new site

The first time the agent tries to use a site, you'll see a permission card asking whether to allow it. Your choice is remembered.

Use this when you want explicit control over which sites the agent ever touches.
{% endcolumn %}
{% endcolumns %}

## How "Ask on new site" works

{% stepper %}
{% step %}

#### The agent encounters a new site

You ask the agent to do something on a tab. If the site doesn't have a saved decision and isn't in the built-in safe list, the agent pauses before reading the page.
{% endstep %}

{% step %}

#### A permission card appears

A card shows up in the Hallway sidebar identifying the site and explaining what the agent wants to do. The agent will also briefly tell you it needs permission.
{% endstep %}

{% step %}

#### You choose what to do

Each card offers four options:

* **Allow this time** — let the agent use this site for this session only.
* **Always allow** — remember the choice; never ask again for this site.
* **Block this time** — refuse for this session.
* **Always block** — remember the refusal; never ask again for this site.
  {% endstep %}

{% step %}

#### The agent picks up where it left off

If you allowed it, the agent continues with your original request. If you blocked it, the agent acknowledges and asks what you'd like to do instead.
{% endstep %}
{% endstepper %}

{% hint style="success" %}
"Always allow" and "Always block" decisions are saved to your account and apply across all your devices and sessions.
{% endhint %}

## Managing saved decisions

You can review and revoke saved site decisions from your Hallway dashboard at any time. Removing a site from the list resets it back to first-visit behavior — the next time the agent encounters it, you'll see a fresh permission card.

## Built-in safe list

A small set of sites are always allowed even in "Ask on new site" mode, because the agent uses them as part of its normal operation:

* `hallway.ai` and its subdomains
* `google.com/search` (so the agent can do web searches on your behalf)
* `localhost`, `127.0.0.1`, `::1` (for local development)

Any other Google property (Drive, Docs, Gmail, Maps, etc.) is **not** auto-allowed and will prompt on first use.

## What the agent can and can't do while waiting

While a permission card is pending or a site is blocked, the agent has access only to navigation tools (`goto`, `switch_tab`, `close_tab`, `search`) and your saved documents. It cannot read the page contents, click anything on it, or interact with it in any way until you decide.

{% hint style="warning" %}
The agent never silently retries blocked sites. If you blocked a site by mistake, ask the agent to try again — it will re-prompt, giving you a chance to allow it.
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://hallway.gitbook.io/embed/plugin/site-access.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
