---
url: https://lettuceai.app/docs/sync
title: "Sync — LettuceAI"
description: "Transfer chats, characters, and settings between devices using end-to-end encrypted peer-to-peer sync."
---

Menu 

# Sync

Sync lets you transfer your data securely between your own devices. Instead of uploading anything to a cloud service, your devices connect directly to each other over an encrypted peer-to-peer connection.

Sync is manual. Your devices only connect while you are actively syncing. Nothing runs in the background and no data is stored online.

## How Sync works

When you start a sync, one device creates a secure, temporary connection. Another device connects to it and the data is transferred directly between them. Once the sync finishes, the connection closes.

There are no accounts, no always-online servers, and no permanent cloud storage involved.

Make sure devices are in same Network

Sync Feature requires both devices to be on the same local network (e.g., connected to the same Wi-Fi). Ensure that any firewall settings allow the devices to communicate with each other. Sync will not work over the internet or different networks.

![The host and join handshake from start to finished transfer](https://lhdgeo5fms.ufs.sh/f/m0TBUtMLsaiERiXzz4Jx2P34yDg6iKGIpAlcoTf9etwqHkzC)

One device hosts and shows a code, the other joins on the same Wi-Fi. After a quick readiness check and your confirmation, the data transfers end to end encrypted and the receiving device reloads. Nothing stays online afterward.

## What can be synced?

Sync can transfer the data you create inside the app, including:

-   Chats and group chats
-   Characters and personas, including avatar and banner crop framing
-   Memories and their saved embeddings
-   Settings & preferences

...Basically, everything.

This allows you to move your setup to another device or keep two devices up-to-date.

## What Sync is NOT

-   There is no account system
-   There is no cloud backup
-   Nothing stays online after the sync ends
-   No third-party server stores your data

Sync is simply a secure transfer between devices you control.

## Security & Encryption

All sync traffic is end-to-end encrypted. Only the two devices involved in the sync can read the data being transferred.

Your data never passes through LettuceAI servers or becomes readable to anyone else.

## How to Sync

Sync is started manually. You will need both devices open at the same time, with Sync settings visible on each one.

One device becomes the **Host** (the device sending data), and the other becomes the **Join** device (the device receiving data). Once connected, the transfer begins automatically.

### Step 1: Start Hosting (Device A)

On the device that already has your data, go to **Settings → Local Sync** and choose **"Host"**, then tap **"Start Hosting"**.

A sync code and connection details will be displayed. Keep this screen open. This device will share its data with the other one.

![Host UI](https://lhdgeo5fms.ufs.sh/f/m0TBUtMLsaiE9JJA54nOqX2jKv1NyFE6ATZbzRdLmxlchJVB)

### Step 2: Join the Session (Device B)

On the device that should receive the data, go to **Settings → Local Sync** and choose **"Join"**.

Enter the IP address and code shown on Device A, then tap **"Connect"**.

If connection and authentication are successful, Device A will request user confirmation for connection and data transfer. Do not close the app until the transfer is complete.

![Join UI](https://lhdgeo5fms.ufs.sh/f/m0TBUtMLsaiEorEg7ixgeUAy1BckbI0oS8FO2ihTxv7GqEl9)

### Step 3: Wait for the transfer to finish

Once you confirm on the host, the data transfers directly between the two devices. Before the receiving device reports it is **Ready**, it checks whether everything needed to use the incoming data is in place, for example the embedding model that powers dynamic memory. When the transfer completes, the receiving device reloads its settings automatically, so the synced preferences take effect right away without a restart.

If something the synced data relies on is missing, the app tells you after the sync and offers to set it up. For dynamic memory, that means downloading the embedding model and continuing with dynamic memory on, or finishing with dynamic memory off for now and enabling it later once the model is installed.

## Sync during first-time setup

You do not have to finish setting up a fresh install before you can pull your data over. During onboarding, choose **Sync from another device** to receive everything from a device you already use. The new device acts as the receiver and connects to the device hosting the sync, exactly like the Join step above.

This is the fastest way to set up a second device: instead of importing characters and re-entering settings by hand, you connect once and the new device ends up matching the original, including the model readiness check and the settings reload described above.

## When do I need Sync?

You may want to use Sync when:

-   moving to a new device
-   keeping a desktop and laptop in sync
-   creating a private encrypted backup on another machine

If you only use one device, you never need to enable Sync.

## Do devices stay connected?

No. The connection only exists during the sync session. Once finished, the devices disconnect automatically and remain fully offline.

## What happens if a device is offline?

Sync will simply wait until you connect the devices again. There is no background queue or cloud storage holding your data.

[

PreviousLorebooks

](/docs/lorebooks)[

NextHelp Me Reply

](/docs/help-me-reply)
