Versioned cloud storage with locks and sync.
Lock the file you're working on, restore any prior version, share with a public or password-protected link, and keep cloud and desktop in sync via a Rust engine — without paying for a separate version-control product.
What this app solves.
Creative teams lose hours every week to file management. Someone overwrites someone else's work in Drive. The "final v3 latest" lives in three places. A reviewer needs an older version, and no one remembers where to find it.
- 01 Overwrites between artists working on the same file
- 02 Which version is the latest? — endless Slack threads
- 03 Sharing externally means uploading copies to yet another tool
- 04 Cloud and desktop fall out of sync between sessions
Built for the way teams actually work.
Exclusive locks with audit history
Take a lock before you edit so no one else overwrites your work. Locks are tracked with a full history — when, who, why. Admins can force-unlock if someone steps away with a lock held.
Version history with restore
Every save is versioned. Restore any prior version by its ID. Browse the full history of a file with checksums so you know what changed.
Share links — public, password, expiring
Generate a share link with the access level you want — public, password-protected, or single-recipient. Set expiration and max-download limits. Revoke at any time.
Glob include / exclude sync rules
Decide what syncs and what stays local. Glob patterns let you exclude `*.tmp`, `*.bak`, or everything outside a working directory. Rules apply per-project.
Rust desktop sync engine
A native Rust engine syncs cloud and local in both directions with SHA-256 deduplication and a per-project queue. Conflicts resolve by keeping both copies and renaming — never silently overwriting work.
Native MCP. Full REST.
Every endpoint Layerline uses internally is yours. Call it from an agent, from a CI step, from your DCC plugin. No vendor SDK, no rate-limit surprises.
// Lock the file you're about to edit
await client.callTool({
name: "mcp__layerline__ls_lock_file",
arguments: { fileId: "f_8s3m1", projectId: "prj_abc" },
});
// Later, list everything in a folder by path
const files = await client.callTool({
name: "mcp__layerline__ls_list_files",
arguments: { projectId: "prj_abc", path: "/character/hero" },
});
The rest of the platform.
Review Studio
A real review workflow — draft, submitted, in-review, decided, reopened, superseded. Per-file approve / changes / reject. Threaded comments with severity. Annotation overlays. Plus three AI helpers that summarise changes, summarise comments, and estimate approval readiness.
App · AssetsAsset Management
Every asset has a status, an output tag, and a comment thread. Override which task types complete which outputs per asset. Get AI naming and tagging suggestions when you create something new.
App · Agents & AIAgents & AI
Every endpoint Layerline uses internally is exposed as a native MCP tool. User-issued API keys, auto-generated Swagger, an in-product Project Assistant that calls those tools as it works alongside you.
One OS. Every app. Yours.
Start free. No credit card, no procurement loop. Scale to a studio when you're ready.