Skip to content

Cofide Credex

Modern systems rarely live within a single identity domain. SPIFFE workloads, cloud provider OIDC tokens, OAuth-protected APIs, and agentic AI pipelines all use different credential languages. Moving identity across these boundaries today typically means building bespoke adapters, issuing long-lived shared secrets, or accepting a gap in your audit trail.

Cofide Credex is an OAuth Authorization Server (AS) and Security Token Service (STS) that acts as a trust bridge. It lets workloads exchange credentials across identity protocols without static secrets or custom glue code, using standards that already exist.

Credex is built around:

  • RFC 8693 OAuth 2.0 token exchange - full support for both impersonation and delegation semantics
  • SPIFFE-native OAuth client authentication - workloads authenticate with their JWT-SVID; no per-client secret registration needed
  • Delegation-preserving chains - issued tokens carry both the subject (sub) and actor (act) identities, so every hop in a call chain is visible in the audit log
  • Configurable policy - control which exchanges are permitted and what scopes can be granted using exchange policies registered in Connect
  • Cross-domain bridges - connect SPIFFE trust domains to external OAuth-protected services, including legacy systems
  • Exchange auditing - every token exchange is logged with full context, giving you a complete record of who requested what and on whose behalf

The RFC 8693 OAuth 2.0 Token Exchange standard defines an OAuth grant type where a client presents one or two existing tokens to a Security Token Service and receives a new token in return. The client’s own identity is asserted separately via client authentication, which in Credex means a SPIFFE JWT-SVID rather than a shared secret.

The two key inputs are the subject_token (the identity being delegated, e.g. the user’s access token) and the optional actor_token (the identity of the service performing the action, e.g. the workload’s JWT-SVID). Credex evaluates both against its delegation policy and mints a new token. In delegation mode that token carries both a sub claim (the original subject) and an act claim (the actor), so every downstream service can see the full picture.

flowchart LR
    ST["subject_token"]
    AT["actor_token"]
    CA["client_assertion"]
    STS(["Cofide Credex"])
    Policy{{"*Exchange Policy* from Cofide Connect"}}
    Issued["Issued Token (sub + act + scope)"]

    ST -->|subject| STS
    AT -->|actor| STS
    CA -->|client auth| STS
    STS -->|*evaluates*| Policy
    STS -->|*mints*| Issued

    classDef inputToken fill:#fcfcfc,stroke:#1c1d22,color:#1c1d22
    classDef outputToken fill:#fcfcfc,stroke:#1c1d22,color:#1c1d22
    classDef policyNode fill:#00d690,stroke:#1c1d22,color:#1c1d22
    classDef stsNode fill:#00d690,stroke:#1c1d22,color:#1c1d22

    class ST,AT,CA inputToken
    class STS stsNode
    class Policy policyNode
    class Issued outputToken

Credex can be used to improve the security posture of a range of real workloads, from agentic AI delegation to bridging SPIFFE with OAuth. See Use Cases for detailed examples.

Cofide Credex is currently in feature preview and is under active development.

If you are building agentic AI systems or working on cross-domain workload identity and want to know more, get in touch.