Add OpenRSL to your website.
Setting up is easy and fast. Pick a platform, a setup mode, and where you’re running it. The workbench below generates the exact commands, config files, and verification steps. Everything runs from the open-source reference implementation.
Scaffold a demo, connect the hosted PDS service when you need PDS-backed licensing, then verify discovery, ticket minting, licensed fetches, and receipts.
PDS PropertyRightsRSL™ is a commercial implementation of OpenRSL integrated with PDS and Stripe. Its turnkey plugin tools can be installed instantly in compatible websites across a range of publishing platforms.
Pick how far you go.
You don’t have to do everything at once. RSL layers into three levels, one standard. Start at Level 1 and add the next when you’re ready.
-
LEVEL 1
Declare your terms. Publish an rsl.xml manifest of allowed uses and prices. Crawlers can read it; no backend required.
-
LEVEL 2
Make it accountable. Add the OLP token server (self-host or PDS). Crawlers present a signed ticket, so every request is auditable.
-
LEVEL 3
Get paid. Connect a payment backend such as Stripe; licensed uses settle automatically and issue a receipt.
What you need.
A site with URLs
OpenRSL works with any site that has stable, addressable URLs. Your content structure does not change.
A way to settle
The reference implementation settles via PDS (Personal Digital Spaces): publishers receive payouts, crawlers fund a wallet. Other providers can be wired through the pluggable payment adapter.
A reference library
Python, TypeScript, or PHP. Pick the one that matches your stack; each lives under libraries/ in the repository.
Three steps to license your content.
Get a reference library
git clone https://github.com/openrsl/openrsl.git # reference libraries live under libraries/ cd openrsl/libraries
Publish your manifest
Use the library to generate an rsl.xml that declares which assets are licensed, the permitted use types (ai-train, ai-summarize, ai-cite, ai-inference), and the price. Point it at the OLP server that issues tickets for your content, then annotate robots.txt.
Manifest fields in the spec →Connect payouts
Configure your payment provider in the library settings. The reference implementation connects to PDS. Once connected, every license ticket acquisition triggers a payment and issues a receipt.
Pay for access, then fetch.
-
1
Read the target's rsl.xml to find its OLP server and the price for the use you intend.
-
2
Request a ticket: POST /token with the intent and asset. The server settles payment and returns a signed ticket.
-
3
Present it on the content request with the CAP header: Authorization: License {ticket-id}. The origin validates and serves.
# 1. acquire a ticket curl -X POST $OLP/token \ -d intent=ai-train \ -d asset=/article/the-old-deal # 2. fetch with the CAP header curl https://site/article/the-old-deal \ -H "Authorization: License $TICKET"
Run the OLP server locally.
Before wiring your own site, run the reference token server with the mock payment provider and verify it. This is the first successful loop.
git clone https://github.com/openrsl/openrsl.git cd openrsl/olp-server npm ci --ignore-scripts npx tsc PAYMENT_PROVIDER=mock node dist/index.js
curl http://localhost:3000/key
Success is a JWKS response with one ES256 key. Keep the server running while you try the publisher or crawler examples in the repository.