@hongminhee@hollo.social

I'm migrating Fedify from implementing FEP-c7d3 Ownership to FEP-fe34: Origin-based security model, and man, this is more complicated than I thought. It looks like it's going to require major changes to how the Activity Vocabulary API works. This isn't easy… 😂

codeberg.org

fep/fep/fe34/fep-fe34.md at main

fep - Fediverse Enhancement Proposals

1 reply

The problem is that Fedify's Activity Vocabulary API supports property hydration. Fedify intentionally hides the following three states of properties of Activity Vocabulary objects, which seems to hinder the application of an origin-based security model:

  1. When a complete object is embedded within a property of a JSON-LD object.
  2. When a property of a JSON-LD object references an object by URI.
  3. When it was initially #2, but the property has since been hydrated.

fedify.dev

Vocabulary | Fedify

The Activity Vocabulary is a collection of type-safe objects that represent the Activity Vocabulary and the vendor-specific extensions. This section explains the key features of the objects.