Quando você compartilha um print de banco, uma tela de log com credenciais expostas ou uma foto de um documento do cliente, o estrago já está feito antes de você perceber. O novo recurso de redação do Google Fotos ataca exatamente esse ponto cego — e, na minha visão de dev, ele deveria existir em todo sistema que lida com imagens há anos.
Segundo o Terra.com.br, o Google liberou nesta quinta-feira (24) um conjunto de atualizações para o Google Fotos no Android, com destaque para a caneta de redação que permite ocultar partes da imagem via pixelização ou desfoque. Mas o pacote vai além disso, e há detalhes técnicos que valem a sua atenção.
O que a caneta de redação realmente faz — e o que ela não faz
Na prática, o fluxo é simples: você abre a imagem no editor do Google Fotos, aciona a ferramenta de marcação, escolhe o modo “redigir” e seleciona a região. O app aplica um blur gaussiano ou pixeliza a área de forma irreversível do ponto de vista visual.
Mas atenção a um detalhe que muita gente ignora: redação visual não é o mesmo que redação de metadados. O EXIF da imagem continua intacto. Se você fotografou um documento em casa com GPS ativado, a latitude e longitude originais continuam embutidas no JPEG. Para um dev acostumado a tratar dados sensíveis, isso é um problema crítico.
Antes de compartilhar qualquer coisa, eu sempre recomendo rodar um script rápido para limpar metadados. Em Python, isso leva cinco linhas:
from PIL import Image
from PIL.ExifTags import TAGS
def strip_metadata(path_in, path_out):
img = Image.open(path_in)
exif = img.getexif()
if exif:
for tag_id in exif:
tag = TAGS.get(tag_id, tag_id)
exif[tag_id] = None
img.save(path_out, "JPEG", exif=exif if exif else None)
# Uso
strip_metadata("foto_original.jpg", "foto_limpa.jpg")
Ou, se preferir algo mais agressivo e à prova de falhas, o exiftool no terminal resolve em um comando:
exiftool -all= -overwrite_original imagem.jpg
Por que essa atualização importa para quem desenvolve
Desenvolvedores vivem compartilhando telas. Print de um erro no console, screenshot de uma issue no Jira, foto de um whiteboard com a arquitetura do sistema, registro de uma tela de admin com dados reais de usuário. Cada um desses artefatos é um vetor potencial de vazamento.
Na minha experiência liderando times, três vazamentos recorrentes que vejo até em empresas grandes:
- Token de API visível no canto do print — porque o dev expandiu o JSON no navegador para debugar.
- URL com parâmetros sensíveis — como
?token=abc123ou IDs internos de usuários. - Endereços IP internos e portas — expostos na barra de endereço ou em terminais.
O recurso de redação do Google Fotos reduz a fricção de cobrir esses trechos. Antes, era preciso abrir o Photoshop, o GIMP ou algum editor online. Agora, dá para fazer no celular em segundos, antes mesmo de subir a imagem para o Slack da equipe.
Comparativo prático: caneta de redação do Google Fotos vs alternativas
| Ferramenta | Plataforma | Precisão | Reversível? | Limpa EXIF? |
|---|---|---|---|---|
| Google Fotos (caneta de redação) | Android | Média (seleção por área) | Não | Não |
| Markup Hero | Web | Alta (caixa e laço) | Não | Não |
| GIMP / Photoshop | Desktop | Alta (pixel-precisa) | Não (se salvar flat) | Configurável |
| Redact.photos | Web | Alta | Não | Não |
| OpenCV (custom) | Script | Totalmente programável | Depende da implementação | Sim (você controla) |
Repare no último item: quando você precisa de automação, nenhuma ferramenta visual resolve. Se você recebe 200 screenshots por dia de um pipeline de QA, faz mais sentido detectar e borrar rostos e textos sensíveis automaticamente com um modelo como o EasyOCR combinado com OpenCV.
Na Prática: automação de redação de textos sensíveis
Imagine que você precisa redigir automaticamente números de cartão de crédito ou CPFs em um lote de imagens. Dá para fazer com Python, OpenCV e EasyOCR em menos de 50 linhas:
import cv2
import easyocr
import numpy as np
reader = easyocr.Reader(['pt'])
def redact_sensitive_text(image_path, patterns_regex, output_path):
img = cv2.imread(image_path)
results = reader.readtext(img)
for (bbox, text, prob) in results:
for pattern in patterns_regex:
if pattern.search(text):
# bbox é uma tupla com 4 pontos (top-left, top-right, bottom-right, bottom-left)
top_left = tuple(map(int, bbox[0]))
bottom_right = tuple(map(int, bbox[2]))
# Aplica blur forte na região
roi = img[top_left[1]:bottom_right[1], top_left[0]:bottom_right[0]]
roi = cv2.GaussianBlur(roi, (51, 51), 30)
img[top_left[1]:bottom_right[1], top_left[0]:bottom_right[0]] = roi
break
cv2.imwrite(output_path, img)
# Uso
import re
redact_sensitive_text(
"print_pagamento.png",
[re.compile(r"\d{3}\.\d{3}\.\d{3}-\d{2}"), re.compile(r"\d{4}\s?\d{4}\s?\d{4}\s?\d{4}")],
"print_pagamento_redigido.png"
)
Isso é útil quando você precisa processar imagens em lote — algo que a ferramenta visual do Google Fotos simplesmente não cobre. Mas para o uso do dia a dia, abrir o app e borrar manualmente continua sendo a forma mais rápida.
Gemini Spark + Google Fotos: o que isso significa na prática
A integração com o Gemini Spark é outro ponto que me chamou atenção. Segundo a matéria, o agente agora consegue identificar repetições, multidões e terceiros indesejados nas fotos para auxiliar na curadoria. Para um dev, isso abre uma conversa interessante: estamos caminhando para um modelo onde o assistente de IA tem acesso ao seu rolo de câmera e toma decisões sobre o que manter ou deletar.
Há implicações sérias aqui. Se você usa o celular para fotografar código em monitores, anotações em quadros e documentos confidenciais, deixar um modelo varrer tudo isso traz riscos de privacidade que merecem ser avaliados. Na minha rotina, eu mantenho uma pasta separada no Google Fotos para esse tipo de imagem e nunca ativo a sincronização automática de pastas com dados sensíveis.
Erros Comuns que devs cometem ao compartilhar imagens
Depois de anos revisando PRs, atendendo incidentes e ajudando times em respostas a incidentes de segurança, compilei os deslizes mais frequentes:
- Esquecer de borrar o token no canto da tela. O Slack corporativo tem indexação e busca. Um token exposto vira incidente em horas.
- Achar que borrar visualmente é o suficiente. Como mencionei, EXIF, miniaturas em cache e até o histórico de upload podem vazar a versão original.
- Compartilhar print de erro com stack trace em produção. Stack traces frequentemente revelam paths internos, versões de bibliotecas e, em casos graves, queries SQL com dados.
- Enviar foto de whiteboard com credenciais Wi-Fi visíveis ao fundo. Parece bobo, mas acontece mais do que você imagina em fotos de eventos e meetups.
- Confiar em “modo privado” do navegador. O print pode esconder a URL na barra, mas credenciais em campos visíveis continuam lá.
Uma boa prática que adotei: antes de qualquer print, faço um “audit” visual de 5 segundos. Canto superior direito, canto inferior direito, barra de endereço, terminal visível, dock do sistema. Esses são os quatro pontos onde informações sensíveis mais aparecem sem que a gente perceba.
Wardrobe: a feature que pouca gente entendeu
O Google também anunciou o Wardrobe, que cataloga roupas nas fotos e permite experimentar looks virtualmente. Para o público dev, isso é menos relevante no dia a dia, mas vale notar o aspecto técnico: é mais um caso de uso de visão computacional rodando localmente ou em nuvem híbrida. Fica a expectativa de ver APIs públicas para esse tipo de classificação visual — seria útil para e-commerce e apps de moda.
FAQ — Perguntas que devs realmente fazem
A redação do Google Fotos é segura? Os dados vão para a nuvem?
A edição é feita no dispositivo, mas a imagem editada, se você estiver com backup ativo, vai para o Google Drive/Fotos em nuvem. Para fluxos sensíveis, edite localmente, desative o backup dessa imagem específica e só então compartilhe.
Tem como reverter a redação se eu borrar a região errada?
Não. A redação aplica uma transformação destrutiva nos pixels. Se precisar reverter, só voltando à imagem original — por isso é crítico manter o backup do arquivo bruto em local seguro.
O recurso funciona em iOS?
A nota do Terra menciona disponibilidade para Android. O Google costuma liberar recursos novos primeiro no Android e depois no iOS, então vale esperar algumas semanas para a versão iOS.
Como o Gemini identifica “terceiros indesejados”?
O modelo usa reconhecimento facial e detecção de pessoas para identificar rostos que não correspondem ao usuário principal ou a contatos frequentes. Dependendo das configurações de privacidade, esse processamento pode acontecer no dispositivo ou na nuvem.
Existe API para integrar redação de imagens em sistemas próprios?
O Google Cloud oferece a Cloud Vision API com detecção de texto e objetos, mas não tem um endpoint específico de “redação”. Para fluxos automatizados, recomendo montar a solução com OpenCV + EasyOCR, como mostrei no exemplo de código acima.
Considerações finais
O Google Fotos deu um passo pequeno na interface, mas relevante para o ecossistema. Quando uma ferramenta usada por bilhões adiciona um recurso de privacidade por padrão, ela educa o usuário comum e cria expectativa em todas as outras plataformas. Como dev, eu gostaria de ver isso virar padrão no editor de prints do macOS, no Snipping Tool do Windows e nas ferramentas de screenshot do próprio Android.
Enquanto isso não acontece, mantenha o script de EXIF à mão, faça o audit visual de 5 segundos antes de cada print e use a nova caneta de redação com parcimônia — cobrindo mais do que o necessário. Em segurança, redundância nunca é exagero.
Gostou? Me segue no GitHub e deixa um comentário se tiver dúvida ou quiser aprofundar algum ponto.