Skip to content

nowo-tech/YopassBundle

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Yopass Bundle

CI Packagist Version Packagist Downloads License PHP Symfony GitHub stars Coverage

Found this useful? Give it a star on GitHub so more developers can find it.

Symfony bundle for Yopass-style E2E encrypted secret sharing: client-side libsodium encryption, expiration, read limits, and public reveal pages.

FrankenPHP worker mode: Supported — stateless controllers and services; tested with the Symfony 8 demo using FrankenPHP (see Demo with FrankenPHP).

Features

  • Browser-side encryption (libsodium secretbox); server stores ciphertext only
  • Text and file payloads (max 512 KB files; file tab requires file_handler service)
  • Configurable expiration options, max-read limits, list pagination, and retention purge
  • Auto-generated decryption key or custom password mode
  • One-click links via ?decrypt_key= query parameter; short links with manual key entry
  • Authenticated manage UI + anonymous public reveal/consume routes
  • Configurable routes, table prefix, templates, and pluggable access control
  • Share events — customize list queries and per-share access (teams, grants, roles) without built-in ACL

Installation

composer require nowo-tech/yopass-bundle

See Installation for Flex recipe, Doctrine schema, routes, and security firewall setup.

Configuration

# config/packages/nowo_yopass.yaml
nowo_yopass:
    user_class: App\Entity\User
    table_prefix: yopass_
    security:
        access_checker: App\Security\CustomYopassAccessChecker  # optional

Full reference: Configuration.

Usage

  • Manage UI: /tools/yopass (configurable)
  • Public reveal: /share/{id} or /share/{id}?decrypt_key=… (configurable)
  • Override Twig: templates/bundles/NowoYopassBundle/

See Usage and Access control events.

Demo

make -C demo up-symfony8
# Demo started at: http://localhost:8022  →  Yopass CRUD at /tools/yopass (auto-login)

Documentation

Additional documentation

Tests and Coverage

make test              # PHPUnit
make test-coverage     # PHP coverage + percentage script
make test-ts           # Vitest (crypto)
make release-check     # Full pre-release chain
Language Coverage
PHP 100% (Lines) — make test-coverage-100
TypeScript 74.21% (Lines) — make test-ts (password-mode paths require browser sodium runtime)

License

MIT — see LICENSE.

About

Symfony bundle for **Yopass-style E2E encrypted secret sharing**: client-side libsodium encryption, expiration, read limits, and public reveal pages.

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors