PrivateStorageio / ZKAPAuthorizer

a Tahoe-LAFS storage-system plugin which authorizes storage operations based on privacy-respecting tokens
10 stars 7 forks source link

Use APIs from tahoe-capabilities instead of `str` and APIs from Tahoe-LAFS for work on capabilities #427

Closed exarkun closed 2 years ago

exarkun commented 2 years ago

This is an umbrella ticket. There are likely many self-consistent, increment steps that can be taken towards the overall goal. These can be described in separate tickets and resolved individually.

ZKAPAuthorizer works on capabilities in many places. It frequently represents these capabilities using str or bytes values. These are problematic because they are opaque:

Additionally, where more expressive types are used they are frequently from Tahoe-LAFS which doesn't promise a public Python API.

Instead of these things, use the recently created and released tahoe-capabilities library. Where that library is missing functionality we need to get away from string representations and private Tahoe-LAFS APIs, add that functionality to tahoe-capabilities.