INTERCOMS: SmsGatewayProvider + config por escopo (diretório/campanha) cifrada #69

Open
opened 2026-07-27 13:37:45 -03:00 by navigator · 2 comments
Owner

Canal SMS sob INTERCOMS (substitui o F5 avulso; ver #62):

  • SmsGatewayProvider (POST à API do app sms-gate.app: host + api_token)
  • intercoms_provider_config (escopo + canal + provider + segredo cifrado); chave no Secret
  • Cada diretório/campanha cadastra o seu SMSGateway nas configurações
  • Rate-limit 1/semana aplicado na camada; owner ilimitado
Canal SMS sob INTERCOMS (substitui o F5 avulso; ver #62): - [ ] `SmsGatewayProvider` (POST à API do app sms-gate.app: host + api_token) - [ ] `intercoms_provider_config` (escopo + canal + provider + segredo cifrado); chave no Secret - [ ] Cada diretório/campanha cadastra o **seu** SMSGateway nas configurações - [ ] Rate-limit 1/semana aplicado na camada; owner ilimitado
Author
Owner

SmsGatewayProvider entregue no INTERCOMS (commit 38d72f3): MessageSender p/ Channel::Sms, POST ao sms-gate.app (basic auth), config por env (nivel plataforma). Ja consumido pelo F5 (verificacao de telefone). PENDENTE: (1) intercoms_provider_config por escopo (diretorio/campanha) cifrada; (2) rate-limit SMS 1/semana; (3) broadcast SMS.

SmsGatewayProvider entregue no INTERCOMS (commit 38d72f3): MessageSender p/ Channel::Sms, POST ao sms-gate.app (basic auth), config por env (nivel plataforma). Ja consumido pelo F5 (verificacao de telefone). PENDENTE: (1) intercoms_provider_config por escopo (diretorio/campanha) cifrada; (2) rate-limit SMS 1/semana; (3) broadcast SMS.
Author
Owner

#69a entregue (imagem 0.76.0-sms-config, commit 118cc11): config de SMSGateway POR DIRETORIO, credenciais CIFRADAS em repouso (pgcrypto pgp_sym_encrypt, chave INTERCOMS_CONFIG_KEY no Secret via envFrom). migration 0660 intercoms_provider_config; GET/PUT/DELETE /admin/parties/{sigla}/directories/{id}/sms-gateway (gated, GET nunca retorna credenciais); UI form no painel de diretorios. Verificado: rotas 401, cifra roundtrip com a chave real (rollback).

RESTA #69b:

  • broadcast SMS (F3 canal=sms): resolver consentidos COM telefone verificado no municipio -> enviar via SmsGatewayProvider::for_directory (fallback env)
  • rate-limit SMS 1/semana por diretorio/candidato; OWNER ilimitado
  • SmsGatewayProvider::for_directory (decifra a config)
#69a entregue (imagem 0.76.0-sms-config, commit 118cc11): config de SMSGateway POR DIRETORIO, credenciais CIFRADAS em repouso (pgcrypto pgp_sym_encrypt, chave INTERCOMS_CONFIG_KEY no Secret via envFrom). migration 0660 intercoms_provider_config; GET/PUT/DELETE /admin/parties/{sigla}/directories/{id}/sms-gateway (gated, GET nunca retorna credenciais); UI form no painel de diretorios. Verificado: rotas 401, cifra roundtrip com a chave real (rollback). RESTA #69b: - [ ] broadcast SMS (F3 canal=sms): resolver consentidos COM telefone verificado no municipio -> enviar via SmsGatewayProvider::for_directory (fallback env) - [ ] rate-limit SMS 1/semana por diretorio/candidato; OWNER ilimitado - [ ] SmsGatewayProvider::for_directory (decifra a config)
Sign in to join this conversation.
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
brasil/democracia-social#69
No description provided.