# Access Control List (ACL)

The Access Control List (ACL) is a PostgreSQL table which stores all private and admin user accounts.

Give the necessary roles to the PostgreSQL account defined in the environment settings the backend will generate a new ACL table from this schema.

```sql
create table if not exists users
(
	"_id" serial not null,
	email text not null,
	password text not null,
	verified boolean,
	approved boolean,
	admin boolean,
	verificationtoken text,
	approvaltoken text,
	failedattempts integer default 0,
	password_reset text,
	api text
);
```

[**XYZ security**](https://geolytix.gitbook.io/xyz-developer-guide/infrastructure/security) and strategy which depend on this ACL table schema will be discussed in detail in the [**infrastructure**](https://geolytix.gitbook.io/xyz-developer-guide/infrastructure) section of this documentation.

The connection details for the ACL must be provided in the [**Access Control Environment Settings**](https://geolytix.gitbook.io/xyz-developer-guide/environment-settings/access-control).

{% hint style="info" %}
A default admin account **<admin@geolytix.xyz>** (password: **admin123**) will be inserted into a newly created ACL table.

This account can be used to login and approve the first newly registered admin account. The default account should be removed as soon as a new private admin account with a valid email has been defined.
{% 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://geolytix.gitbook.io/xyz-developer-guide/access/acl.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.
