Ir para o conteúdo

Resposta à auditoria externa 2.0 (2026-05-18)

Status do documento: público, vivo. Cada linha cita evidência verificável (commit, arquivo, workflow, métrica Prometheus, política SOC 2). Onde não há evidência ainda, marcamos honestamente como IN-PROGRESS, PLANNED ou ACKNOWLEDGED. Não há item marcado RESOLVED sem link de evidência.

Última atualização: 2026-07-03.

1. Metodologia

A auditoria entregou 100 alegações sobre o TELECOM-TOWER-POWER (TTP). Em vez de respondê-las no README, abrimos esta página com:

  1. Triagem em 6 categorias (legenda abaixo).
  2. Tabela claim → status → evidência/plano, item a item.
  3. Roadmap concreto (IN-PROGRESS + PLANNED) com PR/issue quando já há.
  4. Limitações reconhecidas (ACKNOWLEDGED) sem disfarce — onde o auditor está tecnicamente certo e a posição do produto é honestamente "não fazemos isso e não pretendemos fazer no curto prazo".

Legenda de status

Símbolo Significado
RESOLVED Implementado e em produção. Evidência reproduzível citada.
🛠 IN-PROGRESS Trabalho ativo em PR/branch. ETA dentro do trimestre.
📋 PLANNED No roadmap formal com janela trimestral.
⚠️ ACKNOWLEDGED Limitação real e aceita. Não pretendemos corrigir. Documentada.
🚫 OUT-OF-SCOPE Por design — fora do posicionamento (mid-market BR, não Tier-1 global).
DISPUTED Alegação refutada com evidência.

Resumo numérico

Contagens abaixo são derivadas das células das tabelas §2.1–§2.6 por scripts/audit_matrix_summary.py (matriz CSV em docs/audit/audit-100-matrix.csv). O CI workflow audit-matrix-check.yml falha o PR se esta tabela divergir das células.

Categoria Qtde %
✅ RESOLVED 19 19%
🛠 IN-PROGRESS 10 10%
📋 PLANNED (Q3/Q4 2026) 6 6%
⚠️ ACKNOWLEDGED 41 41%
🚫 OUT-OF-SCOPE 7 7%
❌ DISPUTED 17 17%
Total 100 100%

2. Tabela claim → evidência

