Saltar al contenido
CrossFly es 100% open sourceSíguenos en GitHub
CrossFlyCrossFly
Empezar
Un producto CrossFly

Offline-first de verdad — en cualquier stack.

Framework comercial de sincronización offline-first bidireccional y multi-tenant, con un core en Rust (“un core, N bindings”). Tu app escribe primero en local y reconcilia sola al reconectar — sobre la base de datos que ya usas.

Cualquier dispositivo
Smartphone
iOS · Android
Tablet
iPadOS · Android
Escritorio
Windows · Linux · macOS
CrossFly
Sync
Rust engine
Cualquier base
PostgreSQL
MySQL · MariaDB
SQL Server
Oracle
+ cualquier otra
en tu servidor · Windows · Linux · macOS
gRPCTLS 1.3alto rendimiento
Hecho para apps de campo donde la red es hostil
VentasField serviceLogísticaSalud
Offline-first real

No “compatible con offline”. Offline-first.

El device es la fuente primaria de verdad — la red es una optimización, no un requisito.

El device como fuente primaria

Toda operación escribe primero en el SQLite local. La interfaz nunca espera a la red.

Cola de mutaciones duradera

Las escrituras se encolan y reconcilian en segundo plano, bidireccional, sin perder datos en redes inestables.

Funciona 100% sin red

La app no se congela sin conexión; sigue funcionando y sincroniza en cuanto reconecta.

Ordenación server-authoritative

Orden global + write checkpoints garantizan la convergencia — nunca confía en el reloj del device.

Velo en acción

Un pedido — del campo a aprobado, sin esperar la red

Sigue un pedido real: creado offline, sincronizado, aprobado por el supervisor y de vuelta al vendedor. Todo automático.

Vendedor
en campo
4G
Pedido #1042Pendiente
ClientePanadería Aurora
TotalR$ 1.240
Descuento18% · sobre el límite
CrossFly Sync
motor Rust
Base de datos de la empresa
Administración
Supervisor
1El vendedor crea el pedido

En la calle, en el móvil o el portátil, registra el pedido del cliente — con 18% de descuento.

Un core Rust, N bindings

Un motor. Tu lenguaje.

El mismo core en Rust, expuesto por SDKs idiomáticos vía FFI, JNI, N-API y WASM.

Dart / Flutter
FFI
Java / Kotlin
JNI
JavaScript / TypeScript
N-API / WASM
Swift
FFI
.NET
FFI
Python
FFI

API común estable, SDKs idiomáticos y ligeros sobre el mismo core Rust.

Usa tu propia base de datos

Sincroniza con la base de datos que ya tienes

PostgreSQL
MySQL / MariaDB
SQL Server
Oracle
MongoDB

Captura de cambios vía CDC log-based (p. ej., replicación lógica de Postgres), con fallback trigger/outbox por capability-probe.

Cómo funciona

De la escritura local a la convergencia duradera

Un data plane en el hot path, un control plane solo de metadatos y un transporte incremental que mueve solo lo que cambió.

01

El device escribe en local

La app escribe en el SQLite local y encola la mutación — al instante, con o sin red.

02

Change capture

CDC nativo (log-based) cuando la base lo soporta, con fallback trigger + outbox en caso contrario.

03

Core Rust

Un data plane (crossfly-sync-service) en el hot path más un control plane que solo gestiona metadatos, fuera del hot path.

04

Transporte incremental

Protobuf/gRPC sobre TLS 1.3 para los deltas, bulk/snapshot columnar (Apache Arrow/Parquet, zstd). Los adjuntos van en un plano aparte — referencia por content_hash con storage enchufable (S3/MinIO/Azure Blob + CDN).

Diferenciadores

Donde CrossFly Sync va más allá

Multitenancy doble nativa

Modelo A (discriminador row-level por EMPRESA_ID) o Modelo B (schema-per-tenant dinámico, t_{slug}) — se elige por config, sin redeploy por tenant.

Aislamiento fuerte por tenant

Envelope encryption (una DEK por tenant vía KMS), no solo un filtro lógico — habilita cripto-shredding para el borrado (LGPD/GDPR).

Transporte columnar híbrido

Apache Arrow/Parquet para bulk más Protobuf/gRPC bidireccional para los deltas, con diccionarios zstd.

Cero duplicación del lado servidor

Mantiene el origen más un estado de sync mínimo — sin copia íntegra de tus datos en el plano de sync.

Adjuntos sin techo de fila

Byte-stream reanudable por chunks, dedup por hash y storage enchufable — sin el límite de ~15MB/fila de soluciones tipo PowerSync.

vs el mercado

Cómo se compara, con honestidad

CrossFly SyncPowerSync / ElectricSQLRealm / Couchbase / RxDB
CDC multi-base de datos✓——
Schema-per-tenant dinámico✓——
Aislamiento cripto por tenant✓——
Offline-first real con cola duradera✓✓◑

✓ disponible · ◑ parcial / varía según el producto · — no ofrecido. La comparación refleja nuestra lectura de las capacidades típicas y puede cambiar a medida que esos productos evolucionan.

Comercial y licenciamiento

Open-core, cobrado por device activo

Las partes sobre las que construyes son abiertas; el servidor es source-available y convierte a una licencia permisiva con el tiempo.

SDKs, protocolo y specs

Apache-2.0 — los SDKs, el protocolo y las specs sobre los que construyes tienen licencia permisiva.

Servidor source-available

FSL-1.1 — convierte a licencia permisiva tras 2 años. No es AGPL, no es SSPL.

Cobro por device activo

Pagas por device activo sincronizado — alineado al uso real, no a asientos ni cores.

Precio
Bajo consulta
Cobro por device activo sincronizado.
Hablar con ventas
Preguntas frecuentes

Dudas, resueltas

¿Listo para llevar tu app a offline-first?

Cuéntanos sobre tu stack y tus tenants — mapeamos CrossFly Sync sobre la base de datos que ya ejecutas.

Hablar con ventas