To have even greater control over your data, you may want to self-host Hyperpass. You should have some experience with servers and software development if you are trying to do this. First, get the Hyperpass source code from the GitHub repository. Next, install Node. Navigate to the Hyperpass source code directory and run npm i to install Hyperpass' dependencies. Run npm run build-common to build the common functionality, and then run npm run build-api to build the API. The built API will be located in builds/hyperpass-api. Download and copy this package.json into the API's build folder. Also copy email-template.html from projects/hyperpass-api/source into the build folder.
The last file you need is the environment variables file, which you will need to create yourself. Make a file named .env and fill in the variables listed below. Set the ENABLE_CORS variable to true if you would like Express to set CORS headers. If you are using a public domain for hosting, however, it is recommended that you set this option to false. Instead, use a webserver such as NGINX or Apache as a reverse proxy and configure headers, caching, and rate limiting there. The email environment variables can be omitted if you do not want to set up an email server, however if you do this, you will of course not be able to validate user accounts via email. In this case, you can either manually validate user accounts by removing their validationKey field in the database, or you can disable the validation requirement altogether by setting DISABLE_VALIDATION to true. For more details on this file, please refer to the dotenv documentation.
PORT - The port for Express to serve the API on.
MONGODB_URI - The connection string URI used to connect the API to the appropriate MongoDB database.
ENABLE_CORS - Whether to have Express set CORS headers or not. Enable this if you are not using a reverse proxy server.
DISABLE_VALIDATION - Whether to use account validation or not.
EMAIL_HOST - The email provider hostname.
EMAIL_ADDRESS - The address to send emails with.
EMAIL_PORT - The port to send the email on.
EMAIL_USERNAME - The username for the email provider.
EMAIL_PASSWORD - The password for the email provider.
Now you have all the files that you need to serve the API. Transfer the files in the API build folder to the computer and directory you would like to host from. You will need a server that has been set up for general hosting. If you need guidance on how to set a server up, you can follow a series such as this one. Next, install MongoDB and set up a database for Hyperpass. To do that, please refer to MongoDB's documentation. You will also need to install Node on the computer. Once you have done that, run npm i in the API's directory to install its dependencies. You can then start the Hyperpass API server. Using a process manager such as PM2 is recommended. To launch the API using PM2, run pm2 start main.js --name=hyperpass-api.
Now that you have your server running, you will need to configure the Hyperpass applications you are using to access it instead of the default API server. On the login page of any Hyperpass app, you will notice a server icon on the top right. Click that to go to the API Server page and type in the domain name or IP address of your server. Click 'Save' and all API requests will be sent to your server instead of the default. Note that this setting is by necessity not synchronized, so you will need to repeat this step for each Hyperpass application you use. Congratulations! You should now be able to use Hyperpass with your account data saved on and served from your own server!