Solid-Control was a project funded by the European Union Next Generation Internet (NGI) Privacy and Trust Enhancing Technologies (PET) fund. From the official nlnet page:
Solid-Control aims to enhance Tim Berners-Lee's Social Linked Data Project (Solid) with Attribute-Based Access Control.
By extending the Linked Data Platform (LDP) with WebID based authentication and Access Control Lists (ACL), Solid has enabled the emergence of new forms of Hyper-Apps. These apps can follow data from server to server, authenticate when needed and write to the user's Personal Online Data storage (Pod), creating a decentralized social web.
With relation-based access control (friend of a friend, business network, etc.), Solid can be a full alternative to centralized social networks. We also want to allow authentication based on Verifiable Claims such as age. Solid-Control will work on developing the needed logic, verify protocols, write prototype implementations and contribute to the Solid Auth Community groups, which are developing specs for standardization.
The project interacts with several different repositories on GitHub and mailing lists. This repository collects the reports on the activity in the various forums.
Solid Wallet continues the Solid-Control project, and is funded by NGI Assure. From the official nlnet page:
Authorization reasoning, rule-based controls and fluid integration for Solid
Solid Apps display information collected by following linked data across the World Wide Web, writing changes to Solid Personal Online Data Stores (PODs). Following links can land an App on a protected resource somewhere on the Web, accessible only to a select group of actors specified in an associated Web Access Control Resource. Solid Wallet aims to build core libraries to reason over Solid Access Control Rules, limit access to what clients can request, publish keys and sign transactions. The same libraries will also be useable by servers to verify such claims. Finally, we will use these libraries to build a flexible prototype Wallet for Solid apps that run in the browser or server.
The main repositories regarding standard-settings are:
- Solid Authentication Panel
- Solid Authorization Panel
- Solid Interoperatbility Panel
- Solid Specification
Each milestone points to weekly reports from the panels.
Every code repository will produce artifacts stores as snapshots on Sonatype's maven servers and after testing will be released to Maven Central.
- Reactive-Solid is the server implementation.
- Banana-RDF is an RDF library for Java and JavaScript in Scala. The Scala-3 branch is available directly at bblfish/banana-rdf. Artifacts are published in
- fir scala 2.13 and scala 3 in sonatype net/bblfish/rdf
- todo: publish final artifacts to Maven Central
Additional Code repositories that were created along the way as their final location is still to be decided:
- bblfish/httpSig repository for Scala(JS) implementation of IETF "Signing HTTP Messages". Artifacts published in
- for Scala 3 on Sonatype net/bblfish/crypto
- todo: publish to maven central
- bblfish/rdf-model-js Scala JS facade for RDF.js interfaces. This is published as artifact rdf-model-js
- bblfish/SolidCtrlApp client in browser Authentication libraries.
- These are not yet published to sonatype or maven central
Other repositories being contributed to:
- bblfish/bobcats is a cryptographic library in Functional Scala(JS) that has forked the typelevel bobcats cryptographic repository. It is used by our implementation of IETF's "Signing HTTP Messages". Artifacts are published
- for scala 2.12, 2.13, 3 on Sonatype in net/bblfish/crypto
- maven central (todo)
Reports for Milestones are available in the milestones folder. The milestones are numbered after the original template, but were not always done in the estimated order.
- 05 Jan - 21 Feb 2021 - M1: Initial Research
- 22 Feb - 1 April 2021 - M2: Basic LDP implementation
- 1 April - 11 June 2021 - M3: LDP with HTTP Signatures
- 12 June - 20 August 2021 - M4: WAC, WAC+, ACP
- 21 August 2021 - 21 Sept 2021 - M6: banana-rdf for Scala3
- 21 Sept 2021 - 29 Oct 2021 - M5: ACP
- 30 Oct 2021 - 22 Dec 2021 - M7: SolidCtrl App
- 23 Dec 2021 - 24 Jan 2022 - M9: Signing Http Messages
- 25 Jan 2022 - 28 Feb 2022 - M10: Make projects release ready
- 1 March 2022 - 30 Oct 2022 - M11: Solid server with HttpSig demo
- Nov 01 - Dec 30, 2022 - W1: Crypto Library Enhancements
- April 01 - June 6, 2023 - W2: Access Control Client Logic
- June 07 - August 24, 2023 - W3: Example Access Control Rules and Reasoning