Verificacao de Documentos
O Opero armazena e gerencia documentos de identificacao dos hospedes com criptografia de ponta a ponta, garantindo conformidade com LGPD e GDPR. Este guia cobre os tipos de documentos aceitos, o fluxo de verificacao, as medidas de seguranca e o acesso controlado aos dados.
Tipos de Documentos Aceitos
O campo documentType aceita os seguintes valores:
| Tipo | Codigo | Descricao | Pais de uso principal |
|---|---|---|---|
| CPF | CPF | Cadastro de Pessoa Fisica | Brasil |
| RG | RG | Registro Geral (carteira de identidade) | Brasil |
| Passaporte | PASSPORT | Documento internacional de viagem | Todos os paises |
| DNI | DNI | Documento Nacional de Identidad | Argentina, Espanha, Peru |
| CC | CC | Cedula de Ciudadania | Colombia |
| Outro | OTHER | Qualquer outro documento oficial com foto | Todos |
Campos do documento no cadastro
| Campo | Tipo | Obrigatorio | Descricao |
|---|---|---|---|
document | string (criptografado) | Nao | Numero completo do documento, armazenado com criptografia AES-256-GCM |
documentLast6 | string | Nao | Ultimos 6 caracteres do documento em texto plano, para exibicao mascarada |
documentType | string | Nao | Tipo do documento (CPF, RG, PASSPORT, DNI, CC, OTHER) |
documentCountry | string | Nao | Pais emissor no formato ISO 3166-1 alpha-2 (ex: BR, US, AR, CO) |
documentExpiration | date | Condicional | Data de validade. Obrigatorio para passaportes |
Regra de negocio: Quando o
documentTypeforPASSPORT, o campodocumentExpirationse torna obrigatorio. O sistema valida e impede o salvamento sem data de validade.
Criptografia e Armazenamento
Como funciona
Todos os numeros de documento sao criptografados antes de serem armazenados no banco de dados:
| Aspecto | Detalhe |
|---|---|
| Algoritmo | AES-256-GCM (Galois/Counter Mode) |
| Gerenciamento de chaves | AWS KMS (Key Management Service) |
| Campo criptografado | document — armazena o blob criptografado (ate 500 caracteres) |
| Campo de exibicao | documentLast6 — ultimos 6 caracteres em texto plano |
| Acesso a chave | Apenas o servico de backend via IAM role. Nenhum usuario humano tem acesso direto |
Exibicao mascarada
Na interface do Opero, documentos sao sempre exibidos no formato mascarado:
CPF: ***456789
Passaporte: ***ABC123
RG: ***567890O padrao e *** seguido dos ultimos 6 caracteres (documentLast6). Isso permite identificacao rapida sem expor o documento completo.
Revelacao do Documento Completo
Em situacoes que exigem o numero completo (verificacao presencial, exigencia legal), o operador pode solicitar a revelacao:
Via Interface
- Acesse o perfil do hospede
- Na secao de documentos, clique em Revelar documento completo
- O sistema solicita confirmacao: “Deseja revelar o documento? Esta acao sera registrada.”
- Apos confirmar, o numero completo e exibido por 30 segundos e entao ocultado novamente
Via API
POST /api/tenants/:tenantId/guests/:guestId/document/revealA resposta retorna o documento descriptografado. O endpoint registra automaticamente no log de auditoria:
| Dado registrado | Descricao |
|---|---|
| userId | ID do usuario que solicitou a revelacao |
| ip | Endereco IP de origem da requisicao |
| timestamp | Data e hora exata da revelacao |
| guestId | ID do hospede cujo documento foi revelado |
| action | DOCUMENT_REVEAL |
Importante: A revelacao de documentos requer permissao de nivel Admin. Usuarios com papel Operacional ou Financeiro nao tem acesso a esta funcionalidade.
Fluxo de Verificacao do Hospede
O badge de verificacao indica que o hospede confirmou que e o titular dos dados pessoais. O fluxo difere conforme a origem do cadastro:
Hospede criado pela equipe (via dashboard ou API)
- Funcionario cria o hospede →
verified = false - O sistema envia um link magico por e-mail (ou codigo de 6 digitos por SMS)
- O hospede clica no link ou digita o codigo
- O sistema atualiza:
verified = true,verifiedAt = timestamp,verifiedChannel = 'email'ou'sms'
Hospede via self-service (motor de reservas /book)
- O proprio hospede preenche seus dados durante a reserva
- O cadastro e criado com
verified = trueeverifiedChannel = 'self' - Nenhuma etapa adicional e necessaria — o hospede IS o titular dos dados
Canais de verificacao
| Canal | Codigo | Descricao |
|---|---|---|
email | Hospede clicou no link magico enviado por e-mail | |
| SMS | sms | Hospede digitou o codigo de 6 digitos recebido por SMS |
| Self-service | self | Hospede se cadastrou diretamente pelo motor de reservas |
| Legado | legacy | Registro migrado de sistema anterior, marcado manualmente |
Validacao de Passaportes
Para hospedes estrangeiros, o passaporte recebe tratamento especial:
- O campo
documentExpiratione obrigatorio - O sistema exibe alerta se o passaporte estiver vencido ou proximos de vencer (menos de 6 meses)
- O campo
documentCountryindica o pais emissor (ex:USpara Estados Unidos,FRpara Franca) - Passaportes vencidos nao impedem o cadastro, mas geram um alerta visivel no perfil e na tela de check-in
Permissoes
| Acao | Admin | Operacional | Financeiro |
|---|---|---|---|
| Cadastrar documento | Sim | Sim | Nao |
Visualizar mascarado (***LAST6) | Sim | Sim | Sim |
| Revelar documento completo | Sim | Nao | Nao |
| Editar documento existente | Sim | Nao | Nao |
| Excluir documento | Sim | Nao | Nao |
Boas Praticas
- Sempre registre o pais emissor — o campo
documentCountrye essencial para hospedes estrangeiros e para a geracao correta da FNRH. - Confira a validade do passaporte — passaportes vencidos podem causar problemas com autoridades. Oriente o hospede quando detectar vencimento proximo.
- Nao anote documentos em papel — utilize exclusivamente o sistema para registrar numeros de documento. Anotacoes em papel violam a LGPD.
- Monitore revelacoes — revise periodicamente o log de auditoria para identificar acessos excessivos ou injustificados a documentos completos.
- Treine a equipe sobre privacidade — todos os funcionarios devem entender que documentos sao dados sensiveis protegidos por lei e que o acesso e rastreado.