Rahona Secrets is an enterprise-grade secure password and sensitive information sharing platform designed to safely transmit credentials to clients with full control, tracking, and expiration capabilities.
- End-to-end Encryption: Client-side encryption ensures that sensitive data is never stored in plaintext
- Automatic Expiration: Set custom expiration times for all shared secrets
- Access Tracking: Know exactly when recipients access their credentials
- Multi-language Support: Available in English, French, and Hungarian
- Enterprise SSO Integration: Connect with your existing identity providers
- API Support: Programmatically create and manage secrets
- Two-Factor Authentication: Enhanced security for your account
- Email Notifications: Get alerts when secrets are accessed or expire
- Responsive Design: Works on desktop and mobile devices
- Docker
- Or PHP 8.3+ with sqlite or mariadb/mysql
git clone https://github.com/Rahona-Hosting/secrets.git
cd secrets- Copy config files
cp docker-compose.yml.example docker-compose.yml
cp redis.conf.example redis.conf
cp .env.docker.example .env- Define a password for redis
In the redis.conf, replace <define_password> without the <>
requirepass my_strong_password- Update the
.envfile
Main settings that need to be changed:
For the APP_KEY you can generate it with php artisan key:generate or you can use this online
project: https://laravel-encryption-key-generator.vercel.app/
APP_KEY=
APP_URL=https://example.com
# MySQL secrets (be careful on the DB_HOST)
MYSQL_ROOT_PASSWORD=""
MYSQL_DATABASE=""
MYSQL_USER=""
MYSQL_PASSWORD=""
# SMTP Configuration (for notification)
MAIL_MAILER=smtp
MAIL_HOST=
MAIL_PORT=587
MAIL_USERNAME=
MAIL_PASSWORD=""
MAIL_FROM_ADDRESS=""- Start the docker
docker compose up -d- Install PHP and NPM dependencies
composer install && npm install- Create environment file
cp .env.example .env- Generate application key
php artisan key:generate- Run database migrations
php artisan migrate- Build frontend assets
npm run build- Start the development server
php artisan serveFor custom installation please refer to the official Laravel 11 documentation.
To use discord's OAuth2, you need to create an application on the discord developper portal
Variables to change:
DISCORD_CLIENT_ID=
DISCORD_CLIENT_SECRET=""
DISCORD_REDIRECT_URI=https://example.com/auth/discord/callback
To use GitHub OAuth2, you can follow this documentation: Creating an OAuth app
Variables to change:
DISCORD_CLIENT_ID=
DISCORD_CLIENT_SECRET=""
DISCORD_REDIRECT_URI=https://example.com/auth/discord/callback
To use Google OAuth2, you need a Google Cloud Console account in order to create your app. You can follow this documentation: Using OAuth 2.0 to Access Google APIs
Variables to change:
GOOGLE_CLIENT_ID=<>.apps.googleusercontent.com
GOOGLE_CLIENT_SECRET=
GOOGLE_REDIRECT_URI=https://example.com/auth/google/callback
You can create a OAuth2 provider following this documentation: Create an OAuth2 provider
Variables to change:
AUTHENTIK_BASE_URL="https://authentik.app"
AUTHENTIK_CLIENT_ID=""
AUTHENTIK_CLIENT_SECRET=""
AUTHENTIK_REDIRECT_URI="${APP_URL}/auth/authentik/callback"
You can use these variables to configure a generic OAuth2 provider:
SSO_CLIENT_ID=""
SSO_CLIENT_SECRET=""
SSO_REDIRECT_URI="${APP_URL}/auth/generic-sso/callback"
SSO_AUTH_ENDPOINT="https://generic.app/application/o/authorize/"
SSO_TOKEN_ENDPOINT="https://generic.app/application/o/token/"
SSO_USERINFO_ENDPOINT="https://generic.app/application/o/userinfo/"
Configure your SMTP settings in the .env file to enable email notifications:
# SMTP Configuration (for notification)
MAIL_MAILER=smtp
MAIL_SCHEME=null
MAIL_HOST=smtp.example.com
MAIL_PORT=587
MAIL_USERNAME=noreply@example.com
MAIL_PASSWORD="your_password"
MAIL_FROM_ADDRESS="noreply@example.com"
MAIL_FROM_NAME="${APP_NAME}"
Our current development priorities are:
- Add GDPR job anonymization
- CSP and SRI enforcement
- Sentry setup
- Implementing comprehensive unit tests to establish code coverage metrics
- Refactoring certain components to eliminate code duplication
- Enhancing the API capabilities with additional endpoints
We welcome contributions from the community! While we can't guarantee that all issues will be addressed, we appreciate your input and will review all pull requests.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
If you discover any security-related issues, please email security@rahona-hosting.com.
Developed with β€οΈ by Rahona Hosting