A non-transitory storage medium having computer-executable instructions stored thereon, the computer-executable instructions readable by a computing system comprising one or more computing devices, wherein the computer-executable instructions are executable on the computing system in order to cause the computing system to perform operations, comprising:
- designating, by the computer system, a first secure memory space in a memory of a mobile device as a first sandbox for confining a first application;
- designating, by the computer system, a second secure memory space in the memory of the mobile device as a second sandbox for confining a second application;
- executing, by the computer system, the first application in the first sandbox, the first application restricted from accessing the second secure memory space;
- executing, by the computer system, the second application in the second sandbox, the second application restricted from accessing the first secure memory space;
- partitioning, by the computer system, off a section of the memory in the mobile device to be designated as a persistent shared storage controlled by a shared storage manager, wherein the persistent shared storage is accessible by a plurality of applications executing in their respective, confined sandboxes, wherein the plurality of applications include the first application executing in the first sandbox and the second application executing in the second sandbox;
- determining, by the computer system, whether a universal device identifier of the mobile device exists on the mobile device, wherein the universal device identifier uniquely identifies the mobile device and is used to track fraudulent activities associated with the mobile device across the plurality of applications executing in their respective, confined sandboxes in the memory of the mobile device;
- generating, by the computer system, the universal device identifier on the mobile device in response to a determination that the universal device identifier does not exist on the mobile device;
- storing, by the computer system, the universal device identifier in the persistent shared storage on the mobile device;
- creating, by the computer system, a storage location identifier associated with the universal device identifier, wherein the storage location identifier is used to access the universal device identifier stored in the persistent shared storage;
- sharing, by the computer system, the storage location identifier with the plurality of applications executing in their respective, confined sandboxes;
- receiving, by the computer system, independent requests for the universal device identifier from the first application and the second application of the plurality of applications;
- retrieving, by the computer system, the universal device identifier from the persistent shared storage;
- providing, by the computer system, the same universal device identifier to the first application and the second application;
- and
- identifying a potential fraudulent transaction based at least partly on the universal device identifier.