Skip to content

Seguridad

Qué protege el registro

Tus trabajos, las direcciones de tus clientes y tu dinero están aquí. Esta página te dice qué hicimos para protegerlos, qué está funcionando ahora mismo y hasta dónde llega.

Separación

Un negocio nunca puede ver a otro

Todo lo demás depende de esto, así que lo hacemos dos veces y una computadora lo revisa por nosotros.

  • Dos muros entre negocios, no uno

    Cada registro lleva el sello del negocio al que pertenece, y cada solicitud que nuestro servidor hace a la base de datos está limitada al negocio que la pidió. Debajo de eso, la base de datos mantiene el mismo muro por su cuenta, con su propia regla en cada tabla que guarda registros de negocio. Así que un error en la app, por sí solo, no basta para cruzarlo.

  • Una computadora revisa el muro, no la memoria de una persona

    Una prueba automática lee la base de datos en vivo, encuentra cada tabla que guarda un sello de negocio y falla nombrando las que no tengan su regla. Contamos lo que está cubierto en lugar de suponerlo, y la lista de excepciones está vacía.

  • Probamos un negocio contra otro antes de publicar

    Cuando agregamos una nueva dirección a la que la app puede llamar, esa dirección recibe una prueba que inicia sesión como un negocio e intenta leer los datos de otro. La sincronización, los precios y los nombres de los archivos guardados tienen cada uno su propia prueba.

Integridad

El registro no se puede reescribir en silencio

Cuando un trabajo sale mal, el historial es la evidencia. Está hecho para que nadie, ni siquiera nosotros, pueda cambiarlo a tus espaldas.

  • Al historial solo se le puede agregar, y cada línea bloquea la anterior

    Cada línea del historial lleva una huella digital de la línea anterior, así que una línea no se puede cambiar ni eliminar en silencio sin romper la cadena. La propia base de datos bloquea cualquier cambio o eliminación, y nuestro servidor se niega a arrancar si esa protección falta.

  • Los pagos nunca se editan

    Para corregir un error agregamos una línea nueva que anula la anterior. Nunca cambiamos la anterior. Lo que se registró, y cuándo, se puede seguir leyendo, que para eso sirve un historial de pagos.

  • Los enlaces de firma los crea nuestro servidor

    Un enlace para firmar un documento funciona una sola vez, no se puede adivinar y deja de servir después de un tiempo fijo. Nuestro servidor lo crea. La app en el teléfono nunca arma uno.

Mientras viaja y mientras se guarda

Adónde van los datos

Cloudflare está entre internet y el servidor con el que habla la app. Lleva nuestras propias reglas de bloqueo, y frena a quien envíe demasiadas solicitudes demasiado rápido. Nuestro propio servidor aplica los mismos límites otra vez detrás de eso.

  • Cifrado mientras viaja, en todas partes

    Todo lo que viaja entre un teléfono y nosotros va por HTTPS, que lo cifra para que nadie en medio pueda leerlo. El sitio en vivo también manda una instrucción para los navegadores que ya nos visitaron una vez: no volver nunca a una conexión sin cifrar. Las solicitudes nos llegan a través de Cloudflare y no directo a nuestro propio servidor.

  • Los archivos se quedan en una región

    Las fotos, los documentos y las firmas se guardan en un almacenamiento de archivos configurado en una sola región fija, el este de Norteamérica, para todo negocio sin importar dónde trabaje. Cuando el servidor en vivo arranca revisa esa configuración, y se niega a funcionar si la región falta o quedó en "auto".

  • Nunca guardamos tu contraseña

    No guardamos tu contraseña, y no podemos recuperarla por ti. Lo que guardamos es una versión cifrada (Argon2) que no se puede revertir para llegar a tu contraseña: alcanza para verificarla cuando inicias sesión, nunca para leerla. También hay un límite de cuántas veces se puede intentar iniciar sesión, registrarse o restablecer una contraseña en poco tiempo.

En el teléfono

El teléfono es parte de lo que protegemos

Un teléfono se queda en la caja de la camioneta, se le presta a un aprendiz y se pasa por encima de un mostrador. Lo que hicimos aquí está pensado para eso, no para un escritorio en una oficina.

  • Un bloqueo opcional en la propia app

    Estar ya conectado no debería entregar todo un negocio a quien recoja el teléfono. El bloqueo de la app pide el propio bloqueo de pantalla o la huella del teléfono antes de abrirse. Está apagado a menos que lo actives, y solo lo ofrecemos en un teléfono que ya tiene un bloqueo de pantalla configurado.

  • Las llaves de inicio de sesión se quedan en el almacenamiento bloqueado del teléfono

    La app tiene que guardar algunos elementos privados en el teléfono, como el pase que te mantiene conectado. Los pone en el keystore de Android, el almacenamiento bloqueado que protege el propio hardware del teléfono, en lugar de en archivos comunes de la app.

Continuidad

