Gingerbread
Início/Segurança
● Página revista pela última vez a 14/04/2026

A tua contabilidade. Bem trancada.

Sem teatro de SOC 2. Sem "encriptação ao nível de um banco" em letras a 60 pontos. Esta página explica, por palavras simples, o que fazemos mesmo com os teus dados, onde vivem, e aquilo a que ainda não chegámos.

O que fazemosO que não fazemos (ainda)Reportar uma vulnerabilidade →
ledger.vault · administradorTRANCADO
Trânsito
TLS 1.3, HSTS preload
Em repouso
AES-256, chaves por tenant
Backups
Encriptado, 2 regiões, diariamente
Último simulacro
Restauro com sucesso · 9/04
Zeroviolações, alguma vez
Desde novembro de 2018.
4 hAlvo de RTO
Tempo de recuperação. Testado todos os meses.
99,94%uptime em 2025
Incluindo a indisponibilidade da região de Frankfurt.
< 24 hresposta a vuln
Do relatório triado até ao patch em testes.
O que fazemos mesmo

Seis coisas, bem feitas.

Em vez de uma parede de logótipos, aqui está o que acontece aos teus dados desde o momento em que saem do teu browser até ao momento em que os restauramos às 3 da manhã de uma terça-feira.

01
Em trânsito

Encriptado entre o teu browser e o nosso.

Tudo o que sai da tua máquina viaja sobre TLS 1.3. Estamos na lista de HSTS preload, por isso até um bookmark que escreveste em 2019 é promovido para https antes de a ligação sequer abrir. Os certificados rodam automaticamente de 60 em 60 dias através do Let's Encrypt. As nossas cipher suites são as que a Mozilla classifica de 'modern', e cortámos o TLS 1.1 em 2023.

TLS 1.3 em todos os endpoints, TLS 1.2 como mínimo
HSTS preload, max-age de 2 anos
Certificate Transparency monitorizado
HTTP/2 + HTTP/3 na edge
02
Em repouso

Encriptado em disco. Chaves por tenant.

As tuas faturas, clientes, anexos, e entradas de tempo são encriptadas com AES-256 antes de tocarem na base de dados. Cada workspace tem a sua própria chave, derivada de uma chave-mestra que vive no AWS KMS. Se uma imagem de disco vazasse, o atacante ficava com ciphertext e um encolher de ombros.

AES-256-GCM, chaves por workspace
Chave-mestra no AWS KMS, nunca exportada
Backups da base de dados encriptados com chaves separadas
Anexos guardados em S3, SSE-KMS
03
Quem pode ver os teus dados

Bruno. De propósito, quando pedires.

Três pessoas têm acesso a produção: Bruno, Marta (ops), e Carl (on-call de backup). Cada acesso fica registado, assinado, e enviado por email aos outros dois. Se abrires um ticket de suporte e for preciso olharmos para o teu workspace, pedimos primeiro, no ticket, por escrito. Podes dizer que não. A maioria dos problemas não precisa mesmo que olhemos.

3 pessoas com nome, sem contratados
2FA com chave de hardware obrigatória em todas as ferramentas
Cada acesso a produção fica registado num audit store append-only
Acesso ao workspace exige o teu consentimento explícito no ticket
04
Backups e recuperação

Diários, encriptados, em duas regiões.

As bases de dados fazem snapshot de 6 em 6 horas, o armazenamento de ficheiros replica continuamente. Os backups vão parar a us-east-1 e eu-central-1, encriptados com chaves que não são usadas para mais nada. Na segunda terça-feira de cada mês restauramos a base de dados de produção num ambiente vazio a partir de cold storage. Se não arrancar, não saímos de lá até arrancar.

Snapshots da base de dados de 6 em 6 horas, retenção de 90 dias
Replicação contínua entre regiões em S3
Simulacro de restauro mensal, registado publicamente
Recuperação point-in-time ao segundo, últimos 7 dias
05
Onde corre

Hetzner para computação. AWS para armazenamento.

O Gingerbread (alojado) corre em servidores dedicados da Hetzner em Falkenstein e Helsinki. Escolhemos a Hetzner porque é barata, rápida, e gerida por engenheiros e não por MBAs. O armazenamento a longo prazo, os backups, e a camada de secrets vivem na AWS, porque há coisas que queremos aborrecidamente conservadoras. A residência dos dados é UE por defeito, ou EUA se escolheres essa região no registo.

Hetzner (DE, FI) computação principal
AWS S3 + KMS para armazenamento e secrets
Sem analytics de terceiros nas páginas autenticadas
Escolha de região no registo, migrável depois
06
O próprio código

Equipa pequena, dependências sossegadas.

O Gingerbread tem cerca de 54k linhas de PHP e 18k linhas de TypeScript. Dependemos de 31 pacotes npm diretos e 22 pacotes composer. Lemos cada changelog antes de subir uma versão. O Dependabot abre PRs, nós fazemos merge, o CI corre um Semgrep, o Playwright volta a correr os testes dos fluxos críticos, e fazemos release.

Dependências fixas, revistas semanalmente
Semgrep em cada PR, bloqueante
Playwright cobre os 40 fluxos mais usados
Sem trackers externos, pixels, ou session replay
A ser honesto

O que ainda não fizemos.

