window.showDirectoryPicker abre um mundo totalmente novo
Capacidades e Casos de Uso
window.showDirectoryPicker()permite que um site obtenha um identificador persistente para um diretório local com acesso de leitura/escrita, ao contrário dewebkitdirectory, que é um mecanismo de upload de uso único e, em grande parte, somente leitura.- Viabiliza apps web “local-first”: notas, IDEs, tocadores de música, editores de fotos e PWAs que operam diretamente sobre arquivos gerenciados pelo usuário e sincronizam por meio do próprio sistema de arquivos/nuvem do usuário.
- Desenvolvedores relatam uso no mundo real:
- PWAs de tocador de música local (especialmente úteis em Chromebooks).
- Editores de imagens (por exemplo, “projetos locais” baseados em pastas).
- Ferramentas internas corporativas de LLM que podem navegar e modificar pastas, planilhas e árvores de projetos.
Preocupações de Segurança e Privacidade
- Principal preocupação: phishing e sites “chatos” enganando usuários para conceder acesso a diretórios, expondo potencialmente chaves SSH, configurações, fotos da câmera ou outros dados sensíveis.
- Salvaguardas do Chrome/OS mencionadas:
- Deve ser iniciado pelo usuário e via HTTPS.
- Diretórios do sistema/root e alguns diretórios sensíveis (por exemplo, raiz da home, alguns diretórios de “Downloads”/do Windows) são bloqueados na seleção.
- Confirmação extra para acesso de gravação.
- Críticos consideram essas proteções fracas: usuários ainda podem selecionar
~/.ssh, configurações de apps ou locais de inicialização automática; proteção baseada em blacklist é vista como inerentemente incompleta. - Alguns propõem:
- Blacklist de caminhos sensíveis gerenciada pela comunidade.
- Pastas “Internet files” em whitelist ou somente pastas por domínio.
- Forçar a criação de um novo diretório vazio em vez de selecionar diretórios existentes.
- Outros argumentam que o risco é comparável ao de uploads de arquivos há muito estabelecidos e que consentimento do usuário mais sandboxing são suficientes; apontam a ausência de explorações amplamente conhecidas no mundo real até agora (contestada por argumentos de “ausência de evidência”).
Suporte de Navegadores e Política de Padronização
- Atualmente implementado apenas em navegadores baseados em Chromium; Firefox e Safari rejeitaram explicitamente a ideia por preocupações de segurança.
- Vários comentaristas veem isso como mais um passo em direção a um monocultivo Chrome/Chromium e APIs não padronizadas, dirigidas por fornecedor.
- Alguns defendem a API como menos invasiva que apps nativos/Electron e elogiam o modelo de permissões e sandbox da web; outros acham que ela corrói a segurança do endpoint.
Alternativas e APIs Relacionadas
- Origin Private File System (OPFS) oferece um espaço semelhante a um sistema de arquivos visível apenas ao site, melhorando a segurança mas reduzindo o controle do usuário, a visibilidade para backup e a interoperabilidade.
- Alguns sugerem designs híbridos: pastas por site, visíveis para humanos e controladas pelo navegador, que equilibrem controle do usuário com isolamento.