Features
One source. A precise view for every reader.
OpenD turns DITA in your GitHub repository into a docs site, search, PDFs and in-app help, all filtered by the same rule.
Authoring in DITA
Structured, reusable content in a Git repository you own.
- Topics, maps and bookmaps in a practical DITA subset
- Reuse with conref, conkeyref and keyref, including per-reader key definitions
- A template repository with sample topics, a theme and a validation workflow
opend validatein CI with every check the server runsopend previewrebuilds on save and previews as any reader- Release branches and tags, each published as its own release line
A web editor for authors without Git
Saving and publishing are separate, and the repository stays the single source of truth.
- Edit topic and map source in the browser, with validation next to it
- Live preview of unsaved text, and preview as any organisation
- Each author saves to their own branch; publishing opens one pull request
- Branch protection rules and required checks are shown before merging
- Side-by-side conflict resolution when the same lines changed
- Runs as a separate service: included when you self-host, ask us for managed
Per-reader filtering
Conditions on any element decide who sees it, and the filter is fail-closed.
- product and feature matched against the organisation’s entitlements
- release ranges such as 1.2..1.9 matched against the reader’s version
- audience, platform and other attributes filtered at build time with DITAVAL
- Hidden pages return the same 404 as missing ones
- Links to hidden topics render as plain text without the target’s title
- Images are served only when a topic the reader can see references them
Publishing and delivery
Push to publish, with a validation gate in front of every release.
- GitHub webhook builds, or polling for servers GitHub cannot reach
- A failing build shows as a failed commit status and never goes live
- Postgres full-text search with phrases, exclusions and prefix matching
- PDF publications per reader, with cover, contents and your theme
- PDFs are cached per release and entitlement set
- Your own brand theme on the docs site and in PDFs
Embedded, context-aware help
Show the right topic inside your product, for the user who is signed in.
- A help widget and button for your web app, plus a JSON API
- Map routes such as /settings/sso to help topics in help-contexts.yaml
- Your backend signs short-lived tokens for the signed-in user
- Hidden topics fall back to a parent key or the app’s default
- Only the origins you list may frame the panel
- A help lab shows what every key and route resolves to for each reader
Readers, SSO and entitlements
Who reads what comes from your identity provider and your systems of record.
- Reader sign-in with any OpenID Connect provider
- Organisations hold products, features and a release
- Sync organisations and readers from billing or a CRM in one transaction
- Signed webhooks, a full snapshot API, or a nightly pull
- Dry runs, merge and replace modes, and an audit entry per sync
- A removed reader loses access immediately on every replica
Analytics and feedback
Learn what readers look for without tracking who they are.
- Page views and searches across the site, help panel and API
- Top and zero-result searches, and helpfulness per page
- "Was this page helpful?" with an optional comment, no JavaScript needed
- Never records a reader’s email, id or IP address
- Respects Do Not Track and Global Privacy Control
- Rows expire after a retention period (180 days by default)
Publish docs that fit every reader
Bring your DITA repository. We will have your instance running in minutes.