Tu información, tratada como nuestra
Encryption end-to-end, multi-tenancy estricta, RBAC granular y auditoría completa. Compliance LFPDPPP, GDPR y CCPA.
All systems secured
AES-256 · TLS 1.3 · RLS
Encryption at rest
AES-256
Multi-tenant RLS
Row-Level Security
Compliance
GDPR
EU
LFPDPPP
MX
CCPA
US-CA
SOC 2
in progress
01 · encryption
Encryption at rest e in transit
Toda la información que toca Blacknel viaja y duerme cifrada. Sin texto plano, sin excepciones.
Datos en reposo · AES-256
Toda la información almacenada en Blacknel se cifra con AES-256 a nivel de columna en Postgres. Nuestro provider de base de datos (Supabase) ejecuta encryption a nivel de disco adicional como defense-in-depth.
Datos en tránsito · TLS 1.3
Toda comunicación entre tu navegador, nuestros servidores y APIs de terceros (Facebook, Google, etc.) pasa por TLS 1.3 con certificate pinning donde el provider lo soporta. HTTP plain no existe en ninguna parte del stack.
Secretos y credenciales
Credenciales de OAuth (tokens de Facebook, Google, etc.) viven encriptadas en Supabase Vault, una bóveda con keys que rotan cada 90 días. Las API keys que tú generas en tu workspace se muestran una sola vez y nunca se almacenan en plaintext.
Passwords
No los manejamos. Usamos Supabase Auth con magic links (passwordless) por default. Para clientes Enterprise con SSO/SAML, el password nunca llega a Blacknel — es el IdP de tu organización quien autentica.
02 · multitenancy
Multi-tenancy rigurosa
Cada organización es un tenant aislado a nivel base de datos. No es un filter aplicado en código.
Row-Level Security en Postgres
Cada organización en Blacknel es un tenant aislado a nivel Postgres Row-Level Security (RLS). Es un constraint a nivel base de datos que impide cualquier query cross-tenant, incluso si hay un bug en la app.
Qué significa en práctica
Si un bug en nuestro código intentara ejecutar SELECT * FROM posts sin filter de organización, Postgres devolvería 0 rows — porque las policies de RLS verifican current_setting('app.current_org_id') antes de retornar cualquier row. Sin org_id válido en la sesión, no hay data.
Aislamiento de assets
Cada org tiene su propio bucket de storage para assets (videos, imágenes, PDFs). Buckets son privados por default y se acceden con signed URLs que expiran en 1 hora. No hay forma de listar o acceder assets de otra organización.
Audit trail
Cada acción que toca data sensible (login, post publish, review response, RBAC change) queda en audit_events table con timestamp, user_id, org_id, IP, user-agent y diff de qué cambió. Append-only — no se puede modificar historia.
03 · rbac
RBAC granular
Cinco roles default, custom roles en Enterprise, y permission checks en tres capas de defensa.
Roles default
Owner (control total + billing), Admin (todo excepto billing y deletion), Manager (brands y workflows), Agent (operación día-a-día), Viewer (read-only en todo).
Custom roles en Enterprise
Puedes crear roles custom con matriz de permisos granular: por brand, por acción (read/write/delete/publish), por canal. Permisos se asignan con grants y revokes — el sistema sigue política 'revoke wins' en caso de conflicto.
Permission catalog
50+ permission strings disponibles. Ejemplos: posts:publish, inbox:assign, billing:read, audit:read, team:manage_roles.
Defense-in-depth
Cada permission check ocurre en TRES capas: TypeScript en el Server Action, función SQL al ejecutar la query, y Row-Level Security en la base. Tres capas tienen que fallar simultáneamente para que un permission leak suceda.
04 · audit
Audit log inmutable
Cada acción que afecta data o configuración queda registrada de forma inmutable y exportable.
Qué se loggea
Logins, logouts, posts publicados, reviews respondidas, cambios de roles, exports de data, settings de org, cambios de pricing/seats.
Qué se guarda por evento
Timestamp exacto (UTC + zona local), user_id, org_id, session_id, IP origen, user-agent, país (GeoIP), action exacto + diff (antes/después), result (success/failure/partial).
Retention
Standard: 90 días. Growth: 1 año. Enterprise: hasta 7 años configurable.
Inmutabilidad y export
La tabla audit_events es append-only a nivel Postgres. No hay DELETE permitido — ni con privilegios admin. Audit log exportable en JSON o CSV en cualquier momento, útil para SOC 2, ISO 27001 y auditorías internas.
05 · compliance
Compliance
LFPDPPP, GDPR, CCPA y SOC 2 Type II en proceso de auditoría.
LFPDPPP (México)
Cumplimos los principios de licitud, consentimiento, información, calidad, finalidad, lealtad, proporcionalidad y responsabilidad. Aviso de privacidad alineado con INAI. ARCO rights se ejecutan via privacy@blacknel.com en máximo 20 días hábiles.
GDPR (Unión Europea)
Operamos bajo Article 6.1.b (ejecución de contrato) y 6.1.a (consentimiento) para marketing opt-in. DPO designado. Tu derecho a portabilidad (Art. 20) se ejecuta con export completo en JSON estándar. SCCs firmamos por default para transferencia internacional de datos.
CCPA (California)
Honramos requests de 'Do Not Sell' (aunque no vendemos datos), 'Right to Know' y 'Right to Delete'. Tiempo de respuesta máximo: 45 días.
SOC 2 Type II · en proceso
Audit activo con cierre estimado Q3 2026. Cubre Security, Availability, Processing Integrity, Confidentiality y Privacy. Una vez certificados, el report estará disponible para clientes Enterprise bajo NDA.
HIPAA
No operamos como Business Associate de proveedores de salud por default. Si necesitas HIPAA compliance específico, contáctanos para discutir un BAA dedicado en Enterprise.
06 · bounty
Bug bounty
Programa privado activo. Si encuentras una vulnerabilidad, escríbenos a security@blacknel.com.
Lo que recompensamos
Crítica (RCE, auth bypass, tenant data leak): $1,000 – $5,000 USD. Alta (privilege escalation, sensitive data exposure): $500 – $1,500 USD. Media (XSS, CSRF, IDOR menor): $100 – $500 USD. Baja (info disclosure, configuración): $50 – $200 USD.
Reglas
Encontrá la vuln con tu cuenta, no comprometas accounts ajenos. Sin DoS, brute force ni scanning agresivo. Reportá privada y dame 90 días antes de hacer público. Nada de social engineering al equipo.
Hall of fame
Mantenemos un Hall of Fame público de researchers que reportaron issues válidos. Lo publicaremos cuando tengamos el primer report confirmado — transparencia total, pre-revenue, sin historial inventado.
Arquitectura
Arquitectura en una vista
Stack moderno, fluido, observable. Cada capa tiene una responsabilidad clara y guardrails de seguridad propios.
Cliente
Tu equipo accede vía browser o mobile. Todo HTTPS + TLS 1.3 con HSTS preload.
CDN · Cloudflare
DDoS protection a nivel L3/L4/L7. Cache de assets estáticos. WAF managed rulesets activos.
Vercel Edge · Next.js Server Components
Renderizado en edge global. Server Components ejecutan en Vercel Functions con cold start <100ms gracias a Fluid Compute.
Server Actions & API Routes
Cada mutación pasa por triple permission check (TS + SQL + RLS). Auth via Supabase Magic Links. Rate limiting per-tenant.
Supabase Postgres · multi-tenant RLS
AES-256 encryption at rest, daily backups con PITR (point-in-time recovery), replicación geo-distribuida.
Sub-procesadores
Anthropic (Claude) · OpenAI (GPT) · Resend (email) · Stripe (payments) · Plausible (analytics) · Sentry (errors). Cada uno con DPA firmado + SCC.
Incidents
Cómo respondemos a incidentes
Detección
Sentry alerta sobre errores production en <1 minuto. PostHog tracking de anomalías de uso. Uptime monitoring 24/7 cada 30 segundos. Custom alerts en métricas críticas (auth failure rate, DB errors).
Triage
Severity 1 (afectando users): page on-call <5 min. Severity 2 (degradación parcial): response <15 min. Severity 3 (no afectando users): next business day.
Comunicación
status.blacknel.com se actualiza en tiempo real. Email a admins de orgs afectadas dentro de 30 minutos. Post-mortem público en blog dentro de 7 días para SEV 1.
Aprendizaje
Cada SEV 1 termina en un post-mortem documentado con timeline, root cause, lo que funcionó, lo que falló y action items. Los publicamos porque creemos en transparencia.
Tu primera semana sin Hootsuite. Sin Sprout. Sin las 5 hojas de cálculo.
Conecta tus canales en 10 minutos, invita a tu equipo, y empieza a operar. Sin contratos, sin sales calls obligatorias.
14 días sin tarjeta. Cancela cuando quieras.