Política GDPR
Última atualização: 17 de outubro de 2026 · v3.4 · Alterações na v3.4: secções 4.3 e 5 — no final do contrato, o cliente recebe uma exportação completa do seu registo de auditoria antes de este ser eliminado, salvo se a recusar por escrito ou não puder ser contactado após tentativas razoáveis; o YARDtwin conserva então os registos de auditoria apenas mediante instrução escrita do cliente, com exceção das cópias de segurança até estas expirarem e do seu próprio registo da entrega.
Regulamentação Aplicável: Regulamento Geral de Proteção de Dados da UE (2016/679), Lei irlandesa de Proteção de Dados de 2018
1. O Nosso Compromisso
A YARDtwin Ltd está comprometida com o pleno cumprimento do Regulamento Geral de Proteção de Dados (GDPR). Na qualidade de responsável pelo tratamento de dados (para os dados dos nossos clientes) e de subcontratante (tratando dados operacionais em nome dos nossos clientes), implementamos medidas técnicas e organizativas adequadas para proteger os dados pessoais em todas as fases.
2. Funções e Responsabilidades
3. Acordo de Processamento de Dados (DPA)
Todos os clientes podem consultar e aceitar o nosso Acordo de Processamento de Dados através da página DPA. Os clientes com um plano pago podem pedir o Acordo de Processamento de Dados para revisão a dpo@yardtwin.com; a edição com contrassinatura é emitida assim que o registo da empresa estiver concluído.
4. Medidas Técnicas (Art. 32 GDPR)
Todos os dados encriptados em trânsito (TLS 1.2+). Palavras-passe cifradas com bcrypt (12 rondas). O PostgreSQL Flexible Server utiliza encriptação de dados transparente em repouso. Azure Blob Storage encriptado em repouso. As imagens de cartas de condução e as assinaturas são encriptadas em repouso com AES-256 pelo Azure Storage e pelo Azure Database for PostgreSQL (chaves geridas pela Microsoft), e o acesso às mesmas é limitado por função e organização. Tokens JWT assinados criptograficamente (HS256). Segredos geridos via Azure Key Vault acedido pela identidade gerida do App Service — sem segredos em código, ficheiros de ambiente ou imagens de contentor.
Controlo de acesso baseado em funções (RBAC) em rotas autenticadas, com âmbito de tenant aplicado do lado do servidor. O isolamento de tenant é testado automaticamente antes de cada release: a varredura entre tenants da release gate chama a API como uma organização com os IDs de registo de outra organização, e a release é bloqueada se for possível ler ou alterar quaisquer dados dessa organização. Início de sessão único (SAML 2.0, Google, Microsoft); MFA com palavra-passe de utilização única baseada em tempo, obrigatório para administradores da plataforma e disponível para todos os utilizadores.
Registo de auditoria completo das ações dos utilizadores: identidade do utilizador, timestamp, endereço IP, verbo de ação, entidade afetada, valores antigos e novos. As ações relevantes para GMP são sinalizadas separadamente (is_gmp_relevant=1). Com deteção de adulteração e somente de acréscimo, aplicado na base de dados através de uma cadeia de hashes; as entradas relevantes para GMP são conservadas durante pelo menos 7 anos enquanto o contrato de serviço estiver em vigor, e as restantes entradas de auditoria durante 365 dias. Pseudonimizadas, mas não eliminadas, em caso de pedido de apagamento ao abrigo do Art. 17 (exceção por obrigação legal ao abrigo do Art. 17(3)(b)). No final do contrato, o cliente recebe uma exportação completa do seu registo de auditoria antes de este ser eliminado, salvo se a recusar por escrito ou não puder ser contactado após tentativas razoáveis; o YARDtwin só o conserva por mais tempo mediante instrução escrita do cliente, com exceção das cópias de segurança até estas expirarem e do seu próprio registo da entrega.
Alojado no Microsoft Azure (Sweden Central + Norway East, EEE). App Service em contentores implementado via Azure Container Registry com slot de staging e troca. O tráfego chega à aplicação através do Azure Front Door com uma Web Application Firewall em modo de Prevenção; a base de dados aceita ligações apenas de serviços Azure e de uma lista de permissões de IP de administrador. Application Insights com alerta de desvio de esquema para erros do Postgres "column / relation does not exist" (janela de 15 minutos). A sonda de ponta a ponta /health/db-write verifica que a aplicação consegue escrever e ler na base de dados a cada implementação.
Recolhemos apenas os dados necessários para a prestação do serviço. Os campos opcionais do condutor (telefone, e-mail) podem ser deixados em branco quando o processo do cliente o permite. O pessoal de portaria pode tirar uma fotografia do rosto do condutor como evidência de portaria. Quando um site ativa a comparação facial por IA, o nosso fornecedor de IA (Anthropic) compara essa fotografia individualmente com a fotografia da carta de condução ou com a fotografia armazenada do condutor, para ajudar o pessoal a confirmar a identidade do condutor. O resultado é uma recomendação: o pessoal de portaria decide e pode admitir um condutor que a comparação não confirmou, indicando um motivo. Cada comparação é registada nos nossos servidores com o respetivo resultado. Quando a comparação facial está desativada (predefinição), nenhuma fotografia do rosto é enviada ao fornecedor de IA e o pessoal compara o condutor com a fotografia da carta de condução; as imagens da carta de condução continuam a ser lidas por IA quando a leitura por IA está ativa. O YARDtwin não armazena modelos faciais e não realiza identificação de um-para-muitos. A newsletter recolhe apenas o e-mail e, opcionalmente, o nome da empresa.
Cada pull request deve passar por npm audit (vulnerabilidades de dependências), Semgrep (análise estática) e gitleaks (análise de segredos) antes de poder ser integrado, com uma análise de imagem de contentor Trivy como verificação consultiva; estas verificações também são executadas a cada push para master e diariamente, juntamente com uma análise de base OWASP ZAP consultiva (testes dinâmicos) do site de produção. Os alertas do Dependabot reportam vulnerabilidades recém-divulgadas nas nossas dependências.
5. Direitos dos Titulares de Dados (Capítulo III GDPR)
Facilitamos o exercício de todos os direitos dos titulares de dados:
POST /api/v1/dsar/erase/by-email que, mediante pedido verificado, anonimiza as contas de utilizador próprias da pessoa nas contas de cliente selecionadas e elimina as respetivas sessões, tokens, notificações, convites pendentes, registos de newsletter e de inscrição e avatar próprio. Os registos operacionais detidos pelo cliente (reservas, registos de portaria e de visitas, lista de condutores, contactos) são registos do cliente enquanto responsável pelo tratamento e são listados para que o cliente atue sobre eles. O registo de auditoria mantém uma referência de autor anonimizada para integridade GMP; os dados de auditoria relevantes para GMP são conservados durante pelo menos 7 anos enquanto o contrato de serviço vigorar, ao abrigo da exceção por obrigação legal — Art. 17(3)(b), e no final do contrato são exportados para o cliente (salvo se este recusar por escrito ou não puder ser contactado após tentativas razoáveis) e depois eliminados.6. Gestão de Consentimento
Newsletter: É necessário consentimento explícito de opt-in. A data/hora do consentimento e o IP são registados. Link de cancelamento de subscrição em todas as comunicações. O consentimento pode ser retirado a qualquer momento sem afetar o acesso ao serviço.
Termos de Serviço: A criação de conta constitui aceitação dos Termos de Serviço (base contratual). Os utilizadores são informados durante o registo sobre o tratamento de dados.
Cookies: Um banner de consentimento de cookies é apresentado na primeira visita, em conformidade com a Diretiva ePrivacy. Os utilizadores podem escolher apenas cookies essenciais ou todos os cookies. As preferências são guardadas localmente e podem ser alteradas a qualquer momento.
7. Procedimentos em Caso de Violação de Dados (Art. 33-34)
Deteção Automática: Um worker de monitorização de violações verifica o registo de auditoria a cada 5 minutos e regista as três primeiras anomalias abaixo como potenciais incidentes; as outras três são alertas de monitorização Azure separados:
- ≥10 tentativas de login falhadas para um endereço de e-mail em 1 hora
- ≥5 IPs de origem distintos direcionados para um e-mail em 24 horas
- Login bem-sucedido a partir de um IP de origem não visto anteriormente para esse utilizador nos últimos 30 dias
- Mais de 10 erros de servidor (HTTP 5xx) numa janela de 5 minutos
- Erros Postgres "column / relation does not exist" (desvio de esquema, App Insights)
- O teste de disponibilidade do website (executado a cada 10 minutos) falha ou responde lentamente
Registo de Violações: Cada anomalia detetada é registada na tabela breach_register com uma máquina de estados (detetado → em investigação → confirmado → notificado → encerrado), gravidade, âmbito, titulares de dados afetados, contagem decrescente do prazo da DPC e histórico de auditoria. Visível no painel "Registo de Violações" do SuperAdmin.
Encaminhamento de Alertas: Os eventos de deteção são encaminhados para o Azure Monitor Action Group yardtwin-breach-actions, que envia e-mail para o contacto do fundador em admin@yardtwin.com. Os eventos de desvio de esquema utilizam o grupo yardtwin-schema-drift-actions existente.
Avaliação: No prazo de 24 horas após a deteção, a equipa técnica realiza a triagem do incidente no painel do registo de violações: âmbito, titulares de dados afetados, gravidade (critério do Art. 33°(1) "risco para os direitos e liberdades") e causa raiz.
Notificação à DPC (Art. 33.º): No prazo de 72 horas após tomar conhecimento de uma violação que represente um risco. O painel do registo de violações apresenta um temporizador de contagem decrescente de 72 horas assim que o incidente é marcado como confirmado.
Notificação aos Titulares dos Dados (Art. 34°): Sem demora injustificada, caso a violação represente um elevado risco para os direitos e liberdades dos titulares.
Notificação aos Clientes: Os administradores de tenant afetados são notificados sem atraso indevido e, em qualquer caso, no prazo de 48 horas após tomarmos conhecimento de uma violação de dados pessoais que afete os dados do seu tenant; uma notificação inicial é enviada no prazo de 24 horas após qualquer incidente de segurança confirmado que afete esses dados.
Documentação: Cada entrada no registo de violações é conservada, sem eliminação automática, independentemente de ter sido necessária notificação externa.
8. Subprocessadores
| Subprocessador | Finalidade | Localização | Salvaguardas |
|---|---|---|---|
| Microsoft Azure | Alojamento, base de dados e armazenamento de ficheiros | EEE — Sweden Central e Norway East (cópia geo-redundante dos ficheiros carregados em Norway West) | Microsoft Products and Services DPA; os dados permanecem no EEE |
| Anthropic | Leitura por IA de carteiras de motorista e documentos (ativada por padrão; um administrador do site pode desativá-la), comparação individual da foto do motorista na portaria com a carteira ou foto armazenada do motorista (desativada por padrão; um administrador do site pode ativá-la ou desativá-la) e o assistente integrado ao aplicativo | EUA | Cláusulas Contratuais Padrão e uma avaliação de impacto de transferência (não certificado ao abrigo do EU-US Data Privacy Framework); os dados da API não são utilizados para treino de modelos e são eliminados no prazo de 30 dias ao abrigo dos termos comerciais padrão da Anthropic |
| Resend | E-mail transacional | EUA | Cláusulas Contratuais Padrão (a sua recertificação ao abrigo do EU-US Data Privacy Framework está em análise) |
| Stripe | Dados de contacto de faturação e pagamento (o YARDtwin não armazena números de cartão) | UE / EUA | Standard Contractual Clauses; PCI DSS Level 1 |
| Twilio | Notificações por SMS e WhatsApp (apenas se o cliente as ativar) | EUA | Standard Contractual Clauses |
| Google e Microsoft | Dados de identidade de início de sessão (apenas se o cliente utilizar essas opções de início de sessão) | UE / EUA | Standard Contractual Clauses / EU-US Data Privacy Framework |
| ElevenLabs | Texto-para-voz opcional: vocaliza as respostas do assistente na aplicação, que podem conter detalhes operacionais como matrículas de veículos, e a voz em páginas públicas | EUA | EU-US Data Privacy Framework + Cláusulas Contratuais Padrão |
Os clientes concedem autorização geral por escrito para os subprocessadores listados acima. Damos pelo menos 30 dias de aviso prévio relativamente a qualquer novo subprocessador; um cliente pode objetar por motivos razoáveis e, caso a objeção não possa ser resolvida, terminar o serviço afetado sem penalização.
Serviços exclusivos do website (sem dados operacionais de clientes)
Estes funcionam apenas no website público. Não recebem dados operacionais de clientes e não são subprocessadores dos mesmos; os que definem cookies carregam apenas com consentimento.
| Fornecedor | Finalidade | Localização | Salvaguarda de transferência |
|---|---|---|---|
| LinkedIn Insight Tag | Medição de marketing em páginas públicas — carrega apenas após consentimento de cookies de marketing, nunca dentro da aplicação nem para utilizadores autenticados | UE / EUA | Consentimento; LinkedIn DPA com Standard Contractual Clauses |
9. Avaliação de Impacto sobre a Proteção de Dados (AIPD)
Os clientes, enquanto responsáveis pelo tratamento, decidem se o seu tratamento no YARDtwin necessita de uma AIPD. Um pacote de subsídio para AIPD está disponível para os clientes realizarem a sua própria avaliação. O YARDtwin trata principalmente dados operacionais empresariais (agendamentos de cais, nomes de transportadoras, matrículas de veículos) em vez de dados pessoais sensíveis.
10. Proteção de Dados desde a Conceção e por Defeito (Art. 25)
Desde a Conceção: Arquitetura multi-tenant com isolamento obrigatório entre inquilinos. RBAC integrado em todos os endpoints da API. Palavras-passe nunca armazenadas em texto simples. Recolha mínima de dados em cada etapa.
Por Defeito: Novas contas têm permissões mínimas. Os campos opcionais são verdadeiramente opcionais. A newsletter requer opt-in ativo. A visibilidade dos dados é restringida por função.
11. Estado de Conformidade e Melhoria Contínua
Resolvido (a partir de maio de 2026)
- ✓ Migração para PostgreSQL Flexible Server (gerido pelo Azure, encriptação transparente de dados em repouso, recuperação pontual de 7 dias)
- ✓ Migração para Microsoft Azure (Suécia Central + Noruega Leste, EEE) com App Service + ACR + Key Vault
- ✓ Gestão de segredos via Azure Key Vault (sem segredos em .env ou imagens de contentor; acesso por identidade gerida)
- ✓ Exportação automática DSAR (POST /api/v1/dsar/export/by-email — Art. 15 / 20)
- ✓ Eliminação automática DSAR (POST /api/v1/dsar/erase/by-email — Art. 17 com conformidade de retenção para auditoria)
- ✓ Banner de cookies v2 com quatro categorias (essenciais / funcionais / análise / marketing) e opções Rejeitar / Personalizar / Aceitar tudo
- ✓ Auditoria de isolamento entre inquilinos varredura entre tenants automatizada na release gate, antes de cada release: chama a API como uma organização com os IDs de registo de outra organização, e a release é bloqueada se for possível ler ou alterar quaisquer dados dessa organização
- ✓ Pipeline de segurança CI/CD: npm audit + Trivy + Semgrep + gitleaks + ZAP DAST
- ✓ Alertas de desvio de esquema no Application Insights (janela de 15 minutos)
- ✓ Sonda de ponta a ponta /health/db-write verificando a capacidade de escrita na BD em cada implementação
- ✓ Grupo de Ação de desvio de esquema no App Insights envia e-mail para o contacto do fundador em admin@yardtwin.com em erros do Postgres "column / relation does not exist"
- ✓ Imagens de cartas de condução e assinaturas (signature_data) protegidas por encriptação AES-256 em repouso no Azure Storage e no Azure Database for PostgreSQL (chaves geridas pela Microsoft), com acesso limitado por função e organização
- ✓ Eliminação automática de dados por retenção (configurável por site; worker de limpeza de dados pessoais)
- ✓ Período de teste de 30 dias harmonizado em todo o lado (registo, site de marketing, termos, e-mails)
- ✓ Teste de regressão end-to-end com 5.000 camiões cobrindo todos os endpoints do Administrador de Site com verificações de fidelidade da vista do pátio em cada transição (53.650/53.651 = 100%)
- ✓ Inventário de dados e Registos das Atividades de Tratamento (Art. 30) publicados
- ✓ Registo de subprocessadores mantido e revisto anualmente
- ✓ Privacidade desde a conceção e por defeito documentada (Art. 25)
- ✓ Web Application Firewall (Azure Front Door WAF, Prevention mode) que protege o yardtwin.com com regras personalizadas de limitação de taxa nos endpoints de autenticação e de recuperação de conta, além de mitigação de DDoS L7 ao nível da plataforma. Não está associado nenhum conjunto de regras OWASP gerido; isso requer o escalão Front Door Premium
- ✓ Deteção automática de violações — worker de monitorização de violações (picos de falhas de login, tentativas de início de sessão numa conta a partir de vários endereços IP, inícios de sessão bem-sucedidos a partir de um endereço IP não registado para esse utilizador nos últimos 30 dias), alerta de pico de 5xx, alerta de desvio de esquema e teste de disponibilidade do website
- ✓ Registo de violações tabela persistente com máquina de estados completa e contagem decrescente do prazo DPC, visível no painel SuperAdmin
- ✓ Grupo de Ação
yardtwin-breach-actionsenvia e-mail para o contacto do fundador em admin@yardtwin.com em cada deteção
Melhorias Pendentes
Ainda não foi realizado nenhum teste de penetração por terceiros; um teste independente está planeado antes da entrada em produção do primeiro cliente empresarial. Uma auditoria interna de código white-box foi concluída em outubro de 2026 e todas as descobertas Críticas foram corrigidas. Prioridade: Alta. Objetivo: antes da entrada em produção do primeiro cliente empresarial.
A YARDtwin Ltd não designou um Encarregado de Proteção de Dados estatutário: nenhuma das condições do Artigo 37.º, n.º 1 (autoridade pública; atividades principais que exijam monitorização regular e sistemática em grande escala; atividades principais que consistam no tratamento em grande escala de categorias especiais de dados) se aplica ao seu tratamento. A responsabilidade pela proteção de dados recai sobre uma pessoa identificada no interior da YARDtwin Ltd, contactável através da caixa de correio de função dpo@yardtwin.com, publicada nesta política, na política de privacidade, no DPA e no Trust Center. Publicamos o endereço de contacto em vez do nome da pessoa singular. Uma designação formal, com notificação à Comissão de Proteção de Dados, será efetuada caso um contrato com cliente ou uma alteração no tratamento o exija. Estado: decidido em 26 de setembro de 2026. Revisto em cada revisão de gestão do ISMS.
Programa de certificação em curso; auditoria de certificação planeada para o 1.º trimestre de 2027; certificado previsto para o 1.º trimestre de 2027. Prioridade: Média. Objetivo: 1.º trimestre de 2027.
Não detida. Disponível mediante pedido após certificação ISO 27001. Prioridade: Baixa. Objetivo: mediante pedido do cliente, após ISO 27001.
Os ficheiros carregados são geo-redundantes (Norway East → Norway West) desde outubro de 2026; a alta disponibilidade da base de dados está planeada antes do primeiro go-live empresarial. Até lá, uma falha na base de dados é recuperada por restauro pontual (janela de 7 dias). Prioridade: Média. Objetivo: antes do primeiro go-live empresarial.
As Cláusulas Contratuais Padrão estão em vigor para todas as transferências fora do EEE; as avaliações de impacto de transferências estão a ser concluídas (objetivo: novembro de 2026). Prioridade: Média. Objetivo: novembro de 2026.
Um programa privado de recompensa por erros (HackerOne / Intigriti) está planeado após o segundo teste de intrusão externo sem constatações, proporcionando cobertura externa contínua entre testes anuais. Prioridade: Baixa. Objetivo: 2027.
12. Contacto e Proteção de Dados
Contacto de proteção de dados: dpo@yardtwin.com — uma caixa de correio de função monitorizada pela pessoa responsável pela proteção de dados na YARDtwin Ltd (ver 11.2). Publicamos o endereço de contacto em vez do nome de uma pessoa singular.
Questões gerais: admin@yardtwin.com
Pedidos de Titulares de Dados: Submeter através do nosso Portal DSAR
Acordo de Processamento de Dados: Rever e aceitar em /dpa
Autoridade de Controlo: Comissão de Proteção de Dados (DPC), Irlanda · www.dataprotection.ie · +353 (0)761 104 800