PHPackages                             matiux/broadway-sensitive-serializer - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Parsing &amp; Serialization](/categories/parsing)
4. /
5. matiux/broadway-sensitive-serializer

ActiveLibrary[Parsing &amp; Serialization](/categories/parsing)

matiux/broadway-sensitive-serializer
====================================

Serializer implementation with support for data sensitization

v1.0.6(2y ago)841412MITPHPPHP ^7.4|^8

Since Nov 18Pushed 2y ago1 watchersCompare

[ Source](https://github.com/matiux/broadway-sensitive-serializer)[ Packagist](https://packagist.org/packages/matiux/broadway-sensitive-serializer)[ RSS](/packages/matiux-broadway-sensitive-serializer/feed)WikiDiscussions master Synced 4w ago

READMEChangelog (2)Dependencies (14)Versions (39)Used By (2)

Sensitization support for [broadway/broadway](https://github.com/broadway/broadway)
===================================================================================

[](#sensitization-support-for-broadwaybroadway)

[![check dependencies](https://github.com/matiux/broadway-sensitive-serializer/actions/workflows/check-dependencies.yml/badge.svg)](https://github.com/matiux/broadway-sensitive-serializer/actions/workflows/check-dependencies.yml/badge.svg)[![test](https://github.com/matiux/broadway-sensitive-serializer/actions/workflows/tests.yml/badge.svg)](https://github.com/matiux/broadway-sensitive-serializer/actions/workflows/tests.yml/badge.svg)[![codecov](https://camo.githubusercontent.com/4742e18eebfe39efe54fdd2d37998bf101adcb4c919452059948b962baa1d795/68747470733a2f2f636f6465636f762e696f2f67682f6d61746975782f62726f61647761792d73656e7369746976652d73657269616c697a65722f6272616e63682f6d61737465722f67726170682f62616467652e737667)](https://codecov.io/gh/matiux/broadway-sensitive-serializer)[![type coverage](https://camo.githubusercontent.com/9b2b03dd2de2627b91407527c13db52f1e731dc8fdcc85622295ece6c150c554/68747470733a2f2f73686570686572642e6465762f6769746875622f6d61746975782f62726f61647761792d73656e7369746976652d73657269616c697a65722f636f7665726167652e737667)](https://shepherd.dev/github/matiux/broadway-sensitive-serializer)[![psalm level](https://camo.githubusercontent.com/9bac6dd6dd4121f8942d9ef55a7cd1b02f15953a7f6e59297f777b8d669404f4/68747470733a2f2f73686570686572642e6465762f6769746875622f6d61746975782f62726f61647761792d73656e7369746976652d73657269616c697a65722f6c6576656c2e737667)](https://shepherd.dev/github/matiux/broadway-sensitive-serializer)[![security analysis status](https://github.com/matiux/broadway-sensitive-serializer/actions/workflows/security-analysis.yml/badge.svg)](https://github.com/matiux/broadway-sensitive-serializer/actions/workflows/security-analysis.yml/badge.svg)[![coding standards status](https://github.com/matiux/broadway-sensitive-serializer/actions/workflows/coding-standards.yml/badge.svg)](https://github.com/matiux/broadway-sensitive-serializer/actions/workflows/coding-standards.yml/badge.svg)[![Packagist PHP Version Support](https://camo.githubusercontent.com/3b3e9215a9add6fd7fb11d5856f60af102c08edf46ae370ce303cfd481d3df1b/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f7068702d762f6d61746975782f62726f61647761792d73656e7369746976652d73657269616c697a65723f636f6c6f723d626c7565)](https://camo.githubusercontent.com/3b3e9215a9add6fd7fb11d5856f60af102c08edf46ae370ce303cfd481d3df1b/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f7068702d762f6d61746975782f62726f61647761792d73656e7369746976652d73657269616c697a65723f636f6c6f723d626c7565)[![Read the Docs (version)](https://camo.githubusercontent.com/2574fdf2a831763ca193794217ccd5fcba6342c3de081f1b05a90cdc00b4f43b/68747470733a2f2f696d672e736869656c64732e696f2f72656164746865646f63732f62726f61647761792d73656e7369746976652d73657269616c697a65722f6c6174657374)](https://camo.githubusercontent.com/2574fdf2a831763ca193794217ccd5fcba6342c3de081f1b05a90cdc00b4f43b/68747470733a2f2f696d672e736869656c64732e696f2f72656164746865646f63732f62726f61647761792d73656e7369746976652d73657269616c697a65722f6c6174657374)

The idea behind this project is to make a CQRS+ES system compliant, specifically implemented through the [Broadway](https://github.com/broadway/broadway) library, with the General Data Protection Regulation (GDPR), in particular with the right to be forgotten.

Normal Broadway event payload

```
{
    "class": "SensitiveUser\\User\\Domain\\Event\\UserRegistered",
    "payload": {
        "id": "b0fce205-d816-46ac-886f-06de19236750",
        "name": "Matteo",
        "surname": "Galacci",
        "email": "m.galacci@gmail.com",
        "occurred_at": "2022-01-08T14:22:38.065+00:00"
    }
}
```

Example of a payload with the extension active

```
{
  "class": "SensitiveUser\\User\\Domain\\Event\\UserRegistered",
  "payload": {
    "id": "b0fce205-d816-46ac-886f-06de19236750",
    "name": "Matteo",
    "surname": "#-#2Iuofg4NKKPLAG2kdJrbmQ==:bxQo+zXfjUgrD0jHuht0mQ==",
    "email": "#-#OFLfN9XDKtWrmCmUb6mhY0Iz2V6wtam0pcqs6vDJFRU=:bxQo+zXfjUgrD0jHuht0mQ==",
    "occurred_at": "2022-01-08T14:22:38.065+00:00"
  }
}
```

The symfony bundle exists to simplify integration with the framework [here](https://github.com/matiux/broadway-sensitive-serializer-bundle)

Read the [doc](https://broadway-sensitive-serializer.readthedocs.io/en/latest/) for more information.

Install
-------

[](#install)

```
composer require matiux/broadway-sensitive-serializer
```

Setup for development
---------------------

[](#setup-for-development)

```
git clone https://github.com/matiux/broadway-sensitive-serializer.git && cd broadway-sensitive-serializer
cp docker/docker-compose.override.dist.yml docker/docker-compose.override.yml
rm -rf .git/hooks && ln -s ../scripts/git-hooks .git/hooks
```

This repository uses GitHub actions to perform some checks. If you want to test the actions locally you can use [act](https://github.com/nektos/act). For example if you want to check the action for static analysis

```
act -P ubuntu-latest=shivammathur/node:latest --job static-analysis

```

### Interact with the PHP container

[](#interact-with-the-php-container)

You can interact with the PHP container through the [makefile](./makefile)

Some uses:

```
make upd
make enter
make phpunit
make psalm
make coding-standard-fix-staged
make build-php ARG="--no-cache"
make build-docs
```

Check out [here](./makefile) for all the options.

### Install dependencies to run test or execute examples

[](#install-dependencies-to-run-test-or-execute-examples)

```
make build-php ARG="--no-cache"
make upd
make composer ARG="install"
```

### Run test

[](#run-test)

```
make build-php ARG="--no-cache"
make upd
make phpunit
```

Example code
------------

[](#example-code)

Read the [examples section](https://broadway-sensitive-serializer.readthedocs.io/en/latest/examples.html)

###  Health Score

32

—

LowBetter than 71% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity20

Limited adoption so far

Community14

Small or concentrated contributor base

Maturity62

Established project with proven stability

 Bus Factor1

Top contributor holds 99.3% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~24 days

Recently: every ~143 days

Total

36

Last Release

771d ago

Major Versions

v0.3.1 → v1.0.02022-07-06

### Community

Maintainers

![](https://www.gravatar.com/avatar/3dbb29f3b357ce6dca7814fa75de51d9f7fa2e9961a28236bef8cf18e0a5f98f?d=identicon)[matiux](/maintainers/matiux)

---

Top Contributors

[![matiux](https://avatars.githubusercontent.com/u/821668?v=4)](https://github.com/matiux "matiux (141 commits)")[![federicotorrisi](https://avatars.githubusercontent.com/u/21043580?v=4)](https://github.com/federicotorrisi "federicotorrisi (1 commits)")

---

Tags

broadwaycqrscqrs-esgdprphpsensitiveserializerDomain Driven Designdddevent sourcingcqrsgdprsensitization

###  Code Quality

TestsPHPUnit

Static AnalysisPsalm

Code StylePHP CS Fixer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/matiux-broadway-sensitive-serializer/health.svg)

```
[![Health](https://phpackages.com/badges/matiux-broadway-sensitive-serializer/health.svg)](https://phpackages.com/packages/matiux-broadway-sensitive-serializer)
```

###  Alternatives

[broadway/broadway

Infrastructure and testing helpers for creating CQRS and event sourced applications.

1.5k2.0M53](/packages/broadway-broadway)[broadway/broadway-bundle

Symfony bundle for broadway/broadway.

68853.8k7](/packages/broadway-broadway-bundle)[nwidart/laravel-broadway

A Laravel adapter for the Broadway ES/CQRS package.

12315.0k](/packages/nwidart-laravel-broadway)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
