Skip to content

[openaudit-search-api] Implementar normalização de query + geração de query_hash (sha256) #8

Description

@4lessandrodev

Repo: openaudit-search-api

Tags: priority:high type:feature area:search good first issue

Visão geral

Padronizar como a busca trata o input do usuário e gerar hash para auditoria sem persistir dados sensíveis.

Contexto

O projeto exige minimização de PII e auditabilidade. A API deve evitar armazenar q bruto e trabalhar com normalized + query_hash.

Descrição

Implementar QueryNormalizer com:

  • casefold
  • remoção de acentos
  • trim e normalização de espaços
  • tokenização simples (opcional)

Gerar query_hash = sha256("normalized") com prefixo sha256:.

Regras:

  • normalized nunca pode ser vazio (retornar 400 se input inválido).
  • Não retornar query.raw por padrão.

Adicionar testes com casos:

  • acentos ("João" -> "joao")
  • espaços extras
  • caixa alta/baixa
  • input vazio

Impacto

Reduz risco (PII em logs) e aumenta consistência de match e cache. Base para auditoria e performance.

Referências

Definição de pronto

  • Normalizer implementado e testado
  • Hash sha256 implementado e testado
  • Handler /search usa normalized + query_hash
  • Input vazio retorna 400 com mensagem clara

Metadata

Metadata

Assignees

No one assigned

    Type

    Fields

    No fields configured for Task.

    Projects

    Status
    Backlog

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions