<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta>
      <issn pub-type="ppub">1613-0073</issn>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>Cornerstones of a Future Solid B2B Ecosystem: Authorization App and Rights Delegation Proxy</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Thorsten Kastner</string-name>
          <email>thorsten.kastner@datev.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Dustin Yeboah</string-name>
          <email>dustin.yeboah@datev.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Andreas Both</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff4">4</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Sebastian Schmid</string-name>
          <email>sebastian.schmid@fau.de</email>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Daniel Schraudner</string-name>
          <email>daniel.schraudner@fau.de</email>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Christoph H.-J. Braun</string-name>
          <email>christoph.braun2@kit.edu</email>
          <xref ref-type="aff" rid="aff3">3</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Andreas Harth</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Tobias Käfer</string-name>
          <email>tobias.kaefer@kit.edu</email>
          <xref ref-type="aff" rid="aff3">3</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>DATEV eG</institution>
          ,
          <addr-line>Nuremberg</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Fraunhofer IIS, Division Data Spaces and IoT Solutions</institution>
          ,
          <addr-line>Nuremberg</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Friedrich-Alexander University (FAU)</institution>
          ,
          <addr-line>Nuremberg</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
        <aff id="aff3">
          <label>3</label>
          <institution>Karlsruhe Institute of Technology (KIT)</institution>
          ,
          <addr-line>Karlsruhe</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
        <aff id="aff4">
          <label>4</label>
          <institution>Leipzig University of Applied Sciences</institution>
          ,
          <addr-line>Leipzig</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>The Solid framework for decentralized and self-sovereign data management proposed by Berners-Lee enables dynamically binding an identity to a Solid application and a user-specific Solid data store, thus enabling interoperability within the Solid ecosystem. We evaluated Solid in the context of a typical B2B use case, the granting of a loan between a bank and a receiving company, and thereby identified two business functionalities that are particularly relevant in the B2B context: The need to provide secure and easy access to internal data between companies and the need for employees to be able to take on diferent roles in business processes depending on whether they are acting internally or externally (i.e., on behalf of the company). We transferred these business requirements into two separate applications, the “Authorization App” and the “Rights Delegation Proxy”, and evaluated them based on our use case.</p>
      </abstract>
      <kwd-group>
        <kwd>Solid</kwd>
        <kwd>Web technologies</kwd>
        <kwd>data-driven ecosystems</kwd>
        <kwd>B2B</kwd>
        <kwd>data sovereignty</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>CEUR
ceur-ws.org</p>
    </sec>
    <sec id="sec-2">
      <title>1. Introduction</title>
      <p>
        Solid1 (Social Linked Data) intends to change the way web applications work today, aiming
for true data ownership and improved privacy, establishing data sovereignty in web-based
data-driven ecosystem [
        <xref ref-type="bibr" rid="ref1 ref2 ref3 ref4">1, 2, 3, 4</xref>
        ]. It utilizes the idea of a data-providing web service (Solid Pod)
that can on demand of a user be integrated into web applications, s.t., a prosperous, but safe
ecosystem can be established where the users are in control of their data (data sovereignty).
      </p>
      <p>Figure 1 outlines our motivating example. A small- or medium-sized enterprise (SME) applies
for a loan from a bank. The bank, in turn, requests additional internal data from the SME
(business assessment reports) in order to prepare a loan ofer to the SME. However, loan ofers
nEvelop-O</p>
      <p>Lisa (Bank Clerk)
Acts on behalf of the bank</p>
      <p>Processes loan
applications for the bank</p>
      <p>BANK
and loan applications are not issued by the companies themselves. Rather, employees act on
behalf of their companies. Two aspects are of particular relevance in this scenario and need
to be solved on a technical level. Secure and simple sharing of information through mutual
access to internal data (annual reports and loan ofers) and the diferent roles of the involved
employees in this business process, both internally and in relation to external partners. We
propose a solution that consists of two independent components. An application for secure and
easy data sharing, and an application/service that allows people to perform actions on behalf of
others.</p>
    </sec>
    <sec id="sec-3">
      <title>2. Related work</title>
      <p>
        Data sovereignty in a web-based ecosystem is the goal of the Solid movement [
        <xref ref-type="bibr" rid="ref1 ref2 ref3 ref4">1, 2, 3, 4</xref>
        ]. The
