Skip to content

A secure access token management system for safe message publishing.

License

Notifications You must be signed in to change notification settings

smswithoutborders/RelaySMS-Vault

Repository files navigation

RelaySMS Vault

RelaySMS Vault is a core unit in the RelaySMS ecosystem, responsible for authentication, authorization, secure storage, and message encryption/decryption. It ensures that access tokens (e.g., OAuth2 tokens from Gmail, Twitter, and Telegram phone-based authentication) and user data are securely managed while enabling authenticated message transmission.

Table of Contents

  1. Overview
  2. Configuration Guide
  3. System Components
  4. References
  5. Contributing
  6. License

Overview

RelaySMS Vault provides secure storage and access control for user authentication data and access tokens. It integrates with other RelaySMS units via gRPC to facilitate secure messaging.

Users create and manage their accounts through RelaySMS clients (apps), which interact with the vault to securely store and manage their authentication data. When sending messages, the vault ensures the user is authenticated before decrypting their access tokens and message content.

Configuration Guide

System Components

Entities (User Accounts)

  • Users register accounts via RelaySMS clients.
  • Account information is securely stored in the vault.
  • Users can delete and manage their accounts through the clients and gRPC.

Access Tokens

  • Users obtain access tokens via the Publisher unit.
  • Tokens are securely stored in the vault and accessed via gRPC.

Message Handling

  • Messages are encrypted and decrypted using the Signal Double Ratchet algorithm.
  • The vault and client use X25519 key exchange for secure asynchronous encryption.

References

For details on how RelaySMS Vault secures user data and tokens, see the security documentation.

RelaySMS Vault interacts with other RelaySMS units using gRPC. Learn more in the gRPC documentation.

Technical details on vault implementation and integration:

API endpoints and available versions.

Contributing

To contribute:

  1. Fork the repository.
  2. Create a feature branch: git checkout -b feature-branch.
  3. Commit changes: git commit -m 'Add a new feature'.
  4. Push to the branch: git push origin feature-branch.
  5. Open a pull request.

License

This project is licensed under the GNU General Public License (GPL). See the LICENSE file for details.

About

A secure access token management system for safe message publishing.

Topics

Resources

License

Security policy

Stars

Watchers

Forks

Languages