O ideal é usar URL's assinadas para o documento. Por exemplo, cliente solicita o documento e então é gerado uma url assinada (com token e tempo de expiração) e so através dessa assinatura ele consegue abrir o documento (nao vai existir url publica no caso, mas verifica melhor no firebase que já deve ter algo pronto pra isso).
3