<aside>

PR: https://github.com/FilOzone/filecoin-services/pull/536

Status: Draft

Reviewers: @wjmelements, @Kubuxu, @BigLep

</aside>

Problem

FWSS current authorization mechanic (will refer to it as Legacy Auth throughout the doc) are limited to:

These two options are quite limited and do not represent robust ACL mechanics for a number of reasons:

  1. Legacy Auth granularity is user-level. There is no native way of controlling authorization on the dataset level
  2. Current SKR logic give delegated keys unbounded access to all user datasets
  3. A delegation MUST be an on-chain transaction, imposing gas on unused delegation and a min 60s to be picked up by SPs on the write path
  4. an SKR is a user-proxy, it acts on behalf of the user. It’s not suitable primitive for cross-user sharing, low-trust sharing i.e agents, apps.
  5. Authorization flow expects secp256k1 keys e2e, meaning p256r1/passkeys cannot natively be attested against.

For all the reasons above, FWSS needed a path to implement programmable ACL to enable upstream platform builders to build meaningfully robust data platforms on top of PDP.

Motivation

Refound is building a Platform-as-a-service that offer users and app builders a versioned filesystem-like E2EE data infrastructure for their applications. This require the following at the storage layer:

Some of these requirements are tightly coupled to Refound product and it’s believed that this is not going to be a unique problem to Refound. An modular programmable authorizer interface seemed to be the best next step that unlocks above requirements while enabling the FWSS team to build their robust ACL system to be the default and phase-out SKR seemlessly.