Ctrl K
ComunidadGuías…
GITHUB · ANALIZADO

open-letter

Plataforma autoalojada para gestionar cartas abiertas y peticiones con firmas verificadas por correo electrónico. Utiliza SQLite encriptado, React y Bun, permitiendo configurar campañas individuales sin tocar el código fuente.

Ficha actualizada 23 sept 2026, 19:14 · upstream 23 sept 2026, 19:08 · release sin release detectada

Ver códigoProblemas y ayudaRepositorio ↗
00

Qué es open-letter

Descripción editorial construida a partir del repositorio, su documentación y sus señales de mantenimiento.

Open-letter es una plataforma autoalojada diseñada para recopilar firmas en cartas abiertas y peticiones con un enfoque en la seguridad y la privacidad. Permite a los usuarios firmar, confirmar su identidad mediante correo electrónico y aparecer en una lista pública con contadores de objetivos en tiempo real. La arquitectura se basa en Bun para el servidor, React 18 para el frontend y utiliza SQLite con SQLCipher para garantizar que los datos estén encriptados en reposo, incluyendo copias de seguridad cifradas.

El sistema incluye un panel de administración robusto para editar plantillas de correo, programar campañas de newsletter y establecer hitos dinámicamente. Soporta múltiples proveedores de email como Resend o servidores SMTP estándar con colas de envío duraderas. La configuración es modular, permitiendo añadir características opcionales como mapas por estado, campos ocupacionales o registro para eventos presenciales sin necesidad de modificar el código fuente.

Está orientada al cumplimiento normativo, especialmente en materia de protección de datos (GDPR), con periodos de retención configurables y políticas de privacidad automáticas. Es económica de operar, capaz de servir hasta 100.000 firmantes con recursos mínimos como 0.5 vCPU y 512 MB de RAM, lo que la hace viable para despliegues en VPS pequeños o infraestructuras locales.

CASOS DE USO
  • Campañas de activismo político o social
  • Recolección de firmas para peticiones ciudadanas
  • Eventos comunitarios con registro de asistencia
  • Gestión de transparencia institucional
  • Peticiones internas de empresas (empleados)
  • Actividad de ONGs sin presupuesto técnico alto
PUNTOS DESTACADOS
  • Firma verificada por correo electrónico con doble opt-in
  • Base de datos SQLite encriptada con SQLCipher y backups cifrados
  • Bajo consumo de recursos (0.5 vCPU/512 MB RAM suficiente para 100k firmas)
  • Panel de administración completo sin tocar código fuente
  • Cumplimiento GDPR con retención configurable
  • Soporte nativo para Resend o SMTP genérico
PRECAUCIONES
  • Requiere gestión manual de claves de encriptación (DATABASE_ENCRYPTION_KEY) fuera del backup
  • No incluye servicio de base de datos separado, todo reside en un archivo SQLite local
  • Dependencia de Bun como runtime principal (no Node.js nativo estándar)
  • Configuración inicial requiere generación de secretos y variables de entorno manuales
VISUAL

Capturas del proyecto

Imágenes reales detectadas en la documentación del repositorio.

Sign formEmail confirmationSigner self-serviceSigner list and searchSigners by stateEvent sign-upAdmin: email templatesAdmin: scheduled mailings
01

Perfil de infraestructura

Estimación inicial derivada del repositorio y de los servicios detectados.

CPU2 vCPUrecomendación inicial
MEMORIA2 GBRAM estimada
DISCO20 GBalmacenamiento base
COMPLEJIDADmediumnivel de operación
02

Despliegue detectado

Qué señales reales de instalación hemos encontrado.

Listo para automatizar

Desplegar con Docker Compose o Bun directo. Configurar DATABASE_ENCRYPTION_KEY y BACKUP_ENCRYPTION_KEY distintos. Usar reverse proxy (Nginx) con TRUST_PROXY=true. Variables críticas: BASE_URL, ADMIN_PASSWORD (mínimo 16 chars), LETTER_CONFIG. El backend corre en puerto 3000. No hay servicio de DB externo, el volumen debe persistir la base SQLite.

✓Dockerfile
✓Compose
✓One-click
03

Stack y dependencias

Componentes inferidos a partir de manifests, configuración y documentación.

FRAMEWORKS
ReactNode.jsRustPython
SERVICIOS
PostgreSQL
BASES DE DATOS
PostgreSQL
PUERTOS
3000
06

Experiencia real de la comunidad

Ayuda a contrastar la estimación automática con instalaciones reales.

Todavía no hay datos comunitarios para este proyecto.