PHPackages                             slashplus/identity - 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. slashplus/identity

ActiveLibrary

slashplus/identity
==================

Verify the age of a person using the german id card, german passport or german residence permission (eAT).

1.1.1(3y ago)06MITPHPPHP ~7.3|~8.0

Since Sep 26Pushed 3y ago1 watchersCompare

[ Source](https://github.com/slashplusweb/identity)[ Packagist](https://packagist.org/packages/slashplus/identity)[ RSS](/packages/slashplus-identity/feed)WikiDiscussions master Synced 1w ago

READMEChangelog (4)Dependencies (5)Versions (5)Used By (0)

slashplus identity
==================

[](#slashplus-identity)

Verify the age of a person using the german id card, german passport or german residence permission (eAT).

The verification uses laravels validation package (`illuminate/validation`; version ~6). However it does not require a laravel application, so it can be used standalone as library in combination with any package as long as the package requirements do not clash.

Installation
------------

[](#installation)

Install the package via composer `composer require slashplus/identity`

Usage
-----

[](#usage)

To make use of the validation just create a new instance via the \\Slashplus\\Identity\\AgeVerification class that acts as concrete factory class, by passing the validation data and method. Depending on the validation method (i.e. `id_card`, `passport`, `residence`) the correct validator instance will be created and can be used.

i.e. an `id_card` type validation

```
// note: this example contains invalid data, but you get an idea
$validator = \Slashplus\Identity\AgeVerification::create([
    [
    'serial' => '5484197598',
    'birth' => '9512210',
    'expire' => '4702025',
    'nationality' => 'D',
    'checksum' => '4'
    ]
]);
```

You are then able to use all validation methods from the `Slashplus\Identity\Contracts\Validation`contract, which extends the `\Illuminate\Contracts\Validation\Validator` contract.

This means you're able to get the following information from the validator if needed:

```
// regular illuminate methods i.e.
$validatedData = $validator->validated(); // array of validated Data (throws exception)

// additional data i.e.
$validatedBirth = $validator->validatedBirthDate(); // DateTime object (throws exception)
$validatedExpire = $validator->validatedExpireDate(); // DateTime object (throws exception)
```

### Data structure

[](#data-structure)

The input data might depend on the validation type. For more information about it, check the types directories and their readme files:

- `id_card`: [src/Validation/IdCardValidation/README.md](/src/Validation/IdCardValidation/README.md)
- `passport`: [src/Validation/PassportValidation/README.md](/src/Validation/PassportValidation/README.md)
- `residence`: [src/Validation/ResidenceValidation/README.md](/src/Validation/ResidenceValidation/README.md)

Roadmap
-------

[](#roadmap)

Currently, there are only three validation types for checking data against the german id card, the german passport and the german residence permission (eAT). In a further release this might be extended. Feel free to contribute or tell us your wishes. 🚀

Right now, this package uses components from laravel in version ~6. This is due to the fact that this package should be compatible with PHP 7.3 and at the time of creation it must also be compatible to symfony components in versions that more recent versions of laravel do not allow to install. As soon as this is no longer an issue, the required package versions will be updated. Those who might want to fork the package should know, that it should be compatible with laravel 6-8 but compatibility can not be guaranteed.

###  Health Score

25

—

LowBetter than 37% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity4

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity58

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% 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 ~82 days

Total

4

Last Release

1447d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/7a0fe7828d686aa9be502796e510508dd9b13c1918fbabe4d5c613f03caf0fd1?d=identicon)[emanueljacob](/maintainers/emanueljacob)

---

Top Contributors

[![emanueljacob](https://avatars.githubusercontent.com/u/28386816?v=4)](https://github.com/emanueljacob "emanueljacob (35 commits)")

---

Tags

age-checkage-verificationPersonalausweisid card checkpassport checkReisepassresidence permission checkeAufenthaltstitelEAT

###  Code Quality

TestsPest

### Embed Badge

![Health badge](/badges/slashplus-identity/health.svg)

```
[![Health](https://phpackages.com/badges/slashplus-identity/health.svg)](https://phpackages.com/packages/slashplus-identity)
```

###  Alternatives

[laravel/ui

Laravel UI utilities and presets.

2.7k134.9M601](/packages/laravel-ui)[laravel/breeze

Minimal Laravel authentication scaffolding with Blade and Tailwind.

3.0k31.3M148](/packages/laravel-breeze)[laravel/lumen-framework

The Laravel Lumen Framework.

1.5k26.2M709](/packages/laravel-lumen-framework)[proengsoft/laravel-jsvalidation

Validate forms transparently with Javascript reusing your Laravel Validation Rules, Messages, and FormRequest

1.1k2.3M49](/packages/proengsoft-laravel-jsvalidation)[roots/acorn

Framework for Roots WordPress projects built with Laravel components.

9682.1M97](/packages/roots-acorn)[erag/laravel-disposable-email

A Laravel package to detect and block disposable email addresses.

226102.4k](/packages/erag-laravel-disposable-email)

PHPackages © 2026

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