Getting Started with Panoptes SDK Comenzando con Panoptes SDK
Enterprise-grade SQL auditing solution with zero configuration, flexible rules, and multi-database support. Automatically audit all SQL queries with context. Solución de auditoría SQL de nivel empresarial con configuración cero, reglas flexibles y soporte multi-base de datos. Audita automáticamente todas las consultas SQL con contexto.
What is Panoptes? ¿Qué es Panoptes?
Panoptes (named after the all-seeing giant from Greek mythology) is a modern alternative to database triggers that wraps your existing database clients to provide automatic SQL auditing. Panoptes (nombrado en honor al gigante que todo lo ve de la mitología griega) es una alternativa moderna a los triggers de base de datos que envuelve tus clientes de base de datos existentes para proporcionar auditoría SQL automática.
Auto-creates audit tables, no manual setup required Crea automáticamente tablas de auditoría, sin configuración manual
Works with PostgreSQL, MySQL, MSSQL, SQLite, and Oracle Funciona con PostgreSQL, MySQL, MSSQL, SQLite y Oracle
Tracks who, what, when, and where for every query Rastrea quién, qué, cuándo y dónde para cada consulta
Configure auditing per table or operation type Configura auditoría por tabla o tipo de operación
Track data changes for compliance and forensics Rastrea cambios de datos para cumplimiento y forense
Console, File, HTTP endpoints, and Database storage Consola, Archivos, endpoints HTTP y Base de Datos
Why Use Panoptes? ¿Por Qué Usar Panoptes?
How It Works Cómo Funciona
Panoptes works by wrapping your existing database clients. Here's a simple example: Panoptes funciona envolviendo tus clientes de base de datos existentes. Aquí hay un ejemplo simple:
Initialize Panoptes Inicializar Panoptes
Configure your app name, environment, and transports Configura tu nombre de app, ambiente y transportes
Wrap Your Database Client Envuelve tu Cliente de Base de Datos
Use
Set User Context Establecer Contexto de Usuario
Provide user, session, and request information Proporciona información de usuario, sesión y petición
Use as Normal Usar Normalmente
Execute queries like you always do - Panoptes handles the rest! Ejecuta consultas como siempre lo haces - ¡Panoptes maneja el resto!
import { initAudit, createAuditedPostgresClient, setUserContext } from '@panoptes/sdk';
import { Client } from 'pg';
// 1. Initialize Panoptes SDK
initAudit({
appName: 'my-app',
environment: 'production',
transports: {
enabled: ['console', 'database'],
database: {
tableName: 'audit_logs'
}
}
});
// 2. Create your database client
const client = new Client({
host: 'localhost',
database: 'myapp',
user: 'postgres',
password: process.env.DB_PASSWORD
});
// 3. Wrap it with Panoptes
const auditedClient = createAuditedPostgresClient(client, {
host: 'localhost',
database: 'myapp'
});
await auditedClient.connect();
// 4. Set user context
setUserContext({
actorType: 'USER',
actorId: 'user-123',
actorName: 'John Doe',
actorEmail: 'john@example.com',
actorIp: '192.168.1.1'
});
// 5. Use it like normal - Panoptes handles the rest!
await auditedClient.query(
'UPDATE users SET email = $1 WHERE id = $2',
['newemail@example.com', 123]
);- Captures the before state (for UPDATE/DELETE operations) Captura el estado anterior (para operaciones UPDATE/DELETE)
- Executes your query normally Ejecuta tu consulta normalmente
- Captures the after state with new data Captura el estado posterior con datos nuevos
- Generates a comprehensive audit event with all context Genera un evento de auditoría completo con todo el contexto
- Sends the event to your configured transports Envía el evento a tus transportes configurados
Key Features in Detail Características Clave en Detalle
Next Steps Próximos Pasos
Ready to get started? Continue to the Installation Guide for detailed setup instructions. ¿Listo para comenzar? Continúa a la Guía de Instalación para instrucciones detalladas de configuración.
