> For the complete documentation index, see [llms.txt](https://documentation.2pintsoftware.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://documentation.2pintsoftware.com/stifler/3.1/operations-and-features/client-read-only-mode.md).

# Client Read-Only Mode

StifleR clients can operate in two modes:

* **Full mode** — the client actively monitors and manages bandwidth, applying throttling policies to BITS and Delivery Optimization transfers.
* **Read-only mode** — the client monitors and reports network activity but does not intervene in any transfers.

In read-only mode the client:

* Reports network activity, downloads, and status to the server as normal
* Does **not** apply bandwidth policies
* Does **not** manage BranchCache or Delivery Optimization settings

## How the server controls client mode

When a StifleR client starts up, it checks in with the server to receive its licensing state. The server evaluates whether the **BandwidthManagement** feature is licensed and enabled:

* **Licensed and enabled** → client runs in full mode
* **Unlicensed or disabled** → client runs in read-only mode

This means you can switch an entire fleet between full and read-only mode from the server, without touching client configuration. Go to **Administration > Features**, toggle BandwidthManagement off, and all clients will enter read-only mode on their next start.

> **Note:** A client's mode is determined once at startup and does not change while it is running. This is by design — certain operations must happen at startup, and changing mode mid-session would leave the client in an inconsistent state. Clients already running are not affected until they restart.

## Identifying read-only clients

Read-only clients report their status back to the server. You can find all clients currently running in read-only mode using the **Flag Search** in the dashboard and filtering for the **Read Only** flag.

### Local override

A client can be configured to always run in read-only mode regardless of what the server says. This is useful for deploying the client in monitoring-only mode to a site before bandwidth management is needed. Contact 2Pint Software or refer to the client configuration reference for details.

### Behaviour when the server is unreachable

If the client cannot reach the server at startup, it falls back to the licensing state from its last successful connection. If the client has never successfully connected to the server, it defaults to full mode.

### Version compatibility

| Client version | Server version | Behaviour                                                                                                                               |
| -------------- | -------------- | --------------------------------------------------------------------------------------------------------------------------------------- |
| 3.1            | 3.1            | Server controls mode via licensing state                                                                                                |
| 3.1            | 3.0            | Client defaults to full mode — the 3.0 server does not support the licensing endpoint, so the client assumes no restriction is intended |
| 3.0            | 3.1            | Client runs normally — 3.0 clients are not mode-controlled by the server                                                                |

You can upgrade the server to 3.1 and roll out 3.1 clients gradually. 3.1 clients on a 3.0 server will run in full mode during the transition.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://documentation.2pintsoftware.com/stifler/3.1/operations-and-features/client-read-only-mode.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