Respaldos, incidentes y cómo sacar tus datos

  • Una copia bloqueada de la base de datos, guardada fuera del servidor

    Cada hora hacemos una copia completa de la base de datos en vivo. La copia se bloquea con cifrado antes de guardarse, y el proceso no conserva ninguna copia sin bloquear: verifica que el archivo bloqueado realmente lo esté antes de eliminar el que no lo está. Después revisa la lista de contenido de la propia copia, la manda a un almacenamiento aparte del que la app no tiene ninguna credencial de acceso, y la vuelve a leer para confirmar que llegó. La base de datos también lleva un registro continuo de cada cambio en el momento en que ocurre, y ese registro también se copia fuera del servidor, así que reponer las cosas no se limita a la última copia completa. Las fotos, los PDF y las imágenes de firma se copian a ese mismo almacenamiento aparte. Las copias viejas se borran según un calendario fijo en los dos lugares. Para ser francos contigo: ese almacenamiento aparte es un segundo espacio dentro de la misma empresa de almacenamiento, no una segunda empresa.

  • Restauramos los respaldos para comprobar que funcionan

    Un respaldo que nadie ha puesto de vuelta es una esperanza, no un plan. Así que tomamos una copia real de la base de datos en vivo, la cargamos en una base de datos de repuesto y comprobamos que los registros realmente estén ahí antes de descartar la de repuesto, incluyendo abrir una copia bloqueada ya guardada en lugar de una recién hecha. Hemos hecho lo mismo con el almacenamiento de archivos: cada archivo restaurado se comprobó contra la huella registrada cuando se copió. Cada prueba queda anotada y fechada. Esto es lo que esas pruebas no demuestran, porque importa más que lo que sí demuestran: nunca hemos reconstruido el servicio en máquinas nuevas, nunca hemos reproducido el registro continuo de cambios hasta un momento elegido, nunca hemos puesto un respaldo de vuelta en la base de datos en vivo, y nunca hemos cronometrado una recuperación completa de principio a fin. Por eso no publicamos ninguna meta de recuperación.

  • Un plan escrito para cuando algo sale mal

    Si algo sale mal seguimos un plan escrito en lugar de improvisar. Los pasos son: ver qué tan grave es, impedir que se extienda, cerrar la sesión de todos y apagar los enlaces de pago y el acceso del personal, cambiar nuestras llaves secretas, guardar el historial y revisar que nadie lo haya alterado, y al final medir el daño y avisar a los afectados. Prometemos avisarte sin esperar más de lo necesario. No publicamos un plazo fijo, porque no hemos probado que podamos cumplirlo.

  • Tus datos salen cuando tú quieras

    Puedes descargar una copia de tu cuenta desde dentro de la app: clientes, trabajos, facturas, pagos, recibos, fotos y tus PDF de factura y cotización. También puedes eliminar tu cuenta en la app. El acceso se corta de inmediato, y eliminamos los datos para siempre después de un número fijo de días. Guardamos el historial de quién hizo qué, a propósito, porque a ese registro solo se le puede agregar.

Qué no afirmamos

La lista de abajo es lo que no tenemos y lo que no prometemos. Si algo en ella te importa, esa es una respuesta real. Piénsalo antes de confiarnos tu trabajo.

  • Sin certificados y sin auditorías externas. No tenemos reporte SOC 2, ni certificado ISO 27001, ni aprobación PCI o HIPAA, que son los certificados de seguridad que piden los compradores grandes. Nadie fuera de la empresa ha recibido pago por intentar entrar. Cualquiera que te diga lo contrario sobre Zeus está equivocado.

  • Sin promesa sobre tiempo de actividad o recuperación. No publicamos una cifra de cuánto tiempo la app está funcionando, ni una meta de qué tan rápido podríamos levantarla de nuevo, ni una meta de cuánto trabajo reciente se podría perder, porque no podemos sostener ninguna de esas cifras.

  • Sin promesa de seguridad perfecta. Ningún sistema es perfectamente seguro, y una página que diga lo contrario es publicidad, no un hecho.

  • El trabajo que haces sin conexión no está respaldado hasta que nos llega. Los cambios hechos sin señal se quedan solo en ese teléfono hasta que la app llega al servidor. Abre la app cuando vuelvas a tener señal, para que pueda mandarlos.

Reportar una vulnerabilidad

Si encontraste algo, preferimos oírlo de ti antes que de un negocio que depende de esta app. No hay programa de recompensas ni pago, pero una persona real te dará una respuesta clara.

Por favor sigue estas reglas

  • Danos tiempo para arreglarlo antes de contárselo a alguien más.
  • Mientras lo investigas, no abras, cambies ni guardes ningún dato que no sea el tuyo.
  • No inundes el sitio en vivo con tráfico para ver cuánto aguanta. No lances herramientas de escaneo automático contra él. Y no intentes entrar sin autorización, salvo que te hayamos dicho que sí por escrito antes.
  • Cuéntanos qué hiciste y qué viste, con suficiente detalle para que podamos repetirlo. Una nota simple es mejor que ninguna nota.

Son las mismas reglas que están en nuestra política de uso aceptable.

Estado de esta página

Esta página está escrita para leerse. No es un contrato, y no promete nada que puedas exigirnos en un tribunal. Los documentos que sí hacen eso son los términos de servicio y la política de privacidad en nuestro paquete legal. El trabajo de seguridad nunca se detiene, así que lo que hay en esta página cambia. Si esta página y esos documentos alguna vez no coinciden, esos documentos son los que cuentan.

Las preguntas sobre cualquiera de estos temas van a [email protected], y todo lo demás está en la página de contacto.