Skip to content

Terminology concern: “Backend for Frontend (BFF)” #111

@tillsc

Description

@tillsc

The draft uses the term “Backend for Frontend (BFF)” for a component that terminates OAuth, manages tokens and sessions, and forwards requests to downstream APIs.

The concern is not the pattern itself, but the terminology.

In common architectural usage, a BFF is intentionally application- or frontend-specific, tightly coupled to a single UI, and not generic or reusable infrastructure.

The pattern described here is different:

  • no UI- or application-specific logic
  • stable, security-driven responsibilities
  • realistically reusable across multiple frontends
  • suitable for implementation as off-the-shelf API gateway functionality

While a BFF can perform these functions, they are not distinguishing characteristics: the same responsibilities can equally be fulfilled by a generic, reusable proxy component. As such, the described component no longer matches the defining property of a BFF.

This terminology mismatch may cause confusion around architecture, ownership, and responsibilities.

Possible mitigations:

  • explicitly clarify that this is a security-focused, proxy-style pattern and not a UI-specific backend
  • note the difference from the common architectural meaning of BFF
  • consider more precise terminology (e.g. "frontend-facing OAuth proxy" or simply "proxy")

This would improve clarity without changing the technical substance of the draft.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions