JSON hosting & remote config · delivered from the edge
Change your app's behavior
without shipping a release.
Put your feature flags, settings, and content in versioned JSON. Edit it in the dashboard, publish a version, and it's live on Cloudflare's edge in seconds — read by your web, iOS, and Android apps in milliseconds. You pay for the number of configs you host, never for the traffic they serve.
// Read a published config from the edge — one request, ~ms latency
const cfg = await fetch(
"https://api.shareanydata.com/v1/acme/Prod/feature-flags",
{ headers: { Authorization: "Bearer sad_read_•••" } }
).then(r => r.json());
if (cfg.checkout_v2) renderNewCheckout();
Free plan: 1 workspace, 1 published config, 1M reads/mo. No credit card.
Built for config you change often and read everywhere.
Environments & promotion
Organize each config across Dev, Stage, Cert, and Prod. Promote the exact bytes forward when you're ready — promotion creates a new version in the target environment.
Immutable versions & rollback
Every save is a new version with a timestamp. Publish any version, and roll back to a previous one with a click. Nothing is overwritten.
Templates & schema diff
Link a config to a template to keep its shape consistent. We compute the missing and extra keys against the template and generate an editing form from it.
Edge-cached delivery
Published JSON lives in Cloudflare KV and serves through the edge cache with strong ETags. Conditional requests return 304 with no body — fast for your apps, cheap to run.
Web, iOS & Android SDKs
Thin clients that cache by ETag, send conditional requests, fall back to the last value offline, and can poll for updates. Ship a read-only key; never a secret.
Scoped keys & audit log
Issue read keys for clients and server keys for CI. Restrict a read key to one environment, revoke any key instantly, and review a log of every publish.
From edit to edge in three steps.
1 · Author
Create a config and edit its JSON in the dashboard. It validates as you type and checks it against your template.
2 · Publish
Save a version and publish it. The bytes are written to Cloudflare KV and the edge cache is refreshed — typically live within seconds.
3 · Read anywhere
Your apps fetch /v1/{project}/{env}/{config} with a read key. Cached responses are served from the nearest Cloudflare location.
Pay for configs, not traffic.
Unlimited reads on every tier. No per-seat fees. No MAU billing. Start free.
- 1 workspace
- 1M reads/mo
- All environments & templates
- Web · iOS · Android SDKs
- Up to 100 workspaces
- Unlimited reads (25M/mo fair use)
- Everything in Free
- Email support
- Up to 100 workspaces
- Unlimited reads (150M/mo fair use)
- Everything in Starter
- Priority edge propagation
- Up to 100 workspaces
- Unlimited reads (400M/mo fair use)
- Everything in Growth
- Read-overage option
- Up to 100 workspaces
- Unlimited reads (1B/mo fair use)
- Everything in Scale
- Audit log export
One config, every platform.
JavaScript / Web
import { createClient } from "@shareanydata/web";
const sad = createClient({
sdkKey: "sad_read_•••",
projectKey: "acme",
env: "Prod",
});
const flags = await sad.get("feature-flags");
Swift / iOS
import ShareAnyData
let sad = ShareAnyData(
sdkKey: "sad_read_•••",
projectKey: "acme",
env: "Prod")
let flags = try await sad.get("feature-flags")
Kotlin / Android
val sad = ShareAnyData(
sdkKey = "sad_read_•••",
projectKey = "acme",
env = "Prod")
val flags = sad.get("feature-flags")