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
Northwind product: widget feature: sso release 2.1

Configure single sign-on

feature="sso"
Pages Search PDF In-app help
A topic as the reader Northwind sees it: the paragraph for the SSO feature is shown, the paragraph for a product they do not hold is hidden, and the same filter applies to pages, search, PDFs and in-app help.

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.

Explore all features

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>
What three readers see of the topic
Paragraph widget + sso, 2.1 widget, 1.4 gadget + sso, 2.3
Open Settings, then Security. ShownShownShown
Choose your identity provider. ShownHiddenShown
Pair the gadget. HiddenHiddenShown

How it works

From a git push to the right page for every reader

  1. 01

    Write

    Author DITA in your GitHub repository, or in the web editor. Preview locally as any reader with the opend CLI.

  2. 02

    Push

    A webhook queues a build. The worker validates it; a failure shows on the commit and never goes live.

  3. 03

    Entitle

    Define organisations, readers and what they hold, or sync them from billing or your CRM.

  4. 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.

MIT licensed

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

Self-hosting guide

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

    Start Free plan

  • 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

    Start Trial plan

  • 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

    Apply for the Open source plan

Compare plans and read the FAQ

Publish docs that fit every reader

Bring your DITA repository. We will have your instance running in minutes.

Get started See our docs