Autark

For agents and scripts

Everything here is readable without a browser.

If you are an AI agent helping someone plan digital independence, start at /llms.txt. This page shows the same in a form humans can check.

Endpoints

GET /api/catalog.jsonthe whole catalogue — areas, needs, tools with vendor, offerings, footprint and precomputed verdicts, data classes, quiz, price table, sources
GET /api/needs/<id>.jsonone need with its tools
GET /api/tools/<id>.jsonone tool
GET /api/price-table.jsonthe dated price basis
GET /api/plan?…resolve a plan: verdicts with reasons, tally, infrastructure, costs, risk, comparison
GET /api/healthliveness

All JSON, UTF-8, Access-Control-Allow-Origin: *, no cookies, no keys.

The plan URL

/plan?a=<person|company>
     &n=<need,need,…>
     &c=<need:tool:mode,…>      mode ∈ sh | eu | ex
     &t=<need:tool,…>           what is used today
     &seats=<n>&v=<plan|today>

Example — a company that runs its analytics and newsletter itself and used Google Analytics before:

https://independence.kokal.cloud/plan?a=company&c=web-analytics:umami:sh,newsletter:listmonk:sh&t=web-analytics:google-analytics&seats=12

Resolve it without rendering anything:

curl "https://independence.kokal.cloud/api/plan?a=company&c=web-analytics:umami:sh,newsletter:listmonk:sh&t=web-analytics:google-analytics&seats=12"

The decoder is lenient: unknown ids are ignored and listed in warnings. Only modes listed in a tool's modes are valid for it.

The verdict rule

Verdict rule (first match wins):
1. Host it yourself and the tool is self-hostable → GREEN.
3. Hosted outside Europe → RED.
4. Hosted in Europe but the company's jurisdiction or the server region is unknown → UNKNOWN (never green).
5. Hosted in Europe but the company (or its parent) is outside Europe → RED.
6. European company, servers outside Europe → RED.
7. European company, servers in Europe → YELLOW; if the data centre is run by a non-European cloud provider, YELLOW with a caveat.
Europe = EU, EEA, EFTA and the United Kingdom (data/europe.yaml).

Green, yellow and red are the three answers a visitor asked for. Unknown is the fourth state the data forces on us: a missing fact never becomes green. Yellow can carry a caveat when a European service runs on a non-European cloud provider's European region; the risk section lists those separately.

Ids you will need

Need ids: media-library music-library audiobooks-podcasts ebooks photo-library home-automation voice-assistant home-cameras email calendar-contacts file-storage file-transfer backup password-manager identity-sso notes bookmarks-reading recipes rss messaging video-calls polls-dates dns-adblock vpn-remote-access search-engine ai-assistant ai-models budgeting documents-paperless pdf-tools translation website blog newsletter web-analytics forms-surveys scheduling-booking crm events-ticketing ecommerce payments community-forum live-chat helpdesk team-chat office-suite wiki-knowledge whiteboard e-signature project-management time-tracking hr invoicing dashboards-bi database-spreadsheet server-hosting object-storage container-management monitoring-metrics status-monitoring secrets-management domains-dns git-hosting error-tracking design-tool workflow-automation transactional-email

Tool ids are in catalog.json (tools[].id); every tool lists the needs it serves and the modes it can be chosen in.

Attribution

Open-source facts (licence, source, stars, activity, platforms) are merged from awesome-selfhosted-data (CC-BY-SA 3.0). The curated fields (vendor jurisdiction, hosting region, footprint, verdict) are ours. Prices are captured from Hetzner Cloud on 2026-09-04. Details on /sources.