Solid platform, specifications, and technologies aim for a safe, decentralized web where users
are in complete control of their data. This was already applied prototypically in several fields,
e.g., for social applications [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], Building Information Modeling (BIM) [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], machine-to-machine
transactions [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], processes between public administration and citizens [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], or B2B environments
[
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. However, while the latter is in the same context as this work, it and all the mentioned works
didn’t address the aspects of functionalities of components across diferent domain-specific
applications which should be the focus of a Solid-based application infrastructure as intended
by the Solid protocol. Instead B2B collaborators should be enabled to establish an ad hoc data
value chain [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ].
      </p>
    </sec>
    <sec id="sec-4">
      <title>3. Concept</title>
      <sec id="sec-4-1">
        <title>3.1. Authorization Agent</title>
        <p>One of the key principles of the Solid concept, the ability to dynamically bind an identity to a
Solid application and a Solid Pod, means that users must frequently process data access requests
on demand and grant or deny them or revoke existing access rights to data. Processing and
managing such access requests and access rights in a Solid environment requires a comparatively
high number of HTTP requests.</p>
        <p>To enable eficient handling of these tasks and to prevent the need to re-implement this
functionality for new use cases, we developed a prototype of a reusable web-based user interface
to grant access to data in a Solid Pod, the Authorization App, short AuthApp. The application
allows both the monitoring and processing of received, existing, rejected, and revoked requests
for data sharing. By design, the AuthApp is not integrated directly into the business applications.
The Authorization Agent, resp. the application, for a given Social Agent can be discovered
by de-referencing the identity of that Social Agent, and extracting the object value of the
interop:hasAuthorizationAgent statement defined in the W3C Solid Community Group’s
Application Interoperability Specification 2 from the Social Agent graph in the returned identity
profile document. Further, we designed the application to avoid the need to copy or store data
outside the personal / company context, meaning all data remains under the user’s / company’s
control. By this, any business app just needs to redirect the web browser to the corresponding
IRI to provide the user with the functionality of data sharing.</p>
      </sec>
      <sec id="sec-4-2">
        <title>3.2. Rights Delegation Proxy</title>
        <p>In our use case, agents have to act on behalf of others, here especially natural persons on behalf
of organizations e.g. an employee signs the loan contract on behalf of their employer. The
transfer of rights from one agent to another is a so-called delegation or power of attorney. In</p>
        <sec id="sec-4-2-1">
          <title>2https://solid.github.io/data-interoperability-panel/specification</title>
          <p>SME needs a
loan from
the bank</p>
          <p>Loan is
granted to
the SME</p>
          <p>Yes</p>
          <p>SME creates a loan
demand in the</p>
          <p>bank's
Solid Pod</p>
          <p>Bank requests read
access for business
data in SME's</p>
          <p>Solid Pod</p>
          <p>Offer
accepted
?</p>
          <p>No
No business
relationship
established</p>
          <p>SME decides on
the loan offer</p>
          <p>Bank creates a loan
offer based on shared
business data</p>
          <p>Yes
employees acting on behalf of
Lisa Tom their corresponding company</p>
          <p>SME evaluates
access request
via AuthApp</p>
          <p>Access
rights
granted
?</p>
          <p>No
No business
relationship
established
a delegation, a delegator defines policies for a delegate that state the rights and transactions
that may be exercised in the delegator’s name toward an afiliate. We use Solid to realize
dataspaces between agents to share data and also delegations to act on data, but for rights
delegation, the current process is based, e.g., on Access Control Lists3 (ACL) or the membership
in vCard groups4. When considering privacy, issues arise quickly, as the delegate’s identity
and the delegation are revealed to an afiliate who has to set the corresponding ACLs, despite
the delegate’s potential interest to stay hidden. Still, a delegator needs to keep control over
defined policies. To solve the questions of privacy and business secrets while realizing more
complex policies (that go beyond ACLs), we propose the Rights Delegation Proxy (RDP) as an
approach for private and legitimate data sharing and delegations. As the delegation of rights
among agents occurs frequently and still has far-reaching implications in terms of the power of
attorney, e.g., along hierarchies or only between individual citizens [13], and is often similar in
terms of basic roles (delegator, delegate, afiliate), we opted for a general, reusable form that
may be used across diferent organizations. As a component, the RDP receives all requests the
delegate makes, checks that the delegate’s WebID is authenticated, and extracts the requested
web resource. The RDP looks up suiting policies as defined by the delegator depending on the
WebID or web resource and evaluates if the delegate’s request is valid concerning the policies.
Such policies can, e.g., be defined as Shape Expressions (ShEx) 5 or SPARQL6 ASK queries. If the
policy is valid, the RDP logs and forwards the delegate’s request to the resource authenticated
as a delegator, s.t., a separation between delegate and afiliate is made. From the afiliate’s
perspective, only the delegator was involved.</p>
        </sec>
        <sec id="sec-4-2-2">
          <title>3https://solidproject.org/TR/wac 4https://www.w3.org/2006/vcard/ns#Group 5https://shex.io/ 6https://www.w3.org/TR/sparql11-overview/</title>
        </sec>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>4. Conclusion</title>
      <p>In this paper, we addressed reusable components in the Solid ecosystem. Our approach is driven
by the potential of the Solid technology stack that is enabling web components that can safely
interact. Motivated by the demands in the B2B world, we identified two processing steps that
have a high potential to be reused in most B2B use cases: Rights Delegation Proxy (RDP) and
Authorization App (AuthApp). We designed and implemented these components as pure Solid
apps, s.t., they can be reused by design. With our contributions, we follow our long-term agenda
of providing the required standard functionality for B2B data-driven ecosystems as Solid apps.
Hence, we envision a future environment where Solid apps for business can be implemented
rapidly while still meeting the highest demands in relation to GDPR, security, traceability, and
protecting business secrets.
AuthApp — Flexible, Reusable Solid App for GDPR-compliant Access Granting, in:
International Conference on Web Engineering (ICWE 2024), 2024.
[11] S. Schmid, D. Schraudner, A. Harth, The Rights Delegation Proxy: An Approach for
Delegations in the Solid Dataspace, in: Proceedings of the 2nd International Workshop
on Semantics in Dataspaces (SDS 2024) co-located with the 21st Extended Semantic Web
Conference (ESWC 2024), 2024.
[12] S. Schmid, D. Schraudner, A. Harth, The Rights Delegation Proxy: An Approach for
Delegations in the Solid Dataspace, in: Proceedings of the 2nd Solid Symposium, 2024.
URL: https://solid.iis.fraunhofer.de/SCS-DS-IoT/public/2024/solid%20symposium/preprint/
1_the_rights_delegation_proxy_an.pdf, preprint.
[13] M. M. Hughes, Remedying financial abuse by agents under a power of attorney for finances,
Marquette Elder’s Advisor 2 (2012) 39. URL: https://api.semanticscholar.org/CorpusID:
37730572.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>A. V.</given-names>
            <surname>Sambra</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Mansour</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Hawke</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Zereba</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Greco</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Ghanem</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Zagidulin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Aboulnaga</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Berners-Lee</surname>
          </string-name>
          ,
          <article-title>Solid: a platform for decentralized social applications based on linked data</article-title>
          ,
          <source>MIT CSAIL &amp; Qatar Computing Research Institute, Tech. Rep</source>
          . (
          <year>2016</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>E.</given-names>
            <surname>Mansour</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A. V.</given-names>
            <surname>Sambra</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Hawke</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Zereba</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Capadisli</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Ghanem</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Aboulnaga</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Berners-Lee</surname>
          </string-name>
          ,
          <article-title>A demonstration of the Solid platform for social web applications</article-title>
          ,
          <source>in: Proceedings of the 25th International Conference Companion on World Wide Web, WWW '16 Companion</source>
          ,
          <year>2016</year>
          , p.
          <fpage>223</fpage>
          -
          <lpage>226</lpage>
          . doi:
          <volume>10</volume>
          .1145/2872518.2890529.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>R.</given-names>
            <surname>Verborgh</surname>
          </string-name>
          ,
          <article-title>Re-decentralizing the web, for good this time, in: Linking the World's Information: Essays on Tim Berners-Lee's Invention of the World Wide Web</article-title>
          , ACM,
          <year>2023</year>
          , p.
          <fpage>215</fpage>
          -
          <lpage>230</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>O.</given-names>
            <surname>Seneviratne</surname>
          </string-name>
          ,
          <string-name>
            <surname>A. van der Hiel</surname>
          </string-name>
          , L. Kagal,
          <article-title>Tim Berners-Lee's Research at</article-title>
          the Decentralized Information Group at MIT, 1 ed.,
          <source>ACM</source>
          ,
          <year>2023</year>
          , p.
          <fpage>201</fpage>
          -
          <lpage>213</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>J.</given-names>
            <surname>Werbrouck</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Pauwels</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Beetz</surname>
          </string-name>
          ,
          <string-name>
            <surname>L. van Berlo</surname>
          </string-name>
          ,
          <article-title>Towards a decentralised common data environment using linked building data and the Solid ecosystem</article-title>
          ,
          <source>in: 36th CIB W78 Conference</source>
          ,
          <year>2019</year>
          , pp.
          <fpage>113</fpage>
          -
          <lpage>123</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>X.</given-names>
            <surname>Wang</surname>
          </string-name>
          ,
          <string-name>
            <surname>C. H.-J. Braun</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Both</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          <string-name>
            <surname>Käfer</surname>
          </string-name>
          ,
          <article-title>Using schema.org and Solid for linked data-based machine-to-machine sales contract conclusion</article-title>
          ,
          <source>in: Companion Proceedings of the Web Conference</source>
          <year>2022</year>
          , WWW '22,
          <string-name>
            <surname>Association</surname>
          </string-name>
          for Computing Machinery,
          <year>2022</year>
          , p.
          <fpage>269</fpage>
          -
          <lpage>272</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>B. E.</given-names>
            <surname>Penteado</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. C.</given-names>
            <surname>Maldonado</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Isotani</surname>
          </string-name>
          ,
          <article-title>Methodologies for publishing linked open government data on the web: A systematic mapping and a unified process model</article-title>
          ,
          <source>Semantic Web</source>
          <volume>14</volume>
          (
          <year>2023</year>
          )
          <fpage>585</fpage>
          -
          <lpage>610</lpage>
          . doi:
          <volume>10</volume>
          .3233/SW- 222896,
          <fpage>3</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>D.</given-names>
            <surname>Henselmann</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Kolinsky</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Schmid</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Schraudner</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Both</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Harth</surname>
          </string-name>
          ,
          <article-title>Solid proof of concept in an enterprise loan request use case</article-title>
          ,
          <source>in: International Conference on Semantic Systems</source>
          ,
          <year>2022</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>A.</given-names>
            <surname>Both</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Yeboah</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Kastner</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Schraudner</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Schmid</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Braun</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Harth</surname>
          </string-name>
          , T. Käfer,
          <article-title>Towards Solid-based B2B Data Value Chains</article-title>
          ,
          <source>in: 21st Extended Semantic Web Conference (ESWC</source>
          <year>2024</year>
          ),
          <year>2024</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>A.</given-names>
            <surname>Both</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Kastner</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Yeboah</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Braun</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Schraudner</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Schmid</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Käfer</surname>
          </string-name>
          ,
          <string-name>
            <surname>A</surname>
          </string-name>
          . Harth,
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>