Saltar al contenido principal

Preguntas Frecuentes

Respuestas a las dudas más comunes sobre la integración del iframe de firma.


Primeros Pasos

¿Cómo obtengo mis credenciales de integrador?

Contactá a Lakaut AC para solicitar tus credenciales. Te proporcionaremos:

  • integratorId: Tu identificador único de integrador
  • Acceso al ambiente de pruebas
  • Documentación técnica específica

¿Necesito registrar mi dominio?

Sí. Por seguridad, tu dominio debe estar en nuestra lista de orígenes autorizados. Envianos:

  • Dominio completo (ej: https://miapp.com)
  • Subdominios si corresponde (ej: https://app.miapp.com)

¿Existe un ambiente de pruebas?

Sí. Tenemos un ambiente de sandbox que te permite:

  • Probar la integración sin consumir créditos
  • Usar certificados de prueba
  • Simular diferentes escenarios (certificados expirados, errores de red, timeouts)

Solicitá acceso al ambiente de pruebas al iniciar tu integración.


Compatibilidad y Requisitos

¿Qué navegadores son compatibles?

El iframe funciona en versiones recientes de:

  • Chrome 90+
  • Firefox 88+
  • Safari 14+
  • Edge 90+

No soportamos Internet Explorer.

¿Funciona en dispositivos móviles?

Sí. El iframe es responsive y se adapta a pantallas móviles. Asegurate de darle suficiente espacio (mínimo 300px de ancho).

¿Mi sitio debe usar HTTPS?

Sí, es obligatorio. El iframe de firma solo funciona sobre HTTPS por razones de seguridad.

¿Qué permisos necesita el iframe?

El iframe requiere los siguientes permisos:

allow="clipboard-read; clipboard-write; camera *; microphone"

Estos permisos son necesarios para:

  • clipboard: Funcionalidades de copiar/pegar
  • camera/microphone: Validación biométrica (si aplica)

Integración

¿Puedo personalizar la apariencia del iframe?

El contenido interno del iframe no es personalizable (mantiene la identidad de Lakaut AC). Sin embargo, podés:

  • Controlar el tamaño del iframe
  • Decidir si mostrarlo en modal o embebido
  • Aplicar estilos al contenedor del iframe

¿Cómo valido que los mensajes vienen del iframe de Lakaut?

Siempre validá el origen del mensaje:

window.addEventListener('message', (event) => {
if (event.origin !== 'https://www.lakautac.com.ar') return;
// Procesar mensaje
});

Nunca proceses mensajes sin validar el origen.

¿Qué pasa si el usuario recarga la página durante el proceso?

El estado del proceso de firma se pierde. El usuario deberá iniciar el proceso nuevamente. Recomendamos:

  • Mostrar advertencias antes de recargar
  • Guardar el estado de tu aplicación de forma independiente

¿Puedo abrir el iframe en una nueva pestaña?

Técnicamente sí, pero no es recomendable. La comunicación postMessage no funcionará entre pestañas, perdiendo la capacidad de recibir el documento firmado.

¿Cómo sé si el usuario cerró el iframe sin firmar?

Actualmente no enviamos un evento específico para esto. Podés implementar un timeout en tu aplicación:

const timeout = setTimeout(() => {
if (!firmaCompletada) {
// Usuario no completó la firma
manejarCancelacion();
}
}, 15 * 60 * 1000); // 15 minutos

Manejo de Documentos

¿Qué formatos de documento puedo firmar?

Actualmente solo soportamos PDF. El documento debe ser un PDF válido menor a 10MB.

¿Qué formato de documento debo enviar?

El documento debe ser:

  • Formato: PDF
  • Codificación: Base64 (sin prefijo data:application/pdf;base64,)
  • Tamaño máximo: 10MB

¿Cómo convierto un archivo a Base64?

Ejemplo en JavaScript:

function fileToBase64(file) {
return new Promise((resolve, reject) => {
const reader = new FileReader();
reader.onload = () => {
// Remover el prefijo data:...;base64,
const base64 = reader.result.split(',')[1];
resolve(base64);
};
reader.onerror = reject;
reader.readAsDataURL(file);
});
}

¿Puedo enviar el documento desde mi backend?

Sí. Podés:

  1. Generar el PDF en tu backend
  2. Convertirlo a Base64
  3. Enviarlo a tu frontend
  4. Tu frontend lo pasa al iframe mediante lakaut.load.file

¿Hay límite de tamaño para los documentos?

Sí, el límite actual es 10MB por documento. Si necesitás firmar documentos más grandes, contactanos.

¿Puedo firmar múltiples documentos a la vez?

Actualmente el iframe procesa un documento por sesión. Para múltiples documentos, el usuario debe completar una firma y luego iniciar otra.

¿Dónde se almacena el documento durante el proceso?

El documento se almacena temporalmente en nuestros servidores seguros durante el proceso de firma. Una vez completada la firma, te devolvemos el documento firmado y podés almacenarlo en tu sistema.

¿Cómo verifico la integridad del documento firmado?

El evento lakaut.signature.completed incluye el hash SHA-256 del documento:

{
document: {
fileName: 'contrato.pdf',
sha256: "abc123...",
size: 123456,
mime: "application/pdf"
}
}

Guardá este hash para verificaciones futuras.


Datos del Usuario

¿Qué datos del usuario necesito enviar?

En el mensaje lakaut.init debés incluir:

userData: {
dni: '12345678', // DNI (8 dígitos) - requerido si no hay CUIL
cuil: '20-12345678-9', // CUIL formato XX-XXXXXXXX-X - requerido si no hay DNI
email: 'usuario@ejemplo.com', // Email del firmante (requerido)
gender: 'M', // 'M', 'F' o 'X' (requerido)
phone: '1122334455', // Teléfono (requerido)
name: 'Juan Pérez', // Nombre completo (opcional, se obtiene de RENAPER)
address: 'Av. Corrientes 1234' // Domicilio (opcional, se obtiene de RENAPER)
}

¿Cómo valido el formato del CUIL?

El CUIL debe tener formato XX-XXXXXXXX-X (con guiones). Ejemplo de validación:

function validarCUIL(cuil) {
const regex = /^\d{2}-\d{8}-\d$/;
return regex.test(cuil);
}

¿Qué pasa si envío datos incorrectos?

El iframe validará los datos y responderá con un evento lakaut.error indicando el problema específico.


Certificados

¿El usuario debe tener un certificado?

No. Un firmante que previamente tramitó una firma nube con LakautAC puede utilizar el certificado ya existente, pero el flujo de firma por iframe incluye la generación de un certificado de corta duración para firma en el momento.

Sí. Las firmas realizadas con certificados digitales válidos tienen respaldo legal según la legislación argentina de firma digital.


Seguridad

¿Los datos del usuario viajan seguros?

Sí. Toda la comunicación es sobre HTTPS con cifrado TLS 1.2+.

¿Cómo protejo los datos sensibles?

Mejores prácticas:

  • Nunca expongas tu integratorId en código público
  • Validá siempre el origen de los mensajes
  • Usa HTTPS en toda tu aplicación
  • No almacenes documentos sin cifrar

¿Qué es el nonce y por qué es importante?

El nonce es un identificador único para cada sesión de firma. Debe ser:

  • Único para cada inicialización
  • Generado de forma segura: crypto.randomUUID()
  • Usado para prevenir ataques de replay

¿Qué es el idemKey?

El idemKey (clave de idempotencia) previene firmas duplicadas. Si enviás dos requests con el mismo idemKey, solo se procesará uno.

Generalo así:

idemKey: crypto.randomUUID()

¿Lakaut puede ver el contenido de los documentos?

Durante el proceso de firma, el documento pasa por nuestros servidores para aplicar la firma criptográfica. Seguimos estrictas políticas de privacidad y no accedemos al contenido de los documentos más allá de lo técnicamente necesario.

¿Qué datos del usuario almacenan?

Almacenamos:

  • Logs de operaciones de firma (para auditoría)
  • Hash del documento firmado
  • Fecha y hora de firma
  • ID del certificado utilizado

No almacenamos contraseñas de certificados.


Performance

¿Cuánto tarda en cargar el iframe?

Típicamente 1-3 segundos, dependiendo de:

  • Conexión del usuario
  • Carga del servidor
  • Caché del navegador

¿Cuánto tarda el proceso de firma?

El tiempo depende de varios factores:

  • Tamaño del documento
  • Velocidad de conexión del usuario
  • Tiempo que el usuario tarda en ingresar su contraseña

En condiciones normales, una firma típica tarda entre 5-15 segundos una vez que el usuario confirma.

¿Puedo precargar el iframe?

Sí, podés cargar el iframe de forma anticipada (antes de que el usuario lo necesite) para mejorar la experiencia. El iframe permanecerá en estado de espera hasta que envíes lakaut.init.

¿Puedo cachear el iframe?

El iframe se carga desde nuestros servidores y no deberías cachearlo. Nosotros aplicamos caching apropiado en nuestro CDN.


Facturación y Créditos

¿Cómo funciona el sistema de créditos?

Cada firma consume créditos de tu cuenta. El consumo ocurre cuando:

  • El usuario completa exitosamente una firma
  • No se cobran créditos por firmas canceladas o fallidas

¿Qué pasa si me quedo sin créditos?

El iframe mostrará un error INSUFFICIENT_BALANCE. El usuario no podrá firmar hasta que recargues créditos.

¿Puedo consultar mi saldo de créditos?

Sí, mediante la API de administración. Contactá a Lakaut para obtener acceso.


Testing y Debugging

¿Cómo pruebo sin consumir créditos?

Usá el ambiente de sandbox que te proporcionamos. Incluye:

  • Certificados de prueba
  • Créditos ilimitados
  • Todos los flujos disponibles

Problemas Comunes

tip

Para soluciones detalladas de errores, consultá la sección Manejo de Errores.

¿Por qué el iframe no carga?

Las causas más comunes son:

  1. Dominio no autorizado: Tu dominio debe estar registrado en nuestra lista de orígenes permitidos. Contactanos para agregarlo.
  2. HTTP en lugar de HTTPS: El iframe requiere que tu sitio use HTTPS.
  3. Content Security Policy: Si usás CSP, agregá frame-src https://www.lakautac.com.ar.

¿Por qué no recibo el evento lakaut.handshake.ack?

Verificá:

  1. Que envíes lakaut.init después de recibir lakaut.ready (o después de iframe.onload)
  2. Que el segundo parámetro de postMessage sea exactamente 'https://www.lakautac.com.ar'
  3. Que tu integratorId sea correcto

Soporte y Actualizaciones

¿Cómo reporto un problema?

Enviá un email a soportefirmadigital@lakautac.com.ar incluyendo:

  • Tu integratorId
  • Descripción del problema
  • Pasos para reproducir
  • Logs de consola del navegador
  • Capturas de pantalla si aplica

¿No encontraste tu respuesta?

Contactanos: