Data Access Levels
There are currently three types, or levels, of user data access that an application can request: Basic Profile, Friends List, and Online Presence. Basic Profile access is the minimum, and user consent to any level of data access always includes this level. Each level of data access applies to a different area of the user's account, and are independent of each other, with the exception of Basic Profile.
Basic Profile is the minimum access level required to retrieve any information about an Epic Account. Any queries that include a user's account ID will fail if the application does not have Basic Profile access for that account. The other access levels implicitly require Basic Profile, and any consent requests for other access levels will automatically include Basic Profile access for the user account if the application doesn't already have it.
Basic Profile access enables the application authenticate the user with Epic Account Services, access information like the user's screen name, and make in-application purchases. However, the application will never have access to the user's password or payment information.
An application can access an Epic Account's friends list with Friends List access. However, this access only applies to accounts that have given consent; it does not automatically apply to accounts that are listed as friends. In other words, the friends list that an application can see will contain only those accounts that are on the user's friends list and have also consented to Friends List access for the application.
In the future, the Social Overlay feature will include functionality to show and interact with an unfiltered version of the user's friends list. This will be shown directly to the user; the application will not be able to access or interact with the Social Overlay or its data other than to open it and to receive notification when the user closes it.
The Online Presence access level gives the application access to the account's presence information. This information relates to what a user is doing at the moment, and contains both the user's basic status, and game-specific status.
Basic status includes generic information such as whether the user is online or offline, what game they are playing (provided the user has agreed to share information about that game), and so on. This is application-agnostic information, so no configuration options for this are available to an application. With appropriate permissions, users can see other users' basic status information whether or not they're playing the same game.
Game-specific status contains information particular to the game the user is playing, if any. This typically includes what game mode the user is playing, or what map or level they're playing on, but it can be anything the application developer has defined and configured. Game-specific status is visible only within the same application and the same deployment of a product. For example, game-specific status coming from Unreal Tournament 3 will only be visible to other instances of Unreal Tournament 3; users playing Fortnite, or not playing a game at all, will not be able to access this information.