Skip to main content

What is cloud-sync?

The cloud-sync command uploads your locally scanned project data to the CIAK cloud API. This enables team collaboration, SaaS analytics, and remote access to your code intelligence data.

ciak cloud-sync [ACTION] [OPTIONS]

Cloud sync is separate from knowledge sync (ciak sync knowledge), which imports local knowledge entries into your database.

Prerequisites​

  • An active license — see license.
  • A scanned project — run ciak scan --embeddings first.

Authentication is handled automatically via the license file at ~/.ciak/license. No separate API key is needed.

Actions​

ActionDescription
fullUpload all project data to the cloud (default)
incrementalUpload only changes since the last sync
statusShow current sync status
deleteRemove project data from the cloud

Options​

OptionDescription
-p, --path <PATH>Project path (default: current directory .)
--sync-profile <PROFILE>Data minimization profile: index_only, snippet_limited, or full

Sync profiles and feature impact​

Cloud sync now supports explicit data minimization profiles. This determines what data leaves your machine and what cloud features are fully available.

ProfileData sent to cloudWorks wellReduced / unavailable
index_onlyFile + symbol metadata, signatures, dependency graph (no snippets/context/docs)Code inventory, structural search, dependency analysisSnippet previews, context-heavy explanations, embedding-based quality
snippet_limitedIndex metadata + truncated snippets (max 20 lines / 1200 chars), no full context/docsSafer previews with lower exposure than full syncWide-context analysis, documentation-driven answers, embedding text upload
fullFull snippets, context blocks, documentation, embedding text, vectors when availableMaximum cloud feature completeness and best contextual qualityNo feature degradation; widest data-sharing scope

Default profile can be controlled with PRIVACY_SYNC_PROFILE_DEFAULT. You can override per command:

ciak cloud-sync full --sync-profile index_only
ciak cloud-sync full --sync-profile snippet_limited
ciak cloud-sync full --sync-profile full

For continuous cloud sync via watch mode, use scan's profile override:

ciak scan --watch --cloud-sync --cloud-sync-profile snippet_limited

Examples​

Example 1 — Full sync (embeddings included automatically in full profile)​

ciak scan --embeddings
ciak cloud-sync full --path . --sync-profile full

Uploads files, symbols, dependencies, and embeddings to the cloud API when vectors are available.

Example 2 — Incremental sync​

ciak cloud-sync incremental

Uploads only data that has changed since the last sync.

Example 3 — Check sync status​

ciak cloud-sync status

Example 4 — Remove project from cloud​

ciak cloud-sync delete

Input and output examples​

Representative CLI output (truncated; exact formatting may vary by version):

Full sync​

Input

ciak cloud-sync full --path . --sync-profile full

Output

Cloud sync action: full
Project: /path/to/project
Sync profile: full

Uploading files...
Uploading symbols and dependencies...
Uploading embeddings...

✓ Sync complete

Status​

Input

ciak cloud-sync status

Output

Project sync status
Last successful sync: 2026-02-26T14:22:08Z
Last mode: incremental
Profile: snippet_limited
Pending changes: 0

What gets uploaded​

What gets uploaded depends on your selected sync profile.

  • Files — file metadata (paths, languages, sizes)
  • Symbols — functions, classes, variables, and their signatures
  • Dependencies — import/export relationships between files
  • Code snippets / context / docs — only when profile allows it (snippet_limited or full)
  • Embeddings — only in full profile and when vector data exists

Troubleshooting​

"No license found"​

Activate your license first:

ciak license activate XXXX-XXXX-XXXX-XXXX

"Local database not found"​

Run a scan before syncing:

ciak init
ciak scan --embeddings
  • license — required for cloud authentication.
  • scan — populates the local database that cloud sync uploads.
  • sync — local knowledge base sync (different from cloud sync).