Availability

What is going to keep my password related information available?

Overview

The application frontend and backend components are deployed in Amazon Web Services (AWS) and are highly available and scalable. So, you and whoever else wants to use the application can use it whenever you and they wish.

AWS CDN

The Rosetta Salt application client itself is written with the React application framework from Facebook and is downloaded to your client/device. It is built and deployed by the AWS Amplify Console toolset, which makes the application client highly available and scalable through the AWS CDN (content delivery network). This means that the released version of the application client should always be available to your client/device and that many can request that released version at the same time.

AWS API Gateway and Lambda

The application client makes requests over HTTPS with the Rosetta Salt APIs (application programming interfaces) that are written with the RESTful patterns. These APIs are also deployed with the AWS Amplify Console toolset and are exposed through the AWS API Gateway and embodied within the AWS Lambda infrastructure, which makes them highly available and scalable. This means that the released version of the application APIs should always be available to the client applications that are running on your clients/devices, as well as those that are running elsewhere.

AWS Backend Services

The application behavior that is deployed in the Rosetta Salt APIs coordinates with a number of AWS Backend Services to fulfill the requests coming from Rosetta Salt application clients. For example, it might interact with the AWS Cognito service related to authentication, with the AWS ElastiCache service related to in-memory caching, and with the AWS DynamoDB or AWS Aurora services related to persistence. All of the AWS services that it interacts with are highly available and scalable, which in turn allows the Rosetta Salt application behavior itself to be highly available and scalable.

Online only?

Generally speaking, a highly available product should also function in offline mode. However, although Rosetta Salt could operate when your client/device is offline, so far it doesn't make sense for it to do so.

The primary reason for this is that we want to maintain a proper separation between the passcode that you provide to Rosetta Salt and the site salt values that Rosetta Salt maintains for you. For Rosetta Salt to function in offline mode, the site salt values would need to be stored in your client/device so that no network would be necessary to obtain the specific one you need at any given moment. See the Security feature description for more information.

The secondary reason for not offering an offline mode for Rosetta Salt is that its primary purpose is to facilitate you logging into one of your sites with a secure password. However, if your client/device is offline, then you wouldn't be able to log into one of your sites anyhow. Therefore, most/all of the time, an offline mode would not end up being useful.