Skip to main content

Run Sail

Use this guide when you want to run or host the FDC3 Sail platform with minimal custom code — the full workspace UI, intent resolver, channel selector, and app directory wired for you.

You do not need to implement host contracts yourself. Configure your app directory, build or run the product, and connect FDC3 applications.

Deployment target​

TargetPackageBest for
Browser / PWA@finos/sail-financeURL or installable PWA; simplest deployment; no native installer

sail-finance exposes a Desktop Agent to FDC3 apps (2.2 and 3.0 wire protocols, negotiated per connection). Your applications use @finos/fdc3 and getAgent() — see Add your app to Sail.

For details on sandboxing, updates, and OS integration — and the future native-shell direction — see Deployment targets.

Prerequisites​

  • Node.js 24+
  • npm 11+
nvm use 24

Quick start (from source)​

The sail-finance platform package is developed in the FDC3-Sail monorepo. Clone and run:

git clone https://github.com/finos/FDC3-Sail.git
cd FDC3-Sail
npm install

Browser mode​

npm run dev

This starts the Desktop Agent, platform API, and Sail web UI. Open http://localhost:3000.

App directory​

FDC3 Sail loads application metadata from an app directory — JSON describing which apps exist, their URLs, intents, and context types.

The development build merges the FINOS conformance fixture from packages/sail-conformance-harness/conformance-appd.json so you can exercise standard FDC3 behaviour immediately. For your own deployment, replace or extend this with your organisation's app directory (same FDC3 App Directory schema).

Point your deployment at the directory URL or file your build expects (see packages/sail-finance wiring for the current default). For app metadata examples, see Add your app to Sail.

Build and host​

Build the static web application from the monorepo root:

npm run build

Host the packages/sail-finance/dist output on HTTPS in production (FDC3 For-The-Web requires a secure context for app connections). You can deploy behind your reverse proxy, CDN, or internal web tier.

Enterprise deployment​

FDC3 Sail is under active development and not yet ready for production use (see the root README status). Treat the following as your integration work when rolling out at enterprise scale:

  • Identity and access — SSO, entitlements, and app directory governance
  • Packaging and distribution — PWA policy, MDM
  • Operations — monitoring, logging, incident response, version pinning
  • Network and security — HTTPS, origin policy, app URL allowlists

Workspace and layout state persists via sail-finance's own store (Zustand + localStorage) — it does not go through @finos/sail-platform. If you are building a custom host and want platform-backed persistence instead, see Getting Started and the platform overview.

What happens at runtime​

Next steps​