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

# Netlify Visitor Access

> Let QA.tech open a Netlify site that is private or password protected

New Netlify projects are private by default. A private project sends every visitor to a **Sign in to Netlify** page (`app.netlify.com/edge-access`), and only members of your Netlify team can get past it. QA.tech is not a member of your team, so crawls and tests stop at that page with a `401`.

Netlify has no bypass secret for automation like Vercel's, and QA.tech cannot sign in with a Netlify team login. Pick one of the options below instead.

| Option | Netlify plan | Use when |
| :- | :- | :- |
| [Make the project public](#make-the-project-public) | Any | The site can be public, or only previews need to be private |
| [Use a shared password](#use-a-shared-password) | Pro | The site must stay protected |
| [Basic auth in `_headers`](#basic-auth-in-headers) | Pro | You already protect paths with a `Basic-Auth` rule |

## How to tell

Your site is behind Netlify visitor access when one of these is true:

* Opening the URL in a private browser window shows **Sign in to Netlify** or a Netlify password page.
* The QA.tech crawl or test fails with `401` and the message **Blocked by Netlify visitor access**.
* The response has `server: Netlify` and status `401`.

## Make the project public

**1. Open visitor access**

In Netlify, open the project and go to **Project configuration → General →
Visitor access → Project visibility**. On Enterprise and older plans this
card is called **Password Protection**.

**2. Choose Public**

Select **Edit visibility**, then **Public**, and save.

**3. Keep previews private (optional)**

To keep Deploy Previews and branch deploys private, choose **Previews only**
(**Non-production deploys only** on older plans) and point the QA.tech
environment at your production URL.

**4. Crawl again**

Ask the QA.tech chat to crawl again, or re-run the failed test.

## Use a shared password

On Netlify Pro you can protect the site with one shared password instead of team login. Netlify then shows a password form, and a QA.tech login test can type the password into it like any other login.

**1. Switch to Password**

In Netlify, go to **Project configuration → General → Visitor access →
Project visibility**, select **Edit visibility**, choose **Password**, and
enter a password. On older plans, choose **Basic password protection** under
**Password Protection**.

**2. Store the password in QA.tech**

Add the password as a [Config](https://docs.qa.tech/core-concepts/configs.md), or give it to the
QA.tech chat when it asks for login details.

**3. Create a login test**

Create a test that opens the site, enters the password on the Netlify page,
and checks that the app loads. Make your other tests depend on it, so they
start from its signed-in state. See
[Dependencies](https://docs.qa.tech/core-concepts/dependencies.md).

The chat sets this up for you during onboarding: tell it the password and it creates and runs the login test.

## Basic auth in `_headers`

A `Basic-Auth` rule in your site's `_headers` file is HTTP basic auth, not visitor access. Add the username and password as [environment basic auth](https://docs.qa.tech/core-concepts/applications-and-environments.md#basic-auth) on the QA.tech environment.

## Pull request previews

Deploy Previews follow the same visibility setting. If previews must stay private, use a shared password scoped to previews, or test pull requests on a public staging deploy after merge.

**External:** [Netlify Password Protection](https://docs.netlify.com/manage/security/secure-access-to-sites/password-protection/)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.