Cria senhas fortes usando geração criptograficamente segura do próprio navegador (crypto.getRandomValues) — a senha nunca é enviada pra nenhum servidor, nem armazenada em lugar nenhum.
Não. Tudo acontece no seu navegador, com JavaScript — nenhuma senha gerada aqui é enviada, registrada ou armazenada em qualquer servidor, nem por nós nem por terceiros.
Math.random() não é criptograficamente seguro — em teoria é possível prever a sequência gerada por ele. crypto.getRandomValues() usa o gerador de números aleatórios seguro do próprio sistema operacional, o mesmo padrão usado para gerar chaves criptográficas.
Recomenda-se pelo menos 12 caracteres misturando letras maiúsculas, minúsculas, números e símbolos. Para contas mais sensíveis (e-mail principal, banco, gerenciador de senhas), 16 caracteres ou mais é mais seguro ainda.
Se um site vazar sua senha, quem tiver esse vazamento vai tentar a mesma senha em outros serviços (um ataque chamado "credential stuffing"). Uma senha única e forte por serviço, guardada num gerenciador de senhas, evita esse risco em cadeia.