# Client Registry

The **Client Registry** in Connectware provides a secure, automated mechanism for registering new clients, users, and hardware devices without manually handling credentials.

Instead of manually adding users through the [Admin UI](https://docs.cybus.io/2-0-4/getting-started/admin-ui), this self-registration process allows clients to register themselves or be automatically registered when they connect to Connectware. This eliminates security risks associated with pre-shared credentials while reducing administrative overhead.

## Advantages of Self-Registration

Traditional client authorization methods often rely on manually creating users and sharing passwords, which introduces security vulnerabilities and administrative overhead. The Client Registry solves this by:

* Eliminating the need to manually distribute credentials.
* Enabling secure, automated credential exchange in the background.
* Providing administrator oversight while minimizing manual intervention.
* Supporting certificate-based authentication for enhanced security.

## Self-Registration Methods

| Self-Registration Method                  | Advantages                                                                                                                                                                                                                                                                                                                     |
| ----------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **Self-Registering Clients via REST API** | <p>• Support for certificate signing requests (CSR)<br>• Ability to request specific roles and permissions<br>• Enhanced control over client configuration<br>• Suitable for distributed Connectware agents and advanced clients<br>• <a href="client-registry/self-registering-clients-via-rest-api">More information</a></p> |
| **Self-Registering MQTT Clients**         | <p>• Works with any standard MQTT or HTTP client<br>• The client can generate random passwords automatically<br>• Simple process for basic device integration<br>• <a href="client-registry/self-registering-mqtt-clients">More information</a></p>                                                                            |
