Flagsmith / Flagsmith/flagsmith

Anonymous Identities

Open
#168 19 comments 1 reaction 3 assignees Claimed by @khvn26 View on GitHub
api feature sdk
Dominant language
Python
Stars
6.6k
Forks
567
Avg merge
1d 13h
Merged PRs (30d)
121

Description

Anonymous Identity handling improvements:

1. Add a way of signalling that an identity is "Anonymous" within all the SDKS when identifying a user. Anonymous identities prevent a record from being stored in the Flagsmith database, but provides the data to bucket the user in segments/mv flags etc.
2. If an anonymous user then authenticates, the SDK would call the `merge` method.
3. Create a new `anonymous_id` property that the `identify` endpoint can accept
4. It stores the old ID in a new field `anonymous_id` and makes the new ID the primary Identity ID so that administrators can search on the primary ID.

If present, the field `anonymous_id` is *always* used when calculating segment buckets/MV flags etc. This is to prevent a user moving between buckets before/after a merge.

## What to do if we are asked to merge an Identity that already exists?

We overwrite the new `anonymous_id` with the existing `anonymous_id`

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.