Saltar al contenido
Seguridad

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.

01

Cliente

Tu equipo accede vía browser o mobile. Todo HTTPS + TLS 1.3 con HSTS preload.

02

CDN · Cloudflare

DDoS protection a nivel L3/L4/L7. Cache de assets estáticos. WAF managed rulesets activos.

03

Vercel Edge · Next.js Server Components

Renderizado en edge global. Server Components ejecutan en Vercel Functions con cold start <100ms gracias a Fluid Compute.

04

Server Actions & API Routes

Cada mutación pasa por triple permission check (TS + SQL + RLS). Auth via Supabase Magic Links. Rate limiting per-tenant.

05

Supabase Postgres · multi-tenant RLS

AES-256 encryption at rest, daily backups con PITR (point-in-time recovery), replicación geo-distribuida.

06

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.