Firebase Database - Riscos associados à exposição de uid no lado do cliente?

Perguntas curtas: Quais são os riscos / problemas se eu expor o UID de outro usuário no lado do cliente?

Minha circunstância: estou criando um aplicativo Android de teste que precisa permitir que 1) o usuário solicite autorização para 2) acessar os dados privados do usuário A.

Não sei se é um fato "duh", mas não consigo encontrar nenhum aviso no Firebase sobre "NÃO EXPOSE UID". Venho examinando a seção de segurança do usuário e a demonstração de exemplo de bate-papo do Firebase, e a abordagem comum parece criar um campo "compartilhamento" ou "autorizado" com o uid do usuário autorizado como verdadeiro. Minha pergunta é principalmente sobre o primeiro passo. Abaixo está um trecho da minha estrutura de dados.

 {
      "users" : {
        "uid_of_user_a" : {
          "requests" : {
            "-KeXTQeFJ2gAiaazteO1" : {
              "requestUid" : "uid_of_user_foo",
              "targetUid" : "uid_of_user_a",
              "timeStamp" : 123456
            }
          }
        }
      }
    }

Meu pensamento é esse.

As regras para o campo de solicitação são: leitura / gravação para usuário com uid_of_user_a e gravável para qualquer usuário autenticado apenas se esse usuário enviar o targetUid que corresponde a uid_of_user_a.

No lado do cliente, o usuário A possui um onChildEventListener anexado com uma referência a este campo. Quando o cliente recebe um retorno de chamada onChildAdded, uma caixa de diálogo é exibida e solicita confirmação.

Se confirmado, o lado do cliente recupera o uid do solicitante da mensagem de solicitação e o envia para o campo "autorizado"

Os dados privados do usuário A podem ser lidos pelo uid listado no campo autorizado.

Problema: é necessário expor o uid de outro usuário ao cliente. Esse método é comparável ao de ligar para alguém ao telefone; o chamador deve saber primeiro o número de telefone do destinatário. portanto, sem fornecer números de telefone e e-mail, alguém precisa conhecer o UID de alguma forma para transmitir uma mensagem e solicitar dados compartilháveis, certo? ... mas minha abordagem intuitiva parece duvidosa.

Eu sou novo no banco de dados firebase e autenticação de usuário em geral, então perdoe meu francês :) Agradecemos antecipadamente a todos os gurus por aí.

questionAnswers(1)

yourAnswerToTheQuestion