Secure and private data storage
AssigneeArash Esmailzadeh
InventorsArash Esmailzadeh, Andrew Vogan
Life of this patent
Estimating the term…
Abstract
A method of securely authorizing limited access by a software application to private user data may include operating a software application that can utilize user data, sending a request to a first server to authorize release of the user data, receiving an authorization from the first server to release the user data, and sending a request to retrieve the user data to a plurality of second servers. The method may also include receiving a portion of the user data from each of the plurality of second servers, assembling the user data from at least two of the portions of the user data, and providing the user data to the software application.
Claims20
A method of securely authorizing limited access by a software application to private user data, the method comprising:
- operating, by a computing device, a software application comprising a client-side component of an online service provider, wherein the software application is in communication with a server-side component of the online service provider;
- operating, by the computing device, a privacy application that is communicatively coupled to the software application, wherein the software application and the privacy application both operate on a same computing device and share a same operating system;
- determining, by the privacy application, that the online service provider requires access to data that is specific to a user of the computing device and specific to the online service provider, wherein the data is not currently available to the online service provider;
- in response to determining that the online service provider requires access to the data, sending, by a client-side component of the privacy application, a request to a first server comprising a server-side component of the privacy application to authorize release of the data that is specific to the user and specific to the online service provider, wherein the request to the first server identifies the online service provider;
- receiving, by the privacy application, first credentials from the first server to release the data that is specific to the user and specific to the online service provider;
- sending, by the privacy application, the first credentials with a request to retrieve the data that is specific to the user and specific to the online service provider to a plurality of second servers, wherein:
- each second server in the plurality of second servers is independent from the server-side component of the privacy application;
- and
- each second server in the plurality of second servers is independent from each of the other second servers in the plurality of second servers;
- receiving, by the privacy application, a portion of the data that is specific to the user and specific to the online service provider from each of the plurality of second servers;
- assembling, by the privacy application, the data that is specific to the user and specific to the online service provider from at least two of the portions;
- and
- providing, by the privacy application, the data that is specific to the user and specific to the online service provider to the software application for use by the online service provider based on a user setting that determines:
- whether the software application is allowed to access the data that is specific to the user and specific to the online service provider during a current active session;
- or
- whether the software application is allowed to access the data that is specific to the user and specific to the online service provider during and after a current active session.
A non-transitory computer-readable medium comprising instructions that, when executed by one or more processors, causes the one or more processors to perform operations comprising:
- operating, by a computing device, a software application comprising a client-side component of an online service provider, wherein the software application is in communication with a server-side component of the online service provider;
- operating, by the computing device, a privacy application that is communicatively coupled to the software application, wherein the software application and the privacy both operate on a same computing device and share a same operating system;
- determining, by the privacy application, that the online service provider requires access to data that is specific to a user of the computing device and specific to the online service provider, wherein the data is not currently available to the online service provider;
- in response to determining that the online service provider requires access to the data, sending, by a client-side component of the privacy application, a request to a first server comprising a server-side component of the privacy application to authorize release of the data that is specific to the user and specific to the online service provider, wherein the request to the first server identifies the online service provider;
- receiving, by the privacy application, first credentials from the first server to release the data that is specific to the user and specific to the online service provider;
- sending, by the privacy application, the first credentials with a request to retrieve the data that is specific to the user and specific to the online service provider to a plurality of second servers, wherein:
- each second server in the plurality of second servers is independent from the server-side component of the privacy application;
- and
- each second server in the plurality of second servers is independent from each of the other second servers in the plurality of second servers;
- receiving, by the privacy application, a portion of the data that is specific to the user and specific to the online service provider from each of the plurality of second servers;
- assembling, by the privacy application, the data that is specific to the user and specific to the online service provider from at least two of the portions;
- and
- providing, by the privacy application, the data that is specific to the user and specific to the online service provider to the software application for use by the online service provider based on a user setting that determines:
- whether the software application is allowed to access the data that is specific to the user and specific to the online service provider during a current active session;
- or
- whether the software application is allowed to access the data that is specific to the user and specific to the online service provider during and after a current active session.
A system comprising:
- one or more processors;
- and
- one or more memory devices comprising instructions that, when executed by the one or more processors, cause the one or more processors to perform operations comprising:
- operating, by a computing device, a software application comprising a client-side component of an online service provider, wherein the software application is in communication with a server-side component of the online service provider;
- operating, by the computing device, a privacy application that is communicatively coupled to the software application, wherein the software application and the privacy both operate on a same computing device and share a same operating system;
- determining, by the privacy application, that the online service provider requires access to data that is specific to a user of the computing device and specific to the online service provider, wherein the data is not currently available to the online service provider;
- in response to determining that the online service provider requires access to the data, sending, by a client-side component of the privacy application, a request to a first server comprising a server-side component of the privacy application to authorize release of the data that is specific to the user and specific to the online service provider, wherein the request to the first server identifies the online service provider;
- receiving, by the privacy application, first credentials from the first server to release the data that is specific to the user and specific to the online service provider;
- sending, by the privacy application, the first credentials with a request to retrieve the data that is specific to the user and specific to the online service provider to a plurality of second servers, wherein:
- each second server in the plurality of second servers is independent from the server-side component of the privacy application;
- and
- each second server in the plurality of second servers is independent from each of the other second servers in the plurality of second servers;
- receiving, by the privacy application, a portion of the data that is specific to the user and specific to the online service provider from each of the plurality of second servers;
- assembling, by the privacy application, the data that is specific to the user and specific to the online service provider from at least two of the portions;
- and
- providing, by the privacy application, the data that is specific to the user and specific to the online service provider to the software application for use by the online service provider based on a user setting that determines:
- whether the software application is allowed to access the data that is specific to the user and specific to the online service provider during a current active session;
- or
- whether the software application is allowed to access the data that is specific to the user and specific to the online service provider during and after a current active session.
Dependencies are inferred from the claim text.