gryfoss/twig-anonymize

Basic anonymize filter which leaves first and last letter and replaces rest with asterisks.

v1.0.0 2025-08-14 10:00 UTC

This package is auto-updated.

Last update: 2025-08-14 10:02:53 UTC


README

Tests

Basic Twig Anonymize extension which allows you to anonymize texts in your twig frontend. It keeps first and last letter (if string longer than 2) and replaces the rest with symbols (asterisks by default). . If you have a variable called mytext then you can anonymize it by typing:

{{ mytext|anonymize }}

Filter has few options:

  • keepLength: determines if original lenght of the text should be left intact or should it minify the hidden part.
  • replacementChar: character to be used in for the replacement. Defaults to *.

For example:

{{ mytext|anonymize(false, '!') }}

will not keep original length (replace with 3 symbols) and use '!' as the replacement char.

Warning: replacement length is always at least 3 symbols long, no matter the keepLength setting.

Installation

Install using composer:

composer require gryfoss/twig-anonymize

Since this is not a bundle for Symfony or any other framework but just a simple filter you may need to tell your framework how to look for the filter.

In Symfony, in your services.yaml, add under services:

    gryfoss.twig.anonymize_extension:
        class: GryfOSS\Twig\Extension\AnonymizeExtension
        tags:
            - { name: twig.extension }

Contributing

We welcome contributions from everyone! Whether you're fixing bugs, adding new features, or improving documentation, your help is appreciated.

How to contribute:

Development setup:

  1. Fork the repository
  2. Clone your fork: git clone https://github.com/YOUR_USERNAME/twig-anonymize.git
  3. Install dependencies: composer install
  4. Run tests: composer test-all
  5. Make your changes
  6. Ensure 100% test coverage: composer check-coverage
  7. Submit a pull request

All contributions must maintain 100% test coverage and pass all quality checks. Our automated CI/CD pipeline will verify this when you submit your pull request.

Thank you for contributing! 🎉