Skip to content
Draft
Changes from 12 commits
Commits
Show all changes
56 commits
Select commit Hold shift + click to select a range
619a207
feat: initialise Solid26 implementors guide
jeswr Apr 5, 2026
59eaa64
fix: update Web Access Control links and dates in the specification
jeswr Apr 6, 2026
8fa3c69
fix: update versioning to include CG-Draft
jeswr Apr 6, 2026
4269b76
feat: add editor's note regarding WAC version updates
jeswr Apr 6, 2026
1798a18
fix: remove discussions of stability
jeswr Apr 6, 2026
d745ce3
fix: remove reference to WebID-TLS from Solid Protocol amendments
jeswr Apr 6, 2026
00b8caa
fix: remove Implementation Requirements section from specification
jeswr Apr 6, 2026
735cec4
fix: update implementation guide for Solid26 to clarify purpose and c…
jeswr Apr 6, 2026
f46d28f
fix: remove Acknowledgements section from Solid26 specification
jeswr Apr 6, 2026
ddc0188
fix: update Solid Protocol and related sections to reflect CG-DRAFT/F…
jeswr Apr 7, 2026
2ba9106
fix: update notes heading "Editors Note" -> "Note"
jeswr Apr 7, 2026
91216e0
fix: update ACP link to reflect correct section in Solid Protocol
jeswr Apr 8, 2026
7182399
fix: add Solid26 reference and links to specification table
jeswr Apr 8, 2026
2ce1f06
fix: clarify Solid Protocol and Web Access Control descriptions in So…
jeswr Apr 8, 2026
286e7c7
fix: add note on server interoperability with Solid26 clients
jeswr Apr 8, 2026
b5625db
fix: add Implementation Guidance section with WebID note
jeswr Apr 8, 2026
84996d7
Update solid26.html
jeswr Apr 14, 2026
cdf5962
Update solid26.html
jeswr Apr 15, 2026
84f1f3f
chore: update Christoph Brauns metadata
jeswr Apr 15, 2026
a35a492
Update solid26.html
jeswr Apr 15, 2026
51a6c32
Update solid26.html
jeswr Apr 15, 2026
17e6849
Apply suggestion from code review: CG Note -> CG Report
uvdsl Apr 15, 2026
cf3d4b9
edit Solid26 based on feedback from CG meeting on 2026-04-15
uvdsl Apr 16, 2026
2ad25c3
clarify patch detection and fallback mechanisms
jeswr Apr 17, 2026
f58e47d
describe WAC and ACP usages
jeswr Apr 17, 2026
403ebc1
Update Solid Protocol and Solid-OIDC references with latest URLs and …
jeswr Apr 17, 2026
920b828
Add archived link to March 2026 implementation survey results
jeswr Apr 17, 2026
0b1f20a
Add Access Control Policy section to Solid26 documentation
jeswr Apr 17, 2026
0e83a48
fix citation
uvdsl Apr 17, 2026
95ed079
Apply suggestions from code review
uvdsl Apr 17, 2026
00764b2
Apply suggestion from code review
uvdsl Apr 17, 2026
35658e8
refine wording on patching
jeswr Apr 17, 2026
5309d06
improve guidance on ETag and last-modified concurrency control
jeswr Apr 18, 2026
bd69a38
Apply suggestions from code review
uvdsl Apr 20, 2026
254fb9a
revising authorization logic bullet point
uvdsl Apr 20, 2026
12a71a3
revising Solid Protocol comment re WAC to mention ACP
uvdsl Apr 20, 2026
173f6c2
remove WAC comment
uvdsl Apr 20, 2026
bcc1de4
indent etag flow
uvdsl Apr 20, 2026
5af7e45
add overview table for fixed specification versions
uvdsl Apr 20, 2026
68f852e
Apply suggestions from code review
uvdsl Apr 20, 2026
2076240
solid26: WebID Guidance (#781)
jeswr Apr 24, 2026
6ec3f43
Trim ETag conditional-PUT section to a pointer
jeswr Apr 24, 2026
9bfe0bf
Fix malformed HTML in Solid Protocol comments
jeswr Apr 24, 2026
7be1a87
Add §5 Security and Privacy Considerations
jeswr Apr 24, 2026
0019a74
Tighten §5 Security and Privacy to four core points
jeswr Apr 24, 2026
dd2a271
update text on protected WebID properties
jeswr Apr 25, 2026
064aa09
Apply @TallTed editorial: comma after 'e.g.' / 'i.e.'
jeswr Apr 26, 2026
d805e76
Remove §5 'Authorization authorizes agents, not applications' bullet
jeswr Apr 26, 2026
6d87786
Remove §5 'Consent transitivity in access control' bullet
jeswr Apr 26, 2026
550ed4b
Trim §4 data-discovery note to TR work items
jeswr Apr 26, 2026
acc004a
Remove §5 Security and Privacy Considerations from solid26
jeswr Apr 26, 2026
995daa0
Note Protected Properties non-conformance in §2.5
jeswr Apr 26, 2026
d125c4a
Reference SAI Authorization Agent + link SAI in §4 discovery note
jeswr Apr 26, 2026
0719fca
Reframe §3.1.3 WebID Profile assembly as set-based fixed point
jeswr Apr 26, 2026
75e9097
Name §3.1.3 Note: Bounded traversal
jeswr Apr 26, 2026
3cf1d4b
§3.1.3 Bounded traversal: require 2-hop minimum
jeswr Apr 27, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
377 changes: 377 additions & 0 deletions solid26.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,377 @@
<!DOCTYPE html>
<html lang="en" xml:lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<title>Solid26: Implementation Guide</title>
<meta content="width=device-width, initial-scale=1, shrink-to-fit=no" name="viewport" />
<style>
main,
main>article,
main>article>div {
background:inherit;
}
body {
counter-reset:section sub-section appendix sub-appendix;
}
code, samp { color: #e00; }
pre code, pre samp { color: var(--text); }
dfn { font-weight:inherit; }
.do.fragment a { border-bottom:0; }
.do.fragment a:hover { background:none; border-bottom:0; }
section figure pre { margin:1em 0; display:block; }
cite .bibref { font-style: normal; }
.tabs nav ul li { margin:0; }
div.issue, div.note, div.warning {
clear: both;
margin: 1em 0;
position: relative;
}
div.issue h3, div.note h3,
div.issue h4, div.note h4,
div.issue h5, div.note h5 {
margin:0;
font-weight:normal;
font-style:normal;
font-size:1em;
}
div.issue h3 > span, div.note h3 > span,
div.issue h4 > span, div.note h4 > span,
div.issue h5 > span, div.note h5 > span,
figure.example > figcaption > span {
text-transform: uppercase;
}
div.issue h3, div.issue h4, div.issue h5 {
color:var(--issueheading-text);
}
div.note h3, div.note h4, div.note h5 {
color:var(--noteheading-text);
}
figure.example figcaption {
color:var(--exampleheading-text);
}
main figure {
text-align:left;
}
figure[id] {
position:relative;
padding:0.5em;
}
figure[id] figcaption {
font-style:normal;
font-size:1em;
}
figure.example figcaption span + span {
text-transform:initial;
}
.copyright + hr {
border-style: solid;
}
header address a[href] {
float: right;
margin: 1rem 0 0.2rem 0.4rem;
background: transparent none repeat scroll 0 0;
border: medium none;
text-decoration: none;
}
header address img[src*="logos/W3C"] {
background: #1a5e9a none repeat scroll 0 0;
border-color: #1a5e9a;
border-image: none;
border-radius: 0.4rem;
border-style: solid;
border-width: 0.65rem 0.7rem 0.6rem;
color: white;
display: block;
font-weight: bold;
}
main article > h1 {
font-size: 220%;
font-weight:bold;
}
#acknowledgements ul { padding: 0; margin:0; }
#acknowledgements li { display:inline; }
#acknowledgements li:after { content: ", "; }
#acknowledgements li:last-child:after { content: ""; }
dd .contributed {
user-select: none;
}
aside.do { overflow:inherit; }
aside.do blockquote {
padding: 0; border: 0; margin: 0;
}
dl[id^="document-"] ul {
padding-left:0;
list-style-type:none;
}
dl [rel~="odrl:action"],
dl [rel~="odrl:action"] li {
display: inline;
}
dl [rel~="odrl:action"] li:after {
content: ", ";
}
dl [rel~="odrl:action"] li:last-child:after {
content: "";
}
aside section > .toc,
aside section > .toc ol {
margin-left: revert;
}
aside section > .toc li li {
margin-left: 1em;
font-size: revert;
}
table {
border-collapse:collapse;
}
table + table {
margin-top:2em;
}
caption {
text-align:left;
padding:0 0.25em 0.25em;
margin-bottom: 1em;
font-size: 1em;
font-style: revert;
font-weight: bold;
border-bottom: 1px solid;
}
caption, tbody, tfoot {
border-bottom:2pt solid #ccc;
}
thead,
thead th[colspan] {
border-bottom:1pt solid #ccc;
}
[rowspan] { vertical-align: bottom; }
tbody [rowspan] { vertical-align: middle; }
tbody th[scope="rowgroup"] {
border-bottom:3pt double #ccc;
}
tr {
border-bottom:1pt solid #ccc;
}
th, td {
padding:0.25em;
font-size:0.923em;
word-wrap:normal;
}
table ul,
table ol,
table li,
table p,
table dd {
margin:0;
text-align:left;
}
table ul,
table ol {
padding-left:1em;
}
tfoot td > * + * {
margin-top:1em;
}
tfoot dd:after { content: "\A"; white-space:pre; }
tfoot dt, tfoot dd { display:inline; }
tfoot dd { margin-left: 0.5em; }
tfoot dd + dt { margin-top:0; }
article section:not([id=abstract]):not([id=sotd]):not([id=references]):not([id=appendix]):not([id=acknowledgements]):not([id=changelog]):not([id=exit-criteria]) {
counter-increment:section;
counter-reset:sub-section;
}
article section:not([id=abstract]):not([id=sotd]):not([id=references]):not([id=appendix]):not([id=acknowledgements]):not([id=changelog]) section:not([id$=references]):not([id=exit-criteria]) {
counter-increment:sub-section;
counter-reset:sub-sub-section;
}
article section:not([id=abstract]):not([id=sotd]):not([id=references]):not([id=appendix]):not([id=acknowledgements]):not([id=changelog]) section:not([id$=references]):not([id=exit-criteria]) section {
counter-increment:sub-sub-section;
counter-reset:sub-sub-sub-section;
}
article section:not([id=abstract]):not([id=sotd]):not([id=references]):not([id=appendix]):not([id=acknowledgements]):not([id=changelog]) section:not([id$=references]):not([id=exit-criteria]) section section {
counter-increment:sub-sub-sub-section;
counter-reset:sub-sub-sub-sub-section;
}
article section:not([id=abstract]):not([id=sotd]):not([id=references]):not([id=appendix]):not([id=acknowledgements]):not([id=changelog]):not([id=exit-criteria]):not([id^=table-of-]):not([id^=list-of-]) > h2:before {
content:counter(section) ".\00a0";
}
section:not([id$=references]):not([id^=changelog]):not([id=exit-criteria]):not([id^=table-of-]):not([id^=list-of-]) > h3:before {
content:counter(section) "." counter(sub-section) "\00a0";
}
section > h4:before {
content:counter(section)"." counter(sub-section) "." counter(sub-sub-section) "\00a0";
}
article section.appendix {
counter-increment:appendix;
counter-reset:sub-appendix;
}
article section[class~=appendix]:not([id=abstract]):not([id=sotd]):not([id=appendix]):not([id=acknowledgements]):not([id=changelog]):not([id=exit-criteria]) section {
counter-increment:sub-appendix;
counter-reset:sub-sub-appendix;
}
section.appendix > h2:before {
content:counter(appendix, upper-alpha) ".\00a0";
}
section.appendix section > h3:before {
content:counter(appendix, upper-alpha) "." counter(sub-appendix) "\00a0";
}
</style>
<link href="https://www.w3.org/StyleSheets/TR/2021/base.css" media="all" rel="stylesheet" title="W3C-Base" />
Comment thread
uvdsl marked this conversation as resolved.
Outdated
<link href="https://www.w3.org/StyleSheets/TR/2021/dark.css" media="(prefers-color-scheme: dark)" rel="stylesheet" />
<link href="https://dokie.li/media/css/dokieli.css" media="all" rel="stylesheet" />
<script async="" src="https://dokie.li/scripts/dokieli.js"></script>
</head>
<body about="" prefix="rdf: http://www.w3.org/1999/02/22-rdf-syntax-ns# rdfs: http://www.w3.org/2000/01/rdf-schema# owl: http://www.w3.org/2002/07/owl# xsd: http://www.w3.org/2001/XMLSchema# dcterms: http://purl.org/dc/terms/ skos: http://www.w3.org/2004/02/skos/core# prov: http://www.w3.org/ns/prov# schema: http://schema.org/ doap: http://usefulinc.com/ns/doap# as: https://www.w3.org/ns/activitystreams# ldp: http://www.w3.org/ns/ldp# spec: http://www.w3.org/ns/spec# rel: https://www.w3.org/ns/iana/link-relations/relation# odrl: http://www.w3.org/ns/odrl/2/">
<main>
<article about="" typeof="schema:Article">
<div class="head">
<h1 property="schema:name">Solid26: Implementation Guide</h1>
<p id="w3c-state">Draft Community Group Report, <time datetime="2026-04-02T00:00:00Z">2026-04-02</time></p>
Comment thread
uvdsl marked this conversation as resolved.
<details open="">
<summary>More details about this document</summary>
<dl id="document-identifier">
<dt>This version</dt>
<dd><a href="https://solidproject.org/TR/solid26" rel="owl:sameAs">https://solidproject.org/TR/solid26</a></dd>
</dl>
<dl id="document-latest-published-version">
<dt>Latest published version</dt>
<dd><a href="https://solidproject.org/TR/solid26" rel="rel:latest-version">https://solidproject.org/TR/solid26</a></dd>
</dl>
<dl id="document-editors">
<dt>Editors</dt>
<dd id="Jesse-Wright"><span about="" rel="schema:editor schema:author"><span typeof="schema:Person"><a href="mailto:jesse.wright@cs.ox.ac.uk" rel="schema:url"><span property="schema:name"><span property="schema:givenName">Jesse</span> <span property="schema:familyName">Wright</span></span></a> (<span property="schema:affiliation">University of Oxford</span>)</span></span></dd>
<dd id="Christoph-Braun"><span about="" rel="schema:editor schema:author"><span typeof="schema:Person"><a href="mailto:braun@kit.edu" rel="schema:url"><span property="schema:name"><span property="schema:givenName">Christoph</span> <span property="schema:familyName">Braun</span></span></a> (<span property="schema:affiliation">Karlsruhe Institute of Technology</span>)</span></span></dd>
Comment thread
jeswr marked this conversation as resolved.
Outdated
</dl>
<dl id="document-published">
<dt>Published</dt>
<dd><time content="2026-04-02T00:00:00Z" datatype="xsd:dateTime" datetime="2026-04-02T00:00:00Z" property="schema:datePublished">2026-04-02</time></dd>
</dl>
<dl id="document-modified">
<dt>Modified</dt>
<dd><time content="2026-04-02T00:00:00Z" datatype="xsd:dateTime" datetime="2026-04-02T00:00:00Z" property="schema:dateModified">2026-04-02</time></dd>
</dl>
<dl id="document-feedback">
<dt>Feedback</dt>
<dd><a href="https://github.com/solid/specification" rel="doap:repository">GitHub solid/specification</a> (<a href="https://github.com/solid/specification/pulls">pull requests</a>, <a href="https://github.com/solid/specification/issues/new">new issue</a>, <a href="https://github.com/solid/specification/issues" rel="doap:bug-database">open issues</a>)</dd>
</dl>
<dl id="document-language">
<dt>Language</dt>
<dd><span content="en" lang="" property="dcterms:language" xml:lang="">English</span></dd>
</dl>
<dl id="document-type">
<dt>Document Type</dt>
<dd>Implementation Guide</dd>
</dl>
</details>
<p class="copyright" rel="dcterms:rights" resource="#document-rights"><span property="dcterms:description"><a href="https://www.w3.org/policies/#copyright">Copyright</a> © 2026 the Contributors to Solid26: Implementation Guide, under the <a about="" href="https://www.w3.org/community/about/agreements/cla/" rel="schema:license">W3C Community Contributor License Agreement (CLA)</a>. A human-readable <a href="https://www.w3.org/community/about/agreements/cla-deed/">summary</a> is available.</span></p>
<hr title="Separator for header" />
</div>
<div datatype="rdf:HTML" id="content" property="schema:description">
<section id="abstract">
<h2>Abstract</h2>
<div datatype="rdf:HTML" property="schema:abstract">
<p>This document is an implementation guide for Solid26 — a snapshot of the most mature and widely implemented Solid specification versions, collected to help developers and organisations identify a common baseline. It provides practical guidance for implementing the Solid specifications included in this collection.</p>
</div>
</section>
<section id="sotd" inlist="" rel="schema:hasPart" resource="#sotd">
<h2 property="schema:name">Status of This Document</h2>
<div datatype="rdf:HTML" property="schema:description">
<p>This document was published by the <a href="https://www.w3.org/groups/cg/solid/">W3C Solid Community Group</a> as an implementation guide. It is not a W3C Standard nor is it on the W3C Standards Track.</p>
Comment thread
jeswr marked this conversation as resolved.
Outdated
<p>This document is intended to provide implementation guidance for the Solid specifications collected in the Solid26 release. The content of this guide is informative and non-normative. It may be updated, replaced, or obsoleted by other documents at any time.</p>
<p>Comments regarding this document are welcome. Please file issues on <a href="https://github.com/solid/specification/issues">GitHub</a>.</p>
</div>
</section>
<nav id="toc">
<h2>Table of Contents</h2>
<div>
<ol class="toc">
<li class="tocline"><a class="tocxref" href="#abstract"><span>Abstract</span></a></li>
<li class="tocline"><a class="tocxref" href="#sotd"><span>Status of This Document</span></a></li>
<li class="tocline">
<p><a class="tocxref" href="#introduction"><bdi class="secno">1.</bdi> <span>Introduction</span></a></p>
</li>
<li class="tocline">
<p><a class="tocxref" href="#specifications"><bdi class="secno">2.</bdi> <span>Specifications</span></a></p>
<ol>
<li class="tocline"><a class="tocxref" href="#solid-protocol"><bdi class="secno">2.1</bdi> <span>Solid Protocol</span></a></li>
<li class="tocline"><a class="tocxref" href="#solid-oidc"><bdi class="secno">2.2</bdi> <span>Solid-OIDC</span></a></li>
<li class="tocline"><a class="tocxref" href="#web-access-control"><bdi class="secno">2.3</bdi> <span>Web Access Control</span></a></li>
</ol>
</li>
<li class="tocline"><a class="tocxref" href="#references"><span>References</span></a></li>
</ol>
</div>
</nav>

<section id="introduction" inlist="" rel="schema:hasPart" resource="#introduction">
<h2 property="schema:name">Introduction</h2>
<div datatype="rdf:HTML" property="schema:description">
<p>The <a href="https://solidproject.org/TR/">Solid Specification</a> defines multiple sub-specification documents with differing levels of maturity. Solid26 collects the most mature and widely implemented specification versions into one coherent reference — a snapshot of the parts of the Solid platform that are most broadly supported by existing implementations.</p>
Comment thread
uvdsl marked this conversation as resolved.
Outdated
<p>This document does not define new normative requirements, but rather identifies and collects the specifications needed to build interoperable Solid applications and servers.</p>
</div>
</section>

<section id="specifications" inlist="" rel="schema:hasPart" resource="#specifications">
<h2 property="schema:name">Specifications</h2>
<div datatype="rdf:HTML" property="schema:description">
<p>The Solid26 specification documents are as follows. All referenced specifications are W3C Solid Community Group Drafts.</p>
Comment thread
uvdsl marked this conversation as resolved.
Outdated

<section id="solid-protocol" inlist="" rel="schema:hasPart" resource="#solid-protocol">
<h3>Solid Protocol</h3>
<div datatype="rdf:HTML" property="schema:description">
<p>The <a href="https://solidproject.org/TR/protocol">Solid Protocol</a> (CG-DRAFT/FINAL, v0.11.0) is included with the following amendments. Servers are not required to implement the following:</p>
<ul>
<li><a href="https://solidproject.org/TR/protocol#n3-patch">5.3.1 Modifying Resources Using N3 Patches</a></li>
<li><a href="https://solidproject.org/TR/protocol#access-control-policy">11.2 ACP (Access Control Policy)</a></li>
Comment thread
jeswr marked this conversation as resolved.
Outdated
</ul>
</div>
</section>

<section id="solid-oidc" inlist="" rel="schema:hasPart" resource="#solid-oidc">
<h3>Solid-OIDC</h3>
<div datatype="rdf:HTML" property="schema:description">
<p><a href="https://solidproject.org/TR/oidc">Solid-OIDC</a> (CG-DRAFT/FINAL, v0.1.0) is included in the Solid26 release.</p>
<div class="note">
<h4><span>Note</span></h4>
<p>Solid-OIDC v0.1.0 is not a widely implemented version. A document that accurately reflects current implementations is being drafted by Christoph Braun. This PR is waiting for that document to be available and ready to reference before merging.</p>
Comment thread
jeswr marked this conversation as resolved.
Outdated
</div>
</div>
</section>

<section id="web-access-control" inlist="" rel="schema:hasPart" resource="#web-access-control">
<h3>Web Access Control</h3>
Comment thread
jeswr marked this conversation as resolved.
<div datatype="rdf:HTML" property="schema:description">
<p><a href="https://solidproject.org/TR/2024/wac-20240512">Web Access Control</a> (CG-DRAFT/FINAL, 2024-05-12) is included in this release.</p>
<div class="note">
<h4><span>Note</span></h4>
<p>We would like to update the referenced WAC version and snapshot link to include the proposed changes in <a href="https://github.com/solid/web-access-control-spec/pull/134">solid/web-access-control-spec#134</a>, if they are merged in time.</p>
</div>
</div>
</section>
Comment thread
jeswr marked this conversation as resolved.
</div>
</section>



<section id="references" inlist="" rel="schema:hasPart" resource="#references">
<h2>References</h2>
<div>
<dl>
<dt id="ref-solid-protocol">[SOLID-PROTOCOL]</dt>
<dd><cite><a href="https://solidproject.org/TR/protocol">Solid Protocol</a></cite>. Sarven Capadisli; Tim Berners-Lee; Kjetil Kjernsmo. W3C Solid Community Group. URL: <a href="https://solidproject.org/TR/protocol">https://solidproject.org/TR/protocol</a></dd>

<dt id="ref-solid-oidc">[SOLID-OIDC]</dt>
<dd><cite><a href="https://solidproject.org/TR/oidc">Solid-OIDC</a></cite>. W3C Solid Community Group. URL: <a href="https://solidproject.org/TR/oidc">https://solidproject.org/TR/oidc</a></dd>

<dt id="ref-wac">[WAC]</dt>
<dd><cite><a href="https://solidproject.org/TR/2024/wac-20240512">Web Access Control</a></cite>. W3C Solid Community Group. URL: <a href="https://solidproject.org/TR/2024/wac-20240512">https://solidproject.org/TR/2024/wac-20240512</a></dd>
Comment thread
jeswr marked this conversation as resolved.
Outdated


</dl>
</div>
</section>

</div>
</article>
</main>
</body>
</html>