Comment by louis79_hacker

Comment by louis79_hacker 2 days ago

4 replies

You’re mixing models that don’t really fit together. SPIFFE isn’t designed for delegation at all—it’s a PKI-style system: centralized issuance, short-lived certs, and a single trust root per domain. It gives workloads authenticated identity, not transitive authority. There’s no notion of “A acts on behalf of B” baked into SPIFFE.

Verifiable Credentials (VCs) solve a different problem. They’re decentralized, flexible, and can express explicit delegation chains like “A asserts B may perform X.” That’s capability-style reasoning, not identity issuance.

Trying to bolt VC-style delegation onto SPIFFE breaks both systems’ assumptions:

SPIFFE’s hierarchical trust model doesn’t mesh with the web-of-trust VC model.

Its short-lived SVIDs don’t persist long enough for meaningful delegation chains.

SPIRE doesn’t understand VC proofs (JSON-LD, linked data signatures).

You’d need a whole external policy and capability layer to make it work.

SPIFFE nails workload identity; VCs and capability systems handle delegation and contextual authority. Mixing them because “they both do identity” misses the point—they live at different layers of the trust stack.

andylow 2 days ago

what will be a better approach then?

  • louis79_hacker 2 days ago

    If you’re trying to make SPIFFE handle delegation, you’re forcing the wrong layer to do the wrong job. SPIFFE gives you workload identity and attestation, full stop. It’s PKI for machines — not a delegation framework.

    A better model is to separate identity from capability:

    SPIFFE/SPIRE handles who the agent is (short-lived, attested identity).

    Capabilities / Macaroons / ZCAP-LD handle what that agent is allowed to do, and who delegated it.

    OPA or Cedar enforces policy at runtime.

    VCs come in only if you need cross-domain delegation (federated or multi-issuer trust).

    So SPIFFE issues identities, and those identities mint or receive verifiable capabilities that describe explicit rights. You get composable, auditable delegation without breaking SPIFFE’s short-lived cert model or pretending it can do web-of-trust semantics.

    Trying to bake delegation into SPIFFE itself is just reimplementing capability security badly.

    • andylow 2 days ago

      I do understand what you are saying, but in my head feels a bit too overcomplicated to just tell any developer doing AI agents to do all this stuff, there most be a cleaner way to do it.