> For the complete documentation index, see [llms.txt](https://acoservice.gitbook.io/acoservice-documentation/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://acoservice.gitbook.io/acoservice-documentation/running-your-aco/signing-in.md).

# Signing in

Owners sign in with ResiFactory, then connect Discord. Both are required, for different reasons.

Owners sign in at **acoservice.app/owner** with a **ResiFactory account**, then connect Discord.

Two identities sounds like one too many, so here is why each exists.

## Why ResiFactory

ResiFactory handles the account itself — the password, the reset emails, two-factor, passkeys. Whatever you sign in with on their side, ACO Service gets the same answer back.

You will see a consent screen the first time, asking whether ACOService may access your ResiFactory account. That is expected. Approve it once and it does not ask again.

{% hint style="info" %}
**A free ResiFactory account is enough.** You do not need to buy proxies, hold a balance, or have anything else in it. It is identity only — ACO Service never sees your balance, your spend, or your purchase history, and could not ask for them if it wanted to.
{% endhint %}

## Why Discord as well

**Your bot needs it.** Your ACO's Discord bot works out who owns your server by your Discord account, and there is no way for it to learn that from ResiFactory — no such link exists.

So connecting Discord is not optional decoration. Until you do it:

* You cannot create an ACO.
* The console cannot show you the ACOs you own, because ownership is looked up by your Discord account.

Connecting takes one click on the console home page. You will be sent to Discord, asked to authorise, and returned.

## What happens when you connect

Three things, all at once:

1. Your Discord account is linked to your owner account.
2. Any ACOs that account already administers appear in your console.
3. You are granted the **Operator** role in the [ACO Service Discord](/acoservice-documentation/community/community.md), which unlocks the operator channels.

## One account, several ACOs

You sign in once and see everything you own. If you run three ACOs they all appear in one console under one subscription — you do not need three logins or three accounts.

## If something goes wrong

| What you see                                                 | What it means                                                                                                           |
| ------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------- |
| **The console says to connect Discord and you already have** | Your Discord account is linked to a *different* owner account. Each Discord account can belong to one owner.            |
| **Signed in, but your ACO is missing**                       | Ownership is by Discord account. The one you connected is not an admin of that ACO — check you connected the right one. |
| **The consent screen loops**                                 | Usually a blocked third-party cookie. Try without the blocker, or a different browser.                                  |
| **Signed out unexpectedly**                                  | Changing your ResiFactory password or being signed out there ends sessions here too, within the hour.                   |

{% hint style="warning" %}
**Members do not sign in this way.** Your ACO's own customers sign in with **Discord** on **your** site, using **your** Discord application. Nothing on this page applies to them, and they never need a ResiFactory account.
{% endhint %}


---

# 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://acoservice.gitbook.io/acoservice-documentation/running-your-aco/signing-in.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.
