Apache Unomi has several use cases for what you need!
Apache Unomi is a REST server that manages user profiles and events related to the profiles. It can be used to integrate personalization and profile management within very different systems such as CMS, CRMs, Issue Trackers, native mobile application. It was designed to be easy to integrate with external systems, promoting profile sharing and re-use in very different applications.
Let's start !
Use cases
Use Apache Unomi as a personalization service for a Web CMS
In this use case Apache Unomi is used to track all the users that visits the sites being managed by the CMS. The sites may also contain personalized content elements that will use the profile information coming from Apache Unomi to change their display based on the user. It will also send events (such as login events for example) back to the server using simple AJAX calls to the Apache Unomi REST API.
The Web CMS can also build UIs to expose the privacy management feature to end-users of the platform, and will of course build UIs to perform administration tasks such as profile, segments, goals, rules management.
Use Apache Unomi as an analytics service for a native mobile application
In this case the server is used as a back-end for a native mobile application that will authenticate a user and then send events to the server when the user performs certains tasks within the app. Tasks may include pressing a button, getting close to a location (using GPS or beacons), etc…
The application may also include a UI to expose the privacy management features of Apache Unomi.
Use Apache Unomi as a centralized profile management system
In this use case the server is used a centralized profile management system, making it easy to aggregate different profile information that may be stored in different systems such as CRMs, Issue tracking systems, forums, CMS, … One way of achieving this is to make sure that “anonymous” profiles are merged when an event such as a login happens and a unique cross-system identifier (usually the email address) is detected on each system.
In this case connectors to all the different systems will need to be developped (and hopefully contributed back to the Apache Unomi community), so that the centralization of the information is managed by an Open Source and standards compliant server community.