Skip to content

fediway/commonfeed

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CommonFeed

An open protocol for algorithmic feeds.

CommonFeed is a JSON-over-HTTPS protocol for algorithmic feeds. Providers compute and rank content; consumers (servers, native clients, or web apps) query one or more providers and assemble the feed they show users. Requests carry no user identifiers.

Status

v0.1 (prototype). Breaking changes are expected before v1.0.

Reference implementations:

Specification

Section Description
Overview Protocol flow, transport, and privacy
Discovery Discovery document at /.well-known/commonfeed
Registration Instance registration, verification, and key management
Queries Query endpoint, filters, and pagination
Lookups Post lookup, replies, and quotes
Responses Top-level response envelope
Posts Post result items, media, link previews, and custom emojis
Tags Tag result items
Links Link result items
Errors Error codes and rate limit headers
Embedding methods Documented aggregation methods referenced by capability identifiers

Privacy

Request payloads carry no user identifiers, browsing history, or session data. Authentication is at the consumer level. Providers MUST NOT retain interest vectors beyond the request.

Anonymity properties scale with the consumer: multi-user consumers (e.g. fediverse servers) hide individual users in the consumer's traffic; single-user consumers (e.g. native clients) do not.

Versioning

v0.x is exploratory: minor versions may include breaking changes. Each version is published at a stable path (v0.1/, v0.2/, …) so implementations can pin to a specific version. v1.0 will commit to backward-compatible evolution within the major version: new optional fields and endpoints only, no removals or semantic changes. Proposals are discussed in GitHub issues; accepted changes land in the next version directory.

Relationship to FASP

CommonFeed sits alongside FASP (Fediverse Auxiliary Service Provider). FASP specifies integration between fediverse instances and auxiliary services; CommonFeed specifies a query protocol for ranked content. The two address different layers and can be implemented together.

Contributing

Feedback and proposals are welcome via GitHub issues.

License

Specification text: CC-BY-4.0.

About

An open protocol for algorithmic feeds.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors