# NIP-07: Capacidade `window.nostr` para Navegadores Web 🌐
## Visão Geral
NIP-07 propõe a integração de um objeto `window.nostr` em navegadores da web ou extensões, permitindo que sites ou aplicativos web interajam com o protocolo Nostr diretamente do navegador.
### Métodos Definidos
**Métodos Básicos**:
- `async window.nostr.getPublicKey(): string`: Retorna a chave pública como hexadecimal.
- `async window.nostr.signEvent(event: { created_at: number, kind: number, tags: string[][], content: string }): Event`: Recebe um objeto de evento, adiciona `id`, `pubkey` e `sig`, retornando-o.
**Métodos Opcionais**:
- `async window.nostr.getRelays(): { [url: string]: {read: boolean, write: boolean} }`: Retorna um mapeamento básico de URLs de relays para políticas de relay.
- `async window.nostr.nip04.encrypt(pubkey, plaintext): string`: Retorna o texto cifrado e IV conforme especificado no NIP-04 (desaconselhado).
- `async window.nostr.nip04.decrypt(pubkey, ciphertext): string`: Recebe o texto cifrado e IV conforme especificado no NIP-04 (desaconselhado).
- `async window.nostr.nip44.encrypt(pubkey, plaintext): string`: Retorna o texto cifrado conforme especificado no NIP-44.
- `async window.nostr.nip44.decrypt(pubkey, ciphertext): string`: Recebe o texto cifrado conforme especificado no NIP-44.
### Implementação
Para ver exemplos e extensões de navegadores que implementam NIP-07, consulte [awesome-nostr](https://github.com/aljazceru/awesome-nostr#nip-07-browser-extensions).
## Conclusão
NIP-07 abre caminho para uma interação mais rica e segura com o protocolo Nostr diretamente de navegadores web, facilitando a criação de aplicações descentralizadas acessíveis sem a necessidade de software adicional.