Open source, MIT Managed hosting
Docs that show every reader exactly what applies to them
Write DITA in your own GitHub repository. Push, and OpenD builds, validates and publishes it. Each reader gets only their products, features and release: on the docs site, in search, in PDFs and in the help panel inside your app.
Get started See it on our docs
Our own documentation is a DITA repository published by OpenD, with the same per-reader filtering, search and PDFs. It is the best example of what you get.
- Licence
- MIT
- Source
- Your GitHub repo
- Filtering
- Fail-closed
- Hosting
- Ours or yours
Configure single sign-on
Why OpenD
-
Open source core
OpenD is MIT licensed. Read every line, and self-host whenever you like.
-
Your repository is the source
DITA lives in your own GitHub repo. A push publishes; a failing build never goes live.
-
Fail-closed, tested for leaks
When a condition is unclear, content is hidden. An end-to-end leak test guards every release.
-
Isolated per customer
Each managed customer gets their own instance, Postgres database and storage.
Platform
Everything a docs team needs, and nothing a reader should not see
Author once in DITA. OpenD delivers the right slice of it everywhere your readers look.
-
Per-reader filtering
Product, feature, audience and release conditions on any map, topic or element. One filter feeds every output.
-
DITA, straight from GitHub
Topics, maps, bookmaps, conref and keyref reuse. A push fires a webhook build, or polling works behind a firewall.
-
Context-aware in-app help
A small widget opens the help panel on the topic for the current screen. Routes map to topics; your backend signs tokens.
-
A PDF for every reader
Bookmaps become PDF publications holding only the chapters and paragraphs each reader may see.
-
Search that cannot leak
Postgres full-text search with phrases, exclusions and prefix matching, ranked within what the reader can see.
-
Analytics without tracking
Top pages, zero-result searches and "Was this page helpful?" answers, without storing a reader’s email, id or IP.
-
A web editor for non-coders
A branch per author, live preview, publishing through a pull request, and side-by-side conflict resolution.
-
SSO and entitlement sync
Readers sign in with your OpenID Connect provider. Orgs and entitlements sync from billing or your CRM.
How filtering works
"Which release" and "who may see this" are one rule
Most tools filter by version at build time and bolt access control on later. OpenD keeps every element's conditions in the release snapshot and applies them per reader.
- product and feature match what the reader's organisation is entitled to.
-
release takes ranges such as
2.0..and matches the version the reader runs. - Links to hidden topics render as plain text, and hidden pages answer with the same 404 as missing ones.
- Typos and undeclared values hide content and fail validation, so mistakes never leak.
<topic id="configure-sso">
<title>Configure single sign-on</title>
<body>
<p>Open Settings, then Security.</p>
<p feature="sso">Choose your identity provider.</p>
<p product="gadget" release="2.0..">Pair the gadget.</p>
</body>
</topic>
| Paragraph | widget + sso, 2.1 | widget, 1.4 | gadget + sso, 2.3 |
|---|---|---|---|
| Open Settings, then Security. | Shown | Shown | Shown |
| Choose your identity provider. | Shown | Hidden | Shown |
| Pair the gadget. | Hidden | Hidden | Shown |
How it works
From a git push to the right page for every reader
-
01
Write
Author DITA in your GitHub repository, or in the web editor. Preview locally as any reader with the opend CLI.
-
02
Push
A webhook queues a build. The worker validates it; a failure shows on the commit and never goes live.
-
03
Entitle
Define organisations, readers and what they hold, or sync them from billing or your CRM.
-
04
Deliver
Readers sign in and get their own view: pages, search, PDFs and the help panel in your app.
Use cases
Built for documentation with an audience
-
Product docs across releases
One source for every release line. Readers on 1.x and 2.x each get the docs for the version they run.
-
In-app, context-sensitive help
Open the right topic for the screen your user is on, filtered for who they are, inside your own app.
-
Customer and partner portals
Entitlements decide which products and features each organisation sees, across pages, search and PDFs.
-
Controlled documentation
Every change goes through Git and pull requests, a validation gate and an audit log, with fail-closed access.
Hosting
Managed for you, or self-hosted by you
The same open-source OpenD either way. Start managed and move in-house later, or the other way round.
We run it
- A dedicated instance with its own Postgres and storage
- Provisioning and upgrades handled for you
- Generated HTTPS domain or your own custom domain
- Reader SSO and in-app help configured with you
You run it
- Docker Compose or Railway, one image for every role
- A setup script writes secrets and creates the GitHub App
- Polling mode for servers GitHub cannot reach
- Your infrastructure, your upgrades and backups
Pricing
Plans for every team
A dedicated instance on every plan. Add reader sign-in and in-app help when you need them.
-
Free
Free
Shared hosting
- A docs site on shared hosting at <name>.opend.app
- Docs built from your GitHub repository
- Per-reader filtering, search and PDFs
-
Trial
1 month free
Shared hosting
- Starter features for one month, no card needed
- Then choose a paid plan, or keep the site on Free
-
Starter
RecommendedMonthly subscription
Shared hosting
- Shared hosting with your own site, database schema and storage
- Reader sign-in, the web editor and in-app help
- Docs built from your GitHub repositories
Available on request
-
Business
Monthly subscription
Dedicated instance
- Your own isolated OpenD instance
- Dedicated Postgres database and blob storage
- Your own custom domain
- Reader sign-in through your OpenID Connect provider
Available on request
-
Enterprise
Contact us
Dedicated instance
- Everything in Business
- Dedicated region and upgrade schedule on request
- Custom terms and invoicing
Available on request
-
Open source
Free for approved projects
Shared hosting
- Everything in Starter, free of charge
- For projects with a public repository and an open-source licence
- Apply once; we review each application
Publish docs that fit every reader
Bring your DITA repository. We will have your instance running in minutes.