feat(bimi): logotipo do dominio validado, alojado e publicado no DNS

A foto de perfil nao viaja: nem o Gmail nem o Outlook leem uma imagem por
utilizador do servidor de quem envia, e nao existe protocolo que o permita. O
avatar que esses mostram vem dos contactos de quem recebe ou da conta Google
ou Microsoft do remetente.

O que eles leem e BIMI, que e por dominio. Fica implementado: validacao,
alojamento e o registo.

O validador reporta todas as violacoes de uma vez, e nao a primeira. Um
receptor que recusa a marca nao explica nada -- simplesmente nao desenha -- por
isso descobrir as regras uma viagem de cada vez seria a pior maneira possivel
de aprender este formato. Sao verificados o baseProfile e a versao que os
receptores procuram, o viewBox quadrado (uma marca nao quadrada e cortada de
forma diferente por cada cliente), exactamente um title, e a ausencia de tudo
o que seja activo ou externo: script, handlers de evento, links, imagens
rasterizadas, animacoes e referencias para fora do documento.

O registo so e publicado quando ha mesmo uma marca guardada. Um registo que
aponta para um logotipo inexistente e pior do que nenhum, porque o receptor
para de procurar assim que encontra um.

O logotipo e servido aberto, porque quem o vai buscar sao os fornecedores de
correio a avaliar uma mensagem e esses nunca terao sessao aqui.

Fica escrito no README que o Gmail e o Outlook so desenham a marca com um VMC,
e o painel avisa quando nao ha nenhum configurado.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Lucas RayanandClaude Opus 5 committed 2026-09-07 08:12:11 -03:00
1 parent fcfee6a3f9
commit 6a602ab88f
16 files changed
+955 -5

No files matched your search

+10 -1
View File
@@ -113,7 +113,16 @@
"passwordResetWarning": "Signs out every session this user holds, including one open right now.",
"removeTotp": "Remove second factor",
"totpRemoved": "Second factor removed, with its recovery codes.",
"tlsaDigest": "Digest for the TLSA record (DANE 3 1 1)"
"tlsaDigest": "Digest for the TLSA record (DANE 3 1 1)",
"bimiTitle": "BIMI for {domain}",
"bimiExplainer": "BIMI is the only mechanism that shows an image beside your mail in external clients. It is per domain, not per user. Gmail and Outlook render it only when the record points at a VMC.",
"bimiConfigured": "Logo published",
"bimiNotConfigured": "No logo",
"bimiNoVmc": "No VMC: Gmail and Outlook will not show this logo.",
"bimiSvg": "Logo (SVG Tiny PS)",
"bimiVmc": "VMC URL (optional)",
"bimiRejected": "The logo does not meet SVG Tiny Portable/Secure:",
"bimiSaved": "Logo saved."
},
"auth": {
"adminLoginTitle": "Admin console",
+10 -1
View File
@@ -113,7 +113,16 @@
"passwordResetWarning": "Cierra todas las sesiones de este usuario, incluida una abierta ahora.",
"removeTotp": "Quitar segundo factor",
"totpRemoved": "Segundo factor eliminado, con sus codigos de recuperacion.",
"tlsaDigest": "Digest para el registro TLSA (DANE 3 1 1)"
"tlsaDigest": "Digest para el registro TLSA (DANE 3 1 1)",
"bimiTitle": "BIMI de {domain}",
"bimiExplainer": "BIMI es el unico mecanismo que muestra una imagen junto a su correo en clientes externos. Es por dominio, no por usuario. Gmail y Outlook solo lo dibujan cuando el registro apunta a un VMC.",
"bimiConfigured": "Logotipo publicado",
"bimiNotConfigured": "Sin logotipo",
"bimiNoVmc": "Sin VMC: Gmail y Outlook no mostraran este logotipo.",
"bimiSvg": "Logotipo (SVG Tiny PS)",
"bimiVmc": "URL del VMC (opcional)",
"bimiRejected": "El logotipo no cumple SVG Tiny Portable/Secure:",
"bimiSaved": "Logotipo guardado."
},
"auth": {
"adminLoginTitle": "Consola de administración",
+10 -1
View File
@@ -113,7 +113,16 @@
"passwordResetWarning": "Termina todas as sessoes deste utilizador, incluindo a que esteja aberta agora.",
"removeTotp": "Remover segundo factor",
"totpRemoved": "Segundo factor removido, com os codigos de recuperacao.",
"tlsaDigest": "Digest para o registo TLSA (DANE 3 1 1)"
"tlsaDigest": "Digest para o registo TLSA (DANE 3 1 1)",
"bimiTitle": "BIMI de {domain}",
"bimiExplainer": "O BIMI e o unico mecanismo que mostra uma imagem ao lado do seu correio em clientes externos. E por dominio, nao por utilizador. O Gmail e o Outlook so o desenham quando o registo aponta para um VMC.",
"bimiConfigured": "Logotipo publicado",
"bimiNotConfigured": "Sem logotipo",
"bimiNoVmc": "Sem VMC: o Gmail e o Outlook nao vao mostrar este logotipo.",
"bimiSvg": "Logotipo (SVG Tiny PS)",
"bimiVmc": "URL do VMC (opcional)",
"bimiRejected": "O logotipo nao cumpre o SVG Tiny Portable/Secure:",
"bimiSaved": "Logotipo guardado."
},
"auth": {
"adminLoginTitle": "Console de administração",