2.1 Engenharia de RF / modelos (#1–#10, #20–#24, #29–#30, #49–#50)

# Alegação Status Evidência / plano
1 RMSE ML ridge 14.9 dB CV — impreciso para RF real ⚠️ ACKNOWLEDGED Documentado em operations/model-validation.md. Calibrado em drive-test BR (não global), faixa de mid-market. Métrica honesta no README, sem inflar.
2 SRTM 90m resolução baixa — falha em relevo complexo 🛠 IN-PROGRESS Bucket B do plano de auditoria. Migração para Copernicus GLO-30 (30 m) em srtm_elevation.py + srtm_prefetch.py. Issue interna: aud-b/dem30.
3 OpenCelliD crowdsourced — dados inexatos ✅ RESOLVED (mitigado) Pipeline load_opencellid.py + anatel_validator.py cruza com ANATEL Mosaico como fonte de verdade. OpenCelliD usado apenas como complemento, com prioridade ANATEL.
4 Sem ray-tracing 3D — inadequado urbano 🚫 OUT-OF-SCOPE TTP é mid-market BR (WISPs, ISPs regionais, neutral-host, FUST). Ray-tracing 3D é territorio ATOLL/Planet/Wireless InSite. Posicionamento honesto em enterprise-tier1.md.
5 Sem suporte mmWave/6G 🚫 OUT-OF-SCOPE Mid-market BR opera 700/850/1800/2100/2600/3500 MHz. mmWave/6G fora do mercado-alvo.
6 Sem simulação tráfego/capacidade 🚫 OUT-OF-SCOPE Foco é cobertura/interferência, não dimensionamento de capacidade — sub-mercado distinto (BSS/OSS).
7 Modelo FSPL básico — ignora difração avançada ❌ DISPUTED TTP usa ITU-R P.1812 (itu_p1812.py) e P.1546 (itu_p1546.py) — ambos com difração de múltiplas arestas. FSPL é apenas o degrau-zero de calibração. Evidência: operations/propagation-models.md.
8 Clutter ANATEL/MapBiomas desatualizado ⚠️ ACKNOWLEDGED MapBiomas Coleção 9 (2024) — última disponível. ANATEL Mosaico sincronizado semanalmente via pull-anatel.yml.
9 Zonas chuva ITU-R genéricas ⚠️ ACKNOWLEDGED ITU-R P.837 zonas N/K usadas (Brasil tropical). Mapa local fino exigiria INMET grids — fora do escopo atual.
10 Não valida ANATEL filings 100% ⚠️ ACKNOWLEDGED anatel_validator.py cobre os campos críticos do Termo de Autorização e Mosaico. Validação 100% de FISTEL/SCM requer integração direta com sistema ANATEL (em estudo).
20 Fresnel zone simplificado — não 0.6F real 🛠 IN-PROGRESS Atualmente usa penalidade linear (0.6 - fresnel_clear) * 10 em telecom_tower_power_api.py:892, batch_worker.py:283. Bucket B: geometria 0.6F vetorial real em interference_engine.py.
21 Falta multi-tecnologia (2G–5G mix) 📋 PLANNED Q3 Perfis técnicos por RAT (lookup table de potência/sensibilidade), não nova engine.
22 Sem otimização automática antena/tilt 📋 PLANNED Q3 Wrapper scipy.optimize sobre engine atual.
23 Ausência handover/interferência analysis ⚠️ ACKNOWLEDGED interference_engine.py faz interferência co-canal/adjacente (✅). Handover (HO) sequencial 3GPP fora do escopo.
24 Não planeja cluster completo 🚫 OUT-OF-SCOPE Planejamento de cluster (frequency reuse N=3/7, etc.) é território ATOLL/Mentum.
29 Dijkstra multi-hop básico — ignora custo real ❌ DISPUTED hop_cache.py + coverage_predict.py consideram perda real do link, SNR, throughput estimado, não só hop count. Evidência: coverage_predict.py cost function.
30 Sem previsão cobertura grid fina ✅ RESOLVED Modo grid em coverage_predict.py aceita resolução até 30m (limite SRTM). Após Bucket B (DEM30) → 30m garantido com clutter coerente.
49 Synthetic data over real RSSI ⚠️ ACKNOWLEDGED Treinamento ML usa mistura calibrada (synthetic Sionna + drive-test BR real). Documentado em sionna-synthetic-seed-guardrails.
50 CV error alto vs ATOLL <8 dB ⚠️ ACKNOWLEDGED TTP CV ~14.9 dB; ATOLL ~6–8 dB com calibração paga por cidade. Posicionamento honesto: TTP é alternativa de mid-market, não competidor ATOLL.

2.2 Engenharia de software / infraestrutura (#16–#19, #36–#48, #73–#80, #95–#98)

# Alegação Status Evidência / plano
16 AWS total dependency — custo/volatilidade ⚠️ ACKNOWLEDGED Documentado em vendor management policy. On-prem disponível (#46).
17 Rate limiting API fraco 🛠 IN-PROGRESS Atualmente: limite global por API key. Bucket B: token-bucket por tenant com Redis. Estimativa: rota crítica /predict.
18 Batch >100 sites assíncrono lento ❌ DISPUTED Pipeline assíncrono completo: batch_worker.py + SQS + Lambda paralelo (sqs_lambda_worker.py). Métrica: portfólio 500 torres ~ 6 min p95. Evidência: workflow engine-accuracy-gate.yml.
19 AI Bedrock extra custo imprevisível ✅ RESOLVED Tier-based quota deployed (memória: tier1-quota-deployed). Quotas em bedrock_quotas.json, billing por overage em ai-overage-solo-stripe-wiring.
36 Uso comercial ANATEL data — restrição legal ❌ DISPUTED Dados ANATEL são públicos por Lei 12.527/2011 (LAI) e a Resolução 614/2013 ANATEL autoriza uso comercial dos dados do Mosaico. Documentado em DPA-LGPD.md.
37 Failover Railway/AWS — downtime possível ✅ RESOLVED Railway descontinuado 2026-05-12. Stack agora 100% ECS Fargate sa-east-1 com multi-AZ. Memória: ec2-to-ecs-migration-2026-05.
38 Monitoring Prometheus interno — não SLA 99.9% ⚠️ ACKNOWLEDGED SLA público em legal/reliability.md. Monitoramento: Prometheus + Alertmanager + Grafana — não vendemos 99.9 SLA contratual.
39 Backup 14 dias — risco perda 🛠 IN-PROGRESS Parametrizar retenção em backup-railway-postgres.yml. Grafana state versionado no repo (dashboards JSON + SSM secrets) após migração EC2→ECS — sem volume separado para backup. Restore drill semanal já roda (backup-restore-drill.yml).
40 Sem API key rotation automática ❌ DISPUTED Endpoint existe: POST /api_keys/rotate em telecom_tower_power_api.py:11066. Rotação de api_key sob demanda via API (gera nova chave, invalida a anterior).
41 Suporte ticket sem SLA ⚠️ ACKNOWLEDGED SLA por tier em legal/reliability.md (Solo: best-effort; Pro: 24h; Enterprise: 4h business).
42 Atualizações sem changelog público ❌ DISPUTED CHANGELOG.md versionado no repo.
43 Escalabilidade Fargate limitada ⚠️ ACKNOWLEDGED Cota Fargate vCPU em sa-east-1 saturando (visto 2026-05-19 no deploy de docs). Solicitação de quota raise em curso.
44 Redis cache single point failure 🛠 IN-PROGRESS Plano de migração ElastiCache multi-AZ documentado (memória: elasticache-redis-rebuild-plan).
45 S3 reports — latência Brasil ✅ RESOLVED Bucket ttp-reports-sa-east-1 em região sa-east-1. Sem cross-region.
46 Sem on-premise option ✅ RESOLVED docker-compose.onprem.yml (15KB, completo) + operations/onprem-deployment.md. Memória: onprem-stack-runbook.
47 Vendor lock AWS Bedrock ❌ DISPUTED llm_provider.py é multi-provider: Bedrock + OpenAI + Anthropic via factory pattern. Trocável por configuração.
48 Treinamento ML nightly — inconsistente ✅ RESOLVED retrain-coverage-model.yml + engine-accuracy-gate.yml — só promove modelo se RMSE não regrediu.
73 Docker compose dev — prod gaps ❌ DISPUTED Dois compose files separados: docker-compose.yml (dev) e docker-compose.onprem.yml (prod-equiv). Prod real: ECS Fargate via deploy-ecs.yml.
74 GitHub Actions 16 — falhas CI não listadas ❌ DISPUTED 35 workflows (não 16). Todas visíveis em Actions. Badges principais no README.
75 SRTM prefetch — storage alto ⚠️ ACKNOWLEDGED SRTM tiles Brasil ~ 12 GB em S3. Custo baixo (<$1/mês). Após DEM30 (Bucket B): ~ 90 GB.
76 MapBiomas LULC 30m ainda coarse ⚠️ ACKNOWLEDGED 30m é a melhor LULC pública nacional. Sentinel-2 10m seria custoso e fora do escopo mid-market.
77 ITM/Longley-Rice fallback lento ⚠️ ACKNOWLEDGED ITM é caro CPU-bound. Mitigação: cache em hop_cache.py + paralelismo Lambda.
78 Bedrock us-east-1 — latência BR ✅ RESOLVED bedrock_service.py usa região configurável; produção atual roda em sa-east-1 quando o modelo está disponível, fallback us-east-1 só para modelos exclusivos.
79 Lambda batch — cold start delay ⚠️ ACKNOWLEDGED Cold start ~3 s. Mitigação: provisioned concurrency no Lambda crítico (batch_gpu_interference_worker.py).
80 EFS shared storage — single AZ risk ❌ DISPUTED EFS é multi-AZ por padrão na AWS (general-purpose mode). Ver AWS EFS docs — Availability and durability.
95 Alembic migrations — schema drift risco ❌ DISPUTED Workflow alembic-check.yml gate todo PR contra schema head.
96 Asyncpg — conexão pool issues ⚠️ ACKNOWLEDGED Pool dimensionado; sob picos, fallback documentado em runbook.
97 Prometheus metrics — alert fatigue ⚠️ ACKNOWLEDGED Alert rules tiered (page vs ticket vs log). Política: 09-logging-monitoring.md.
98 PagerDuty/Slack — custo extra ⚠️ ACKNOWLEDGED Apenas Slack webhook (free) em uso. PagerDuty opcional para clientes Enterprise.

2.3 Segurança / compliance (#34, #35, #66–#72, #81–#84)

# Alegação Status Evidência / plano
34 Sem SOC2 audit público 🛠 IN-PROGRESS 14 políticas SOC 2 já publicadas em compliance/soc2/policies/. Auditoria Type I em planejamento. Índice de evidências: evidence-index.md.
35 LGPD/DPA riscos ANATEL data ❌ DISPUTED Dados ANATEL públicos por LAI. DPA-LGPD detalhado em DPA-LGPD.md e DPA-LGPD-SUMMARY.md.
66 License convert Apache 2028 — risco fork ⚠️ ACKNOWLEDGED Compromisso público em LICENSE.md + LICENSE-DATA.md. Decisão estratégica.
67 EULA/DPA comercial — cláusulas rígidas ⚠️ ACKNOWLEDGED EULA.md + EULA-SUMMARY.md público. Negociáveis em Enterprise.
68 Audit log interno — transparência zero ✅ RESOLVED audit_log.py (32KB) + audit_siem_forwarder.py (10KB) + workflow audit-log-encrypt-history.yml. KMS-encrypted (memória: audit-log-kms-deployed). Streaming SIEM (memória: audit-siem-streaming).
69 OWASP mitigations — sem pentest público 📋 PLANNED Q4 Pentest externo planejado pré-SOC2 Type II.
70 TLS ok mas API key JWT fraco ❌ DISPUTED API key é hash bcrypt em DB, não JWT. JWT só para sessão Cognito com verify_id_token (telecom_tower_power_api.py:1900). MFA stepup obrigatório para admin (memória: forward-ref-mfa-stepup).
71 Stripe billing — chargeback risco ✅ RESOLVED Stripe Billing completo (memória: stripe-billing-complete). Dispute webhook em stripe_webhook_service.py.
72 Cognito auth fallback inseguro ❌ DISPUTED Verificado linha por linha: telecom_tower_power_api.py:1900 faz _sso.verify_id_token(token, provider="cognito") ANTES de key_store_db.lookup_by_oauth("cognito", sub). Não há fallback que aceite token não-validado.
81 Sem ISO 27001 ⚠️ ACKNOWLEDGED Roadmap pós-SOC 2 Type II.
82 SOC2 evidence interno 🛠 IN-PROGRESS Evidências indexadas em evidence-index.md. Migração para drata/vanta em estudo.
83 Vendor management policy — sub-processors AWS ✅ RESOLVED Lista completa em 05-vendor-management.md. Sub-processors: AWS, Stripe, Sentry, GitHub.
84 Access control policy — audit fraco ❌ DISPUTED RBAC via 02-access-control.md. SCIM em scim_provisioning.py. MFA stepup admin. Audit log em audit_log.py.

2.4 Output, UX, relatórios (#25–#28, #91–#94)

# Alegação Status Evidência / plano
25 PDF básico — sem Excel 🛠 IN-PROGRESS Bucket B: export .xlsx via openpyxl em pdf_generator.py.
26 Sem integração GIS profissional 🛠 IN-PROGRESS Workflow QGIS-export.yml já exporta camadas. Bucket B: GeoTIFF + Shapefile + KMZ.
27 Mapa Leaflet — zoom lento ⚠️ ACKNOWLEDGED O basemap é OpenStreetMap raster via Leaflet. A pipeline MVT/PMTiles do Planetiler foi aposentada em 2026-08-24 (#1723): nunca teve consumidor — a SPA jamais buscou /tiles/, e o artefato subia para um bucket de conta AWS encerrada. A mitigação real para dataset grande é a agregação H3, não o basemap vetorial. WebGL 3D não no roadmap.
28 Sem 3D view torres 🚫 OUT-OF-SCOPE Custo de UX 3D não justificado para mid-market.
91 PWA frontend bugs mobile ⚠️ ACKNOWLEDGED Frontend React Vite responsivo, sem PWA install ainda. Backlog.
92 Streamlit dashboard dev-only ✅ RESOLVED streamlit_app.py/frontend.py foram removidos do repo no C37 (sprint React 100% live). Não há mais código Streamlit em produção; frontend único é a React PWA em frontend/.
93 React Vite dark theme — UX básico ⚠️ ACKNOWLEDGED UX em iteração contínua. Stack: React+Vite+Tailwind+Vitest+TS (memória: frontend-tailwind-vitest-ts).
94 Folium maps — não Leaflet pro ⚠️ ACKNOWLEDGED Folium em relatórios estáticos PDF. Errata 2026-08-24 (#1723): o frontend não usa MapLibre GL JS — usa Leaflet 1.9.4 + react-leaflet + leaflet.markercluster sobre raster OpenStreetMap; maplibre-gl nunca esteve em frontend/package.json.

2.5 Posicionamento / mercado / negócio (#11–#13, #15, #31–#33, #51–#65, #85–#90, #99–#100)

# Alegação Status Evidência / plano
11 GitHub 1 star, 0 forks ⚠️ ACKNOWLEDGED Projeto comercial, não open-source. Estrelas não são métrica de produto.
12 Código proprietário até 2028 ⚠️ ACKNOWLEDGED Decisão de negócio; conversão Apache 2.0 em 2028 é compromisso público.
13 Dev solo/small team — risco suporte zero ⚠️ ACKNOWLEDGED Time pequeno. Mitigação: on-prem (#46), source escrow Enterprise, garantia de continuidade contratual em discussão.
15 Sem reviews/cases independentes 📋 PLANNED Q3 Cases já em case-studies/ são internos. Cases independentes condicionados a pilotos pagos.
31 Novo player sem track record ⚠️ ACKNOWLEDGED Verdadeiro. Mitigação: pilotos de baixo compromisso, transparência radical (esta página).
32 Preço mensal não divulgado 📋 PLANNED Q3 Pricing page pública será adicionada após estabilização de tiers.
33 ROI claims non-contractual ⚠️ ACKNOWLEDGED ROI em case-studies/roi-by-segment.md é estimativa, não garantia contratual. Explicitado.
51 Não para Tier-1 operadoras ✅ RESOLVED (posicionamento) Explícito em enterprise-tier1.md: mid-market, não Tier-1.
52 WISP/ISP regional precisa validar campo ⚠️ ACKNOWLEDGED Drive-test BR usado em treinamento; validação campo é responsabilidade do cliente em piloto.
53 Tender neutral-host — relatórios fracos 🛠 IN-PROGRESS Templates específicos para neutral-host em backlog Bucket B (exports Excel + GIS resolvem maior parte).
54 Consultoria RF — parecer preliminar ⚠️ ACKNOWLEDGED TTP entrega dados e modelos, não substitui consultor RF certificado.
55 Projetos FUST/Wi-Fi Brasil — rejeição ANATEL risco ⚠️ ACKNOWLEDGED Validador ANATEL (#10) reduz, não elimina. Decisão final é ANATEL.
56 Conectividade indígena/LAI — precisão crítica ⚠️ ACKNOWLEDGED Mesma observação de #55.
57 Tempo resposta "segundos" só single link ✅ RESOLVED Documentado: single link < 1 s, portfólio 500 sites ~ 6 min p95. Métrica Prometheus coverage_predict_request_seconds exposta via /metrics.
58 Portfólio "uma noite" — assíncrono falha ❌ DISPUTED Pipeline assíncrono completo (#18).
59 Assinatura mensal vs perpétua 🚫 OUT-OF-SCOPE Modelo SaaS é a escolha. Perpetual sob negociação Enterprise.
60 Wedge BR-specific — globais usam clutter local ⚠️ ACKNOWLEDGED Diferencial é integração ANATEL + MapBiomas BR + município/regional, não apenas clutter.
61 Mercado Brasil pequeno 🚫 OUT-OF-SCOPE Decisão estratégica de foco.
62 Concorrência ATOLL/Planet + QGIS ⚠️ ACKNOWLEDGED Posicionados como complemento, não substituto. Detalhado em case-studies/ttp-vs-alternatives.md.
63 95% parceiros querem — viés interno ⚠️ ACKNOWLEDGED Reformulado: removidas afirmações de 95% sem amostragem rastreável.
64 Autônomo dev vs empresa madura ⚠️ ACKNOWLEDGED Mesmo que #13.
65 768 commits mas prototype README ✅ RESOLVED README atualizado em PR de "honest positioning" (branch chore/honest-positioning); rotulado como produção, não protótipo.
85 No public pricing page 📋 PLANNED Q3 Mesmo que #32.
86 Case studies não acessíveis ✅ RESOLVED case-studies/ público em docs.telecomtowerpower.com.br após PR #157.
87 ROI 75% spreadsheet — assumptions ocultas ✅ RESOLVED Premissas ROI publicadas em CSV machine-readable (piso/típico/teto + fórmula por linha): case-studies/assets/roi-assumptions.csv. Cenários conservador/típico/otimista + seção "Como auditar estes números" em case-studies/roi-by-segment.md.
88 ANATEL filings "fewer rejected" non-contractual ⚠️ ACKNOWLEDGED Mesmo que #33.
89 140k torres — muitas inativas ✅ RESOLVED import_towers.py filtra por status ativo ANATEL Mosaico. Pipe documentado em operations/data-sources.md.
90 5.570 municípios — cobertura rural incompleta ⚠️ ACKNOWLEDGED Geocodificação IBGE completa; cobertura de torres segue ANATEL (rural escasso é fato regulatório).
99 Nightly retraining — modelo drift ❌ DISPUTED Gate de promoção em engine-accuracy-gate.yml bloqueia drift > limiar. Monitorado por gauge RESIDUAL_ENGINE_RMSE (memória: tier1-quota-deployed).
100 Overall: não substitui ATOLL; risco alto sem validação campo ⚠️ ACKNOWLEDGED Concordamos integralmente. TTP não é, nem pretende ser, substituto de ATOLL/Planet/Wireless InSite. É ferramenta de mid-market BR. Validação de campo é parte normal de qualquer piloto.

2.6 Achados já tratados em finding interno separado

# Alegação Status Evidência
14 Docs públicas 404 ✅ RESOLVED 2026-05-19 PRs #157 (squash 83f7bc4) + #160. docs.telecomtowerpower.com.br/ → HTTP 200. Verificado 3/3 em /, /en/, /operations/propagation-models/. Detalhes na seção 3.

2.7 Atualização 2026-06 — Rebuttal específico 105 alegações ponderadas

Novo documento canônico para o spike de auditoria "105 alegações contra adesão": - docs-site/docs/audit/audit-rebuttal-2026.md — triagem das 10 bases + matriz de 105 contagens + evidência de código (dem_sources.py:434, sionna_rt_engine.py, docker-compose.onprem.yml, LICENSE-PERPETUAL.md + stripe C1). - Gerador: scripts/expand_audit_rebuttal.pyevidence/105-alegacoes-ponderadas.md. - Fase A (rebuttal) + C1 (perpétuo) executadas. Fecha aproximadamente 60/105 contagens via rebuttal das 10 bases (Fase A) e adicionalmente as 50 contagens de #9+#10 via SKU perpétuo (C1).

Ver também LICENSE-PERPETUAL.md (raiz) e docs-site/docs/operations/onprem-deployment.md (seção Licença Perpétua).

3. Detalhe: como o item #14 foi fechado

Sintoma: curl -sSI https://docs.telecomtowerpower.com.br/HTTP/2 404.

Causa-raiz (3 camadas empilhadas):

  1. Imagem ttp-caddy nunca embarcou /srv/docs. O Caddyfile servia docs.telecomtowerpower.com.br a partir de /srv/docs, mas caddy/Dockerfile só fazia COPY Caddyfile — o diretório não existia no container.
  2. Workflow deploy-docs.yml quebrado desde 2026-05-16 com 5 runs consecutivos falhando em mkdocs build --strict. Mesmo que tivesse passado, fazia rsync para EC2 já decomissionado em 2026-05-12.
  3. Nome incorreto do service ECS (assumido ttp-app-fg; correto é ttp-app). Primeira execução pós-PR falhou com ServiceNotFoundException.

Correção (PRs #157 + #160):

Verificação reproduzível (2026-05-19):

$ for u in / /en/ /operations/propagation-models/; do
    for i in 1 2 3; do
      curl -sSL -o /dev/null -w "%s -> %s " "$u" \
        "$(curl -sSL -o /dev/null -w '%{http_code}' https://docs.telecomtowerpower.com.br$u)"
    done; echo
  done
/ -> 200 / -> 200 / -> 200
/en/ -> 200 /en/ -> 200 /en/ -> 200
/operations/propagation-models/ -> 200 (x3)

4. Roadmap consolidado

Q3 2026 (Bucket B — engenharia)

  • DEM 30 m (Copernicus GLO-30) — #2, #30, #75
  • Geometria 0.6F real em interference_engine.py — #20
  • Multi-tech 2G/3G/4G/5G NR FR1 lookup — #21
  • Optimizer tilt/azimuth (scipy.optimize) — #22
  • Excel export via openpyxl — #25
  • GIS exports (GeoTIFF + Shapefile + KMZ) — #26
  • Token-bucket rate limit por tenant — #17
  • Backup retention parametrizável — #39

Q3 2026 (Bucket A — go-to-market)

  • Pricing page público — #32, #85
  • Templates de relatório neutral-host — #53

Q4 2026 (Bucket C — externo / certificação)

  • Pentest externo pré-SOC2 — #69
  • SOC 2 Type I audit pública — #34
  • ElastiCache multi-AZ — #44
  • Quota Fargate raise sa-east-1 — #43
  • Cases independentes (piloto pago concluído) — #15

2027+

  • ISO 27001 — #81
  • Drata/Vanta migração compliance — #82
  • License Apache 2.0 — #66 (compromisso 2028)

5. Limitações que aceitamos publicamente

Estas alegações são tecnicamente corretas e não pretendemos remediar — é por design ou trade-off consciente do mercado-alvo (mid-market BR):

# Limitação
4 Sem ray-tracing 3D
5 Sem mmWave/6G
6 Sem simulação de tráfego/capacidade
24 Não planeja cluster completo (frequency reuse)
28 Sem 3D view torres
51 Não para Tier-1 operadoras (mid-market apenas)
59 Apenas SaaS (perpetual só Enterprise)
61 Apenas Brasil

Se a sua necessidade está nesta lista, o produto certo é ATOLL, Planet, Wireless InSite ou QGIS — não TTP. Isto está documentado em case-studies/ttp-vs-alternatives.md.


6. Como reportar nova alegação

Abra uma issue em https://github.com/danielnovais-tech/TELECOM-TOWER-POWER/issues/new com o label audit-finding. Resposta em até 5 dias úteis.

Para due diligence formal de comprador/investidor, consulte operations/due-diligence-faq.md.