# Níveis de dados

URL: /erros/niveis-de-dados

O que o Mira armazena de dados de usuário e de código-fonte em cada ambiente e projeto.

O **nível de dados**, por ambiente, e o **nível de código**, por projeto, definem quanta informação sensível chega ao Mira. Admins e Mantenedores configuram os dois.

## Nível de dados [#nível-de-dados]

| Nível | O que o Mira armazena |
| --- | --- |
| **Mínimo** (padrão) | Stack, breadcrumbs sem corpo e usuário só por id |
| **Completo** | Corpos de request e response, estado da aplicação e email do usuário |

No nível mínimo, os campos que dependem de corpos aparecem como "não capturado". Trocar para o completo pede confirmação e entra na atividade do projeto. Voltar ao mínimo não pede confirmação.

Nos dois níveis, o Mira troca segredos por `[redacted]` antes de armazenar, como tokens e JWTs. Parâmetros de URL com nome sensível, como `token`, também são redigidos.

## Nível de código [#nível-de-código]

Em **Configurações** do projeto, **Geral**, o nível de código define o que os source maps armazenam:

| Nível | Efeito |
| --- | --- |
| **Sem código** | O envio de maps é recusado, e a stack fica minificada |
| **Só mapeamento** (padrão) | Arquivo, linha e função originais, sem o código-fonte |
| **Completo** | Também armazena o código-fonte e mostra as linhas em volta de cada frame |

Trocar de completo para só mapeamento esconde o código das ocorrências já traduzidas. O envio dos maps é feito no build da aplicação. Veja [Source maps no CI](/desenvolvedores/integrar#b-enviar-source-maps-no-ci).

## Qual nível usar [#qual-nível-usar]

Se o projeto lida com dados de clientes, mantenha o mínimo. Use o completo em QA e staging, onde os dados são de teste e o corpo da requisição ajuda a reproduzir o erro.

## Próximos passos [#próximos-passos]

- [Detalhe do erro](/erros/detalhe)
- [Ambientes e origens](/administrar/ambientes)
