Arquitetura
Especificação técnica do sistema de rastreamento Moclick Bridge para fins de auditoria, compliance e revisão de segurança.
Visão Geral
O Moclick Bridge é uma plataforma de atribuição de conversões composta por três camadas: cliente (browser), servidor e storage.
- Cliente: Execução do JavaScript de rastreamento no navegador do usuário final.
- Servidor: Processamento via API REST e backend para gestão de campanhas.
- Storage: Persistência em banco de dados e logs de auditoria.
Componentes
moclick.js
- Tipo: JavaScript vanilla (ES5)
- Tamanho: ~3KB minificado
- Dependências: Zero
- Permissões: Leitura de cookies próprios
Bridge Server
- Plataforma: PHP 8.x + Apache/Nginx
- API: REST
- Cache: Redis/Object Cache (opcional)
- SSL: TLS 1.3 obrigatório
Database
- Engine: MySQL 8.0 / MariaDB 10.6
- Localização: AWS São Paulo
- Backup: Diário automático
Integrações
- Parceiros de mídia: Beacon de audiência
- Plataformas de tracking: Postback de conversão
- Formato: Image pixel (GET requests)
Fluxo de Dados
Inicialização (Page View)
- Script Load:
GET /moclick-{slug}.js - Config Injection: Sistema injeta configuração dinâmica
- API Call:
GET /api/v1/campaign
Rastreamento de Conversão
- Conversion Event:
window.MoclickConversiondefinido - Cookie Read:
moclick_click_idrecuperado - Pixel Fire: Image request para postback configurado
Retenção de Dados
| Campo | Origem | Destino | Retenção |
|---|---|---|---|
campaign_slug |
URL do script | Logs | 30 dias |
click_id |
Cookie / URL | Postback + Logs | 30 dias |
transaction_id |
JavaScript | Postback + Logs | 30 dias |
IP address |
HTTP Header | Logs de segurança | 7 dias |
Deduplicação: Conversões são deduplicadas usando
a chave composta {campaign_slug}:{transaction_id}.
Transações com mesmo ID são ignoradas após primeira ocorrência.
Especificação da API
GET /api/v1/campaign
Retorna configurações da campanha.
GET /api/v1/conversion
Proxy para disparo de conversões. Retorna GIF 1x1 transparente.
CORS Policy
Access-Control-Allow-Origin: *Access-Control-Allow-Credentials: false- Métodos permitidos: GET
Segurança
Proteção contra Injeção
- Entradas sanitizadas com funções nativas
- Parâmetros numéricos validados
- Output escapado para prevenção de XSS
Rate Limiting
- API de campanha: 100 req/min por IP
- Proxy de conversão: 50 req/min por IP
- Bloqueio após 10 erros 4xx sequenciais
Limitações
Por ser um sistema client-side baseado em JavaScript, é tecnicamente possível que usuários modifiquem ou bloqueiem a execução. Isso é aceito como limitação do modelo.
Conformidade
| Requisito | LGPD | Implementação |
|---|---|---|
| Base legal | Art. 7, IX | Legítimo interesse |
| Consentimento | Não necessário | Dados técnicos anônimos |
| Direito ao esquecimento | Art. 18, II | Exclusão em 72h |
| Retenção | Art. 16 | 30 dias padrão |
| Segurança | Art. 46 | HTTPS, TLS 1.3 |
Este documento é revisado a cada alteração significativa de arquitetura ou a cada 6 meses.