Quantisentry

Producto

V1 · solo observación

Una superficie pequeña, a propósito.

Cuatro rutas públicas en total: dar de alta una instalación, obtener su configuración, consultar el bootstrap comercial y enviar telemetría. Todo lo demás es de solo lectura o se rechaza.

Superficie pública

Todo está cerrado hasta que se abre explícitamente.

La postura por defecto es privada: una ruta es inalcanzable desde internet salvo que figure en una lista de inclusión explícita. Es lo contrario de lo habitual, y por eso la superficie sigue siendo pequeña.

Rutas comerciales
MétodoRutaCredencialPropósito
POST/v1/installations/enrollclave admin + lista de IPRegistra una instalación y emite sus credenciales una sola vez.
GET/v1/installations/configclave de instalación + idDevuelve la configuración de esa instalación y de ninguna otra.
GET/api/commercial/bootstrappúblicaEstado y modo de la plataforma. Se puede consultar sin riesgo.
POST/api/ea-telemetry/v1/ingestclave de telemetríaLa única ruta de escritura que necesita una flota viva. Contrato →

Credenciales

Tres niveles, ningún secreto compartido.

Una clave de terminal comprometida no debe convertirse en una clave de operador, así que nunca son la misma credencial ni conceden el mismo alcance. Las claves de instalación son valores CSPRNG de 256 bits, se almacenan solo como hash SHA-256 y se devuelven exactamente una vez en el alta — no podemos volver a enseñarte una clave porque no la tenemos.

El acceso de administrador tiene doble puerta. La clave de operador se compara en tiempo constante y además el origen de la petición debe estar en una lista de IP permitidas. Fallar cualquiera de las dos es un rechazo, no un reintento.

Niveles de credencial
NivelCabeceraAlcance
telemetríaX-Sentinel-Telemetry-KeySolo ingesta. Sin clave configurada, la ingesta queda restringida a loopback.
instalaciónX-Sentinel-Installation-IdLeer su propia configuración. Tenant inactivo → 403 TENANT_INACTIVE.
operadorX-Sentinel-Admin-KeyAlta y mutaciones del panel. Comparación en tiempo constante más lista de IP.

Aislamiento de tenant

Lo impone la base de datos, no un WHERE.

Las tablas de tenants y auditoría usan row-level security de PostgreSQL con FORCE ROW LEVEL SECURITY, y el rol de aplicación es NOBYPASSRLS — no puede saltárselo aunque el código se lo pida. El contexto de sesión se fija a nivel de transacción, de modo que el pooling de conexiones no puede filtrar el contexto de un tenant a la consulta de otro.

Acotado con honestidad. Esa garantía cubre el plano de alta y auditoría. La ruta de ingesta de telemetría no está segmentada por tenant hoy: escribe a un almacén compartido de últimos valores bajo una única clave de plataforma. Si necesitas separación de telemetría por tenant, dilo durante la conversación de acceso en lugar de darlo por supuesto.

POST /v1/installations/enroll 201 · clave mostrada una vez
X-Sentinel-Admin-Key: ••••••••

{
  "tenantSlug": "northwall-desk",
  "installationId": "b2f1…",
  "telemetryKey": "se muestra una vez, se guarda en SHA-256",
  "maxInstallations": 5,
  "maxTradingAccounts": 25
}

Esos dos límites se registran, no se aplican. Existen como campos del tenant y ningún código los comprueba en la ingesta ni en el alta. Describen un acuerdo comercial; no son una cuota técnica. Tampoco hay límites de tasa en el producto.

Postura operativa

Endurecida donde nos cuesta algo.

  • Rechaza configuración insegura

    La validación de arranque rechaza URLs públicas sin HTTPS, URLs con credenciales incrustadas y hosts que resuelven a loopback o rangos privados. HTTP plano solo se admite en loopback. Una mala configuración tumba el arranque, no la auditoría de dentro de seis meses.

  • Auditada en ambos sentidos

    Cada intento de ingesta escribe una entrada de auditoría —permitido o denegado por igual— con endpoint, actor, motivo y clave de cuenta. El alta registra la IP de origen y si la petición estaba autorizada.

  • Las lecturas nunca se bloquean

    El modo observación solo considera bloquear peticiones que no sean GET. La monitorización nunca se rompe porque haya entrado la capa de seguridad.

Stack

Quantisentry sobre Sentinel Cloud.

Quantisentry es la cara comercial con la que trata el operador. Sentinel Cloud es la plataforma de debajo: el host de la API, la multitenencia, el middleware de observación y los motores analíticos.