Todas as outras páginas de segurança fingem que isto não existe. Preferimos que saibas à partida, para decidires.

Sem relatório SOC 2.

A chegar no final de 2026

Gastaríamos $50k por ano para que três empregados de um banco grande o pudessem ignorar. Quando chegarmos a 500 clientes empresariais, começamos o Type I. Se precisares da carta entretanto, manda um email. Trabalhamos contigo.

Sem BAA do HIPAA.

Não planeado

O Gingerbread não foi feito para dados de saúde protegidos. Se és terapeuta a faturar sessões, tudo bem. Se estás a guardar notas de diagnóstico em campos de cliente, por favor não o faças.

Ainda sem SSO/SAML.

Em staging

O 2FA normal funciona. O SAML está construído e parado em staging. Sai quando encontrarmos cinco clientes que o queiram mesmo. Se és um deles, responde a qualquer email.

Ainda sem bug bounty.

Ad-hoc por agora

Pagamos aos investigadores caso a caso através do formulário de report. Um programa a sério está na lista quando tivermos folga para triar. Em 2025 pagámos $8.400 em 11 relatórios.

Histórico de incidentes

O registo todo. Sem cortes.

Cada incidente, simulacro, e patch de dependência que vale a pena mencionar desde que começámos a publicar este registo em março de 2024.

Subscreve o feed (em breve)
SimulacroSimulacro de restauro mensal
9/04/2026

Base de dados de produção restaurada num ambiente vazio a partir de cold storage. 2h 14m, arranque limpo.

PatchCVE-2026-0094 em libpng
18/02/2026

Dependência atualizada 6 horas depois do advisory. Sem exposição no nosso uploader, corrigido preventivamente.

IncidenteIndisponibilidade na região de Frankfurt, 47 min
3/01/2026

Oscilação na rede da Hetzner. O tráfego fez failover para Helsinki automaticamente. Downtime total visível para o utilizador: 47 minutos nos workspaces da UE.

DivulgaçãoXSS refletido na pré-visualização de faturas
21/11/2025

Reportado pelo formulário, triado em 40 min, corrigido em 18 horas. $1.200 pagos ao investigador. Postmortem publicado.

PatchAuditoria de dependências, trimestre limpo
6/08/2025

Revisão completa de dependências, 4 dependências transitivas removidas, sem achados.

SimulacroSimulacro de rotação de chaves
14/03/2025

Rodámos a chave-mestra por workspace. Impacto zero para clientes, ~3 min de tail latency elevada.

Tratamento dos dados

O que guardamos, onde, e por quanto tempo.

Sem dark patterns. Se quiseres apagar alguma linha, manda-nos um email e confirmamos por escrito assim que desaparecer.

O quêOnde viveGuardado porQuem vê
Dados do negócio (faturas, clientes, tarefas, tempo)Encriptado na DB do teu workspaceAté apagares, ou 30 dias depois do fecho da contaTu. A tua equipa. Nós só com consentimento no ticket.
AnexosS3, SSE-KMS, prefixo de bucket por workspaceIgual aos dados do negócioIgual. Nunca indexado, analisado, ou usado para ML.
Dados de pagamentoNunca toca nos nossos servidores. A Stripe tokeniza no browser.Política da Stripe. Não nossa.Vemos os últimos quatro dígitos, a marca, e a validade. Mais nada.
Emails e tickets de suporteFastmail (UE), separado da DB do produto3 anos, depois arquivadoBruno, Marta. Apagado ao fim de 90 dias, salvo se necessário.
Logs de login e de sessãoDB do produto, IP com hash, TTL de 90 dias90 diasPodes ver a tua em Definições → Segurança.
Analytics webCorremos o Plausible só no site de marketing.Agregado, 24 mesesSem cookies, sem fingerprinting, sem tracking nas páginas autenticadas.
Exporta quando quiseres. Definições → Dados → Exportar. Recebes um zip com JSON, CSV, e todos os anexos. Portátil por desenho.
Política de divulgação

Encontraste alguma coisa? Escreve-nos.

Dá-nos uma janela razoável (normalmente 90 dias) antes de tornares público. Em troca recebes uma resposta humana num dia útil, crédito no changelog, e um pagamento se a descoberta for relevante.

security@gingerbreadapp.com
para qualquer coisa sensível
Fingerprint da chave PGP
4A92 FB01 8C37 6D2E · F0EA 1C8B 9D5A 7744
Últimos pagamentos
1200 US$ · 800 US$ · 450 US$ · 2400 US$ · 500 US$
Âmbito
gingerbreadapp.com + *.gingerbreadapp.com, sem DoS, sem engenharia social
Formulário rápido

Reportar uma vulnerabilidade

Por favor não testes contra contas reais de clientes. Manda email para security@gingerbreadapp.com e arranjamos-te um workspace de teste.
Ainda estamos a terminar o pipeline de submissão deste formulário. Até lá, manda email diretamente para security@gingerbreadapp.com.

Se a tua contabilidade é importante, aloja-a tu.

A versão auto-alojada corre no teu servidor, com os teus backups, por trás da tua firewall. Se for preciso uma equipa de segurança aprovar, normalmente é esta a resposta fácil.

Auto-alojado, $199Pergunta o que quiseres