> For the complete documentation index, see [llms.txt](https://wiki.datadike.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://wiki.datadike.com/product-guide/configuracoes/rmm/enrollment.md).

# Enrollment / Provisionamento

O enrollment é o processo que "amarra" um dispositivo Android ao seu tenant do DataDike RMM. O modo escolhido **determina o que você pode fazer nele depois**, então essa é a primeira decisão de arquitetura.

## Escolha do modo

| Cenário                                                   | Modo recomendado                         |
| --------------------------------------------------------- | ---------------------------------------- |
| Frota corporativa — celulares entregues aos colaboradores | **Fully Managed**                        |
| Coletor de estoque, PDV, tablet de campo                  | **Dedicated (Kiosk)**                    |
| Celular corporativo com espaço pessoal separado           | **WPCO**                                 |
| Traga seu próprio dispositivo (BYOD)                      | **Work Profile BYOD**                    |
| Ampliar frota antiga com aparelhos existentes já em uso   | Considerar BYOD ou re-enrollment em WPCO |

{% hint style="warning" %}
**Device Admin (legado) não deve ser usado em novas implantações.** O Google removeu APIs críticas (`resetPassword`, `setCameraDisabled`, `setKeyguardDisabledFeatures`, `setPasswordQuality`) no Android 10 e 11. O agent continua se registrando como Device Admin para compatibilidade com aparelhos antigos, mas a experiência é muito reduzida.
{% endhint %}

## Pré-requisito único: Google Enterprise vinculado ao tenant

Antes de enrollar qualquer dispositivo, o tenant precisa completar o **signup do Google Android Enterprise**. É um passo de 3 minutos, feito uma única vez:

1. Login no portal com um admin
2. Menu **Administração → Settings**
3. Aba **About** → botão **GOOGLE ENTERPRISE**
4. Uma nova aba abre no Google onde você:
   * Aceita os Termos de Serviço do Android Enterprise
   * Confirma o nome da organização
   * Escolhe um Google Account para gerenciar
5. Google redireciona de volta para o portal, que registra a vinculação da sua organização
6. A partir daí, todos os fluxos AMAPI estão disponíveis

{% hint style="info" %}
Sem esse passo, o botão **Enroll device** no Sysadmin responde com: *"Google Enterprise not linked to this tenant. Complete Google Enterprise signup in Settings first."*
{% endhint %}

## Fully Managed (Device Owner) — QR code

Modo mais comum para novas implantações. O aparelho vira **Device Owner**, o que destrava tudo.

### Passos

1. **No portal:**
   * Sysadmin → botão **Enroll device**
   * Escolher `Personal usage: Not allowed (fully managed)`
   * Duração do token: 1 hora (padrão) ou até 24h para provisionamento em lote
   * Marcar `One-time only` (padrão) para invalidar o token após primeiro sucesso
   * Clicar **Gerar QR**
2. **No dispositivo alvo:**
   * **Factory reset obrigatório.** Se o aparelho já foi usado, faça o reset primeiro.
   * Na tela de boas-vindas (idioma / região), toque **6 vezes seguidas** em um ponto vazio
   * O wizard de câmera abre — escaneie o QR gerado
   * O aparelho baixa o **Android Device Policy** (DPC oficial do Google)
   * Aplica a policy default do tenant (pode ser configurada em `enrollmentTokens.create`)
   * Dispositivo aparece no Sysadmin em \~30 segundos

### O que fica automaticamente configurado

* Device Owner (DPC = Android Device Policy)
* Todas as configurações da policy aplicadas
* Managed Google Play habilitado
* **Nosso agent DataDike é instalado como companion app** (FORCE\_INSTALLED via policy), rodando junto do Android Device Policy para telemetria custom (locate on-demand, ring, mensagens)

## Fully Managed — Zero-touch (KME)

Para frotas > 100 aparelhos, o Zero-touch é a experiência premium.

### Pré-requisito

* Comprar hardware através de um revendedor participante do **Android Enterprise Zero-Touch program**. Marcas comuns: Samsung, Google Pixel, Motorola, Nokia (HMD), Xiaomi Enterprise, Zebra, Honeywell.

### Passos

1. **Revendedor** cadastra os IMEIs comprados no portal de Zero-touch e associa ao seu tenant Google
2. **Você (admin)** vinculou seu tenant Google ao KME uma vez (auto-provisionamento configurado)
3. **Ao ligar pela primeira vez**, o aparelho detecta a associação KME, baixa o Android Device Policy automaticamente, aplica a policy default. **Nenhuma interação do usuário além de conectar Wi-Fi.**

## Dedicated (Kiosk / COSU)

Variante do Fully Managed para dispositivos de uso único (PDV, coletor, totem).

### Passos

Igual ao Fully Managed via QR code, com uma alteração:

* No modal de Enroll device, escolher `Personal usage: Not allowed (dedicated / kiosk)`
* A policy aplicada deve ter `kioskCustomLauncherEnabled = true` OU `applications[]` com `installType: KIOSK` para o app-alvo

### Efeito

* O launcher padrão do Android é substituído pelo app-alvo (ou pelo launcher customizado da policy)
* `statusBar` fica oculto ou reduzido
* `keyguard` desabilitado (aparelho não trava com senha)
* `stayOnPluggedModes` mantém tela sempre acesa quando carregando
* Botões de sistema (Home, Back) podem ser desabilitados via `kioskCustomization.systemNavigation`

## WPCO — Work Profile em dispositivo corporativo

Para quando o hardware é da empresa mas você quer respeitar espaço pessoal do usuário (ex.: celular corporativo que a pessoa também usa nos finais de semana).

### Passos

* No modal de Enroll device, escolher `Personal usage: Allowed (COPE / work profile)`
* Provisionamento igual ao Fully Managed (QR code, factory reset)
* O aparelho cria **dois perfis**: `personal` (usuário) + `work` (empresa)

### Diferenças em relação ao Fully Managed

* Comandos device-wide: **Lock**, **START\_LOST\_MODE** funcionam. `WIPE` apaga o profile de trabalho por padrão (ou o dispositivo inteiro com flag).
* Comandos que **não funcionam** em WPCO: `REBOOT`.
* Apps do lado pessoal são invisíveis para o DPC.
* Policies podem controlar câmera / restrições device-wide (encima do profile pessoal), mas o Google fez essa área mais restrita a partir do Android 12.

## Work Profile BYOD

Modo "traga seu próprio dispositivo". O usuário mantém total controle do lado pessoal; a empresa só toca o container corporativo.

### Passos

1. No portal, ir em Sysadmin → **Enroll device**, escolher `Personal usage: Allowed (COPE / work profile)` — ou distribuir para o usuário uma URL de sign-in gerada pelo tenant
2. **No dispositivo do usuário:**
   * Sem reset
   * Instalar **Android Device Policy** pelo Play Store
   * Fazer sign-in com credenciais corporativas (ou escanear QR)
   * Aceitar a criação do work profile
   * O work profile aparece como uma "aba" separada na gaveta de apps

### Limitações estruturais do BYOD

* **`WIPE` deleta apenas o work profile.** Dados pessoais nunca são tocados.
* **`REBOOT`, `LOCK` (device-wide) e `START_LOST_MODE` não funcionam.** Só travamento do profile.
* **Não vemos apps pessoais.** Nem contatos, nem fotos, nem chamadas do lado pessoal.
* **Não podemos forçar `factoryResetDisabled`** — usuário sempre pode fazer factory reset do próprio aparelho.

## Verificação pós-enrollment

Um dispositivo bem enrollado aparece no Sysadmin com:

* `agent status: ONLINE` (checkin recente)
* OS Version detectada
* **Security Posture badge** visível no toolbar do detalhe (Play Integrity)
* Ícone do modo de gerenciamento no card

Se algo falhar, os logs do provisioning ficam em `Settings do dispositivo → Apps → Android Device Policy → Status`.

## Re-enrollment

Trocar um dispositivo de modo (ex.: sair de Device Admin para Fully Managed) **exige factory reset**. Não existe upgrade in-place por decisão do Google — enrolamento é sempre feito no first-boot.


---

# 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://wiki.datadike.com/product-guide/configuracoes/rmm/enrollment.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.
