Captain
IN-SCOPE
Visão Geral
Seção intitulada “Visão Geral”O Captain é a aplicação de geointeligência da plataforma — mapas interativos com layers de dados, geocodificação e integração com Google BigQuery para analytics.
| Atributo | Valor |
|---|---|
| URL | https://app.profarma.dev/captain/ |
| Path | /captain/* |
| Tipo | SPA + Sub-Hono (API backend) |
| Auth | JWT Cookie + Turnstile |
| Stack Frontend | React + Google Maps + Deck.gl |
| Status | Produção |
Funcionalidades
Seção intitulada “Funcionalidades”Mapas Interativos
Seção intitulada “Mapas Interativos”- Google Maps como base layer
- Deck.gl para visualização de dados em grande escala
- Múltiplos layers configuráveis (farmácias, bairros, municípios, CEPs)
- Clustering automático por zoom level
Geospatial Data
Seção intitulada “Geospatial Data”- Bairros do Rio de Janeiro (seed data)
- Municípios e CEPs
- Layer registry no D1 (configuração dinâmica)
- GeoJSON viewer (Fork-1)
Integração BigQuery
Seção intitulada “Integração BigQuery”- Queries geoespaciais via Google BigQuery
- Service account com escopo limitado
- Dados de farmácias, vendas e distribuição
Endpoints Relevantes
Seção intitulada “Endpoints Relevantes”| Método | Path | Auth | Descrição |
|---|---|---|---|
| * | /captain/* | JWT + Turnstile | Captain app (HTML + assets) |
| * | /captain/fork-1/* | JWT + app auth | Fork-1 GeoJSON viewer |
| * | /captain/api/* | JWT + app auth | Captain API delegada |
Integrações
Seção intitulada “Integrações”| Serviço | Uso | Credenciais |
|---|---|---|
| Google Maps | Mapas base + geocoding | GOOGLE_MAPS_API_KEY |
| Google BigQuery | Analytics geoespacial | BIGQUERY_SERVICE_ACCOUNT_JSON |
Observações para Pentest
Seção intitulada “Observações para Pentest”- Testar acesso a Captain API sem auth
- Verificar vazamento de API keys do Google Maps no frontend
- Testar fork-1 como possível bypass de permissões
- Validar que BigQuery service account tem escopo mínimo