Skip to content

Edge Proxy ignores identity overrides and returns environment flags only #186

@marcuslopes

Description

@marcuslopes

Summary

When querying identity flags through Flagsmith Edge Proxy, identity overrides are not applied. The identity endpoint returns the same response as the environment flags endpoint. Calling the same identity request directly against Flagsmith Cloud returns the expected identity‑evaluated flags.

Environment

  • Edge Proxy version: 2.21.2 (Docker)
  • Deployment: Rancher / Kubernetes (custom Helm chart)
  • Upstream: Flagsmith Cloud (SaaS)
  • Authentication: Tried both client-side and server-side keys
  • Identity identifier: testIdentityDev

Expected behavior

Calling the identity flags endpoint should return:

  • All environment flags
  • Plus identity-specific overrides

Actual behavior

Calling the identity flags endpoint through Edge Proxy:

  • Returns only environment-level flags
  • Response is identical to /api/v1/flags/
  • Identity overrides are not returned

Impact

High severity — multiple teams rely on identity-based feature flags.
Edge Proxy cannot be used as a drop-in replacement while identity evaluation is broken.


Steps to reproduce

  1. In Flagsmith Cloud:
    • Create an environment with a baseline flag: on-off-demo-001
    • Create an identity override for identity testIdentityDev:
      • Flag: on-off-demo-007
      • Enabled with value: "testvalueoverride"
  2. Deploy Edge Proxy 2.21.2 pointing to Flagsmith Cloud.
  3. Call identity flags through Edge Proxy:
    POST https://your-edge-proxy.net/api/v1/identities/?identifier=testIdentityDev
    (Identifier also tested via request body and query params.)
  4. Observe that only environment flags are returned.
  5. Call the same endpoint directly against Flagsmith Cloud.
  6. Observe that identity override flags are correctly returned.

Evidence

Edge Proxy (result is not what we expected)

IDENTITY URL

https://your-edge-proxy.net/api/v1/identities/?identifier=testIdentityDev

IDENTITY RESPONSE

[
  {
    "feature": "on-off-demo-001",
    "enabled": true,
    "value":  "env-flag"
  }
]

ENV FLAGS URL

https://your-edge-proxy.net/api/v1/flags/

ENV FLAGS RESPONSE

[
  {
    "feature": "on-off-demo-001",
    "enabled": true,
    "value": "env-flag"
  }
]

Flagsmith Cloud (expected / works)

IDENTITY URL

https://edge.api.flagsmith.com/api/v1/identities/?identifier=testIdentityDev

IDENTITY RESPONSE

[
  {
    "feature": "on-off-demo-001",
    "enabled": true,
    "value":  "env-flag"
  },
  {
    "feature": "on-off-demo-007",
    "enabled": true,
    "value": "testvalueoverride"
  }
]

ENV FLAGS URL

https://edge.api.flagsmith.com/api/v1/flags/

ENV FLAGS RESPONSE

[
  {
    "feature": "on-off-demo-001",
    "enabled": true,
    "value":  "env-flag"
  }
]

Notes / hypothesis

  • Identity requests appear to be evaluated using environment data only
  • The environment document used by Edge Proxy does not contain identity data
  • This suggests:
    • identity endpoints may not be handled correctly, or
    • identity evaluation is not supported by the current Edge Proxy data model, or
    • identity requests are falling back to environment evaluation

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