nowo-tech/yopass-bundle

Symfony bundle for Yopass-style E2E encrypted secret sharing with configurable routes, table prefix, and access control

Maintainers

Package info

github.com/nowo-tech/YopassBundle

Type:symfony-bundle

pkg:composer/nowo-tech/yopass-bundle

Transparency log

Fund package maintenance!

HecFranco

Statistics

Installs: 4

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

v1.1.0 2026-07-04 08:34 UTC

README

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.