Secrettly

Secrettly para Devs y Empresas

Una API de entrega segura para tu stack.

Infraestructura multi-tenant para compartir secretos, credenciales, claves de API, certificados y documentos mediante enlaces efímeros de un solo uso. Diseñada como Stripe, Resend o Clerk: API limpia, validación estricta y logs de auditoría.

Obtener API keyVer la documentaciónv1 · 91% cobertura de tests

Multi-tenancy de fábrica

Aislamiento automático Organización → Usuario → Secreto.

API keys Bearer

Claves HMAC sk_live_… hasheadas con SHA-256. Nunca se guardan en claro.

Cifrado AES-256-GCM

Cifrado en memoria antes de persistir. Solo se revela vía tokens de un uso.

Rate limiting con Redis

Limitación por organización y cabeceras estándar en cada respuesta.

Webhooks firmados HMAC

secret.created / opened / revoked / expired con reintentos automáticos.

Filtro anti-fugas

Filtro global que redacta claves, conexiones y payloads de los logs.

Quickstart de la API

Autentícate con Bearer. Crea un secreto, comparte la URL y el destinatario lo consume una sola vez.

Crear un secreto
curl -X POST https://api.secrettly.space/v1/secrets \
  -H "Authorization: Bearer sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "content": "DB_URL=postgres://user:pass@host/db",
    "expiresIn": "30m",
    "maxViews": 1
  }'
Respuesta
{
  "id": "sec_b7ad91630fa392d4f820c78a",
  "url": "https://secrettly.space/s/ac78de9b0a1f2b3c",
  "expiresAt": "2026-06-19T20:44:03.000Z"
}
POST/v1/secrets

Crear secreto cifrado

GET/v1/secrets/reveal/:token

Revelar (público, un solo uso)

GET/v1/secrets/:id

Obtener metadatos

DELETE/v1/secrets/:id

Revocar de inmediato

GET/v1/events

Eventos de auditoría

POST/v1/webhooks

Registrar webhook

Webhooks

Notificaciones HTTP en tiempo real ante cada cambio de ciclo de vida. Cada request se firma con HMAC-SHA256.

Eventos soportados

  • secret.created
  • secret.opened
  • secret.revoked
  • secret.expired

Las entregas fallidas se reintentan automáticamente con backoff exponencial.

Verifica la firma
// Verify HMAC-SHA256 signature
const [t, v1] = header.split(",").map(p => p.split("=")[1]);
const expected = hmacSHA256(secret, `${t}.${rawBody}`);
if (timingSafeEqual(expected, v1)) {
  // ✓ payload is authentic
}

@secrettly/sdk · Node · Bun · Deno · Browser

Prueba nuestro SDK de TypeScript

Cliente moderno, sin dependencias y type-safe. Instala con npm install @secrettly/sdk y crea links efímeros con unas pocas líneas de código.

  • ✓ Zero dependencies · ESM + CJS
  • ✓ Reintentos con backoff + jitter
  • ✓ Errores tipados (Validation, Auth, RateLimit…)
  • ✓ Helper de verificación de webhooks

Para empresas

¿Necesitas SSO, on-prem o precios por volumen?

Trabajamos con equipos que requieren trazas de auditoría, retención personalizada, infraestructura dedicada o acuerdos BAA. Cuéntanos tu caso.