> For the complete documentation index, see [llms.txt](https://docs.resifactory.net/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.resifactory.net/reference/limits.md).

# Limits and retention

## Retention

**Settings → Retention** shows the current values for your server.

| Setting                 | What it governs                                                                                |
| ----------------------- | ---------------------------------------------------------------------------------------------- |
| **Message retention**   | How many days mail is kept. Older mail is pruned permanently.                                  |
| **Audit log retention** | How long the record of credential reveals and exports is kept.                                 |
| **Polling interval**    | How often mailboxes are checked as a backstop. Most mail arrives by push well before any poll. |

<figure><img src="/files/aK7Tw9gFxpxK8hSqrPCg" alt="The Retention section of Settings"><figcaption></figcaption></figure>

{% hint style="warning" %}
Retention is a hard boundary. Once mail passes it, it is gone — not hidden, not archived. If you need mail kept longer, pull it over IMAP into your own storage or export the [Inbox](/the-console/inbox.md) as CSV.
{% endhint %}

**Retention is not the** [**inbox window**](/imap/inbox-window.md)**.** Retention is how long mail is kept; the window is how much of what is kept a given credential is shown. Widening a window brings mail back; nothing brings back mail that has passed retention.

## Inbox window presets

The nine choices, in minutes:

| Preset          | Minutes |
| --------------- | ------- |
| Unlimited       | —       |
| Last 3 months   | 129,600 |
| Last 1 month    | 43,200  |
| Last 14 days    | 20,160  |
| Last 7 days     | 10,080  |
| Last 24 hours   | 1,440   |
| Last 6 hours    | 360     |
| Last 1 hour     | 60      |
| Last 15 minutes | 15      |

These are the only values; there is no free-text option.

## IMAP

|                    |                                                               |
| ------------------ | ------------------------------------------------------------- |
| **Host**           | `mail.resifactory.net`                                        |
| **Port**           | `993` only                                                    |
| **Encryption**     | Implicit TLS. No STARTTLS, no plaintext, nothing on port 143. |
| **Folders**        | Exactly one: `INBOX`                                          |
| **Outgoing**       | None. The server does not send mail.                          |
| **Search nesting** | `OR` / `NOT` up to 16 levels deep                             |
| **Flags**          | `\Seen` `\Answered` `\Flagged` `\Deleted` `\Draft`            |

Full detail: [What the server supports](/imap/capabilities.md).

### Very large mailboxes

Enumerating an enormous mailbox is bounded — an unlimited-window credential over a very large set of mail may not be able to address every message by sequence number.

In practice this only matters if you run **Unlimited** on a large, old set of mailboxes. Setting any [inbox window](/imap/inbox-window.md) removes the concern entirely, and is faster besides. It is another reason the window is the first thing we recommend.

## Authentication

|                          |                                                                                                      |
| ------------------------ | ---------------------------------------------------------------------------------------------------- |
| **App password display** | Shown once at creation. Stored hashed; never retrievable.                                            |
| **Failed-login lockout** | Repeated failures temporarily block further attempts from that username and IP. A success clears it. |
| **Revocation**           | Immediate. Live sessions are disconnected at once.                                                   |
| **IP allowlist**         | CIDR ranges per app password. Outside them, rejected exactly like a wrong password.                  |
| **Sign-in password**     | Minimum 12 characters. Changing it signs out every web session.                                      |
| **Password-reset code**  | 6 digits, expires in 10 minutes, single use.                                                         |

## Account limits

|                                |                                                                                                |
| ------------------------------ | ---------------------------------------------------------------------------------------------- |
| **Mailboxes per app password** | No limit. A unified credential covers everything you own.                                      |
| **App passwords**              | No practical limit. Make one per tool.                                                         |
| **Batches**                    | No practical limit. A mailbox can be in several.                                               |
| **Catch-all domains**          | Add as many as you control.                                                                    |
| **Purchase quantity**          | The [buy-more card](/buying-more/buying-more.md) will price up to a maximum; beyond that, ask. |

## What is not limited

* **Connections** — but one connection in `IDLE` beats several polling, every time.
* **Searches** — though refused criteria come back as `NO [CANNOT]` rather than a wrong answer. See [What the server supports](/imap/capabilities.md).
* **Exports** — every one is recorded.


---

# 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://docs.resifactory.net/reference/limits.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.
