PHPackages                             mohamed-elsayed-ibrahim/filament-lockscreen - 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. [Admin Panels](/categories/admin)
4. /
5. mohamed-elsayed-ibrahim/filament-lockscreen

ActiveLibrary[Admin Panels](/categories/admin)

mohamed-elsayed-ibrahim/filament-lockscreen
===========================================

A lockscreen plugin for Filament v3 with inactivity timeout and secure unlock functionality.

v1.1.6(1mo ago)09↓87.5%MITPHPPHP ^8.1CI passing

Since Jun 6Pushed 1mo agoCompare

[ Source](https://github.com/mohamedElsayedIbrahim/filament-lock-screen)[ Packagist](https://packagist.org/packages/mohamed-elsayed-ibrahim/filament-lockscreen)[ Docs](https://github.com/mohamedElsayedIbrahim/filament-lock-screen)[ RSS](/packages/mohamed-elsayed-ibrahim-filament-lockscreen/feed)WikiDiscussions main Synced 1w ago

READMEChangelogDependencies (7)Versions (9)Used By (0)

Filament Lock Screen
====================

[](#filament-lock-screen)

A modern lock screen plugin for **Filament v3** that automatically locks inactive sessions and requires password re-authentication without logging users out.

 [![Latest Version](https://camo.githubusercontent.com/3493cd4660be07d9da5a3be866c89c35560c9f5470409d11ef99d7ba9646524d/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6d6f68616d65642f66696c616d656e742d6c6f636b2d73637265656e2e737667)](https://camo.githubusercontent.com/3493cd4660be07d9da5a3be866c89c35560c9f5470409d11ef99d7ba9646524d/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6d6f68616d65642f66696c616d656e742d6c6f636b2d73637265656e2e737667) [![Total Downloads](https://camo.githubusercontent.com/7b06af530521e132d522d0f1bb8935646c9d64a5a3a8ccaade22460f04b652a5/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6d6f68616d65642f66696c616d656e742d6c6f636b2d73637265656e2e737667)](https://camo.githubusercontent.com/7b06af530521e132d522d0f1bb8935646c9d64a5a3a8ccaade22460f04b652a5/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6d6f68616d65642f66696c616d656e742d6c6f636b2d73637265656e2e737667) [![License](https://camo.githubusercontent.com/c7014ec5e40173133b55df0dc426b4f441b4d045d501c9c0842764783bcd04a9/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f6d6f68616d65642f66696c616d656e742d6c6f636b2d73637265656e2e737667)](https://camo.githubusercontent.com/c7014ec5e40173133b55df0dc426b4f441b4d045d501c9c0842764783bcd04a9/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f6d6f68616d65642f66696c616d656e742d6c6f636b2d73637265656e2e737667)

---

Features
--------

[](#features)

- 🔒 Automatic session locking after inactivity
- 🔓 Secure password-based unlock
- 🎨 Modern overlay lock screen
- ⚡ Native Filament v3 integration
- 🧩 Plugin-based architecture
- 📡 Lock / Unlock events
- ⚙️ Configurable timeout
- 🚀 No database tables required
- 🔐 Session-based security
- 🎯 Easy installation and setup

---

Requirements
------------

[](#requirements)

PackageVersionPHP8.1+Laravel10.x / 11.xFilament3.x---

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

[](#installation)

Install the package via Composer:

```
composer require mohamed-elsayed-ibrahim/filament-lockscreen
```

---

Publish Configuration
---------------------

[](#publish-configuration)

```
php artisan vendor:publish --tag=filament-lock-screen-config
```

This will create:

```
config/filament-lock-screen.php

```

---

Configuration
-------------

[](#configuration)

```
return [

    /*
    |--------------------------------------------------------------------------
    | Enable / Disable Plugin
    |--------------------------------------------------------------------------
    */

    'enabled' => true,

    /*
    |--------------------------------------------------------------------------
    | Session Timeout (seconds)
    |--------------------------------------------------------------------------
    */

    'timeout' => env('FILAMENT_LOCK_TIMEOUT', 900),

    /*
    |--------------------------------------------------------------------------
    | Authentication Guard
    |--------------------------------------------------------------------------
    */

    'guard' => 'web',

    /*
    |--------------------------------------------------------------------------
    | Require Password Verification
    |--------------------------------------------------------------------------
    */

    'password_check' => true,

];
```

---

Register the Plugin
-------------------

[](#register-the-plugin)

Inside your Filament Panel Provider:

```
use MohamedElsayedIbrahim\FilamentLockScreen\FilamentLockScreenPlugin;

public function panel(Panel $panel): Panel
{
    return $panel
        ->plugins([
            FilamentLockScreenPlugin::make(),
        ]);
}
```

---

How It Works
------------

[](#how-it-works)

### Activity Tracking

[](#activity-tracking)

The plugin continuously tracks authenticated user activity.

When no activity occurs within the configured timeout period:

1. Session becomes locked.
2. Overlay appears immediately.
3. User interaction is blocked.
4. Password verification is required.

### Unlock Process

[](#unlock-process)

The user enters their current password.

The plugin validates it using Laravel's hashing system:

```
Hash::check(
    $password,
    auth()->user()->password
);
```

If valid:

- Session is restored
- Lock state is removed
- User continues working without page reload

---

Events
------

[](#events)

### Locked Event

[](#locked-event)

```
use MohamedElsayedIbrahim\FilamentLockScreen\Events\Locked;
```

Example:

```
Event::listen(Locked::class, function (Locked $event) {
    logger()->info(
        'User locked',
        ['user_id' => $event->user->id]
    );
});
```

---

### Unlocked Event

[](#unlocked-event)

```
use MohamedElsayedIbrahim\FilamentLockScreen\Events\Unlocked;
```

Example:

```
Event::listen(Unlocked::class, function (Unlocked $event) {
    logger()->info(
        'User unlocked',
        ['user_id' => $event->user->id]
    );
});
```

---

Customizing the View
--------------------

[](#customizing-the-view)

Publish views:

```
php artisan vendor:publish --tag=filament-lock-screen-views
```

Published location:

```
resources/views/vendor/filament-lock-screen

```

You can fully customize:

- Colors
- Branding
- Logo
- Layout
- Animations
- Typography

---

Example Environment Variables
-----------------------------

[](#example-environment-variables)

```
FILAMENT_LOCK_TIMEOUT=900
```

### Common Values

[](#common-values)

TimeSeconds5 Minutes30010 Minutes60015 Minutes90030 Minutes18001 Hour3600---

Security
--------

[](#security)

The plugin:

- Never stores passwords
- Uses Laravel Hash verification
- Uses session-based locking
- Works with Filament authentication
- Prevents unauthorized access to active sessions

---

Architecture
------------

[](#architecture)

```
src/
├── Contracts/
├── Events/
├── Http/
│   └── Middleware/
├── Livewire/
├── FilamentLockScreenPlugin.php
└── FilamentLockScreenServiceProvider.php

```

---

Roadmap
-------

[](#roadmap)

### Planned Features

[](#planned-features)

- PIN Unlock Mode
- Biometric Unlock Support
- Multi-panel Support
- User-specific Timeout Settings
- Role-based Lock Policies
- Audit Log Integration
- Browser Activity Detection
- Dark Mode Optimizations
- Team Admin Override

---

Testing
-------

[](#testing)

Run tests:

```
composer test
```

or

```
vendor/bin/phpunit
```

---

Contributing
------------

[](#contributing)

Contributions are welcome.

1. Fork the repository
2. Create a feature branch

```
git checkout -b feature/my-feature
```

3. Commit your changes

```
git commit -m "Add my feature"
```

4. Push to GitHub

```
git push origin feature/my-feature
```

5. Open a Pull Request

---

Changelog
---------

[](#changelog)

Please see CHANGELOG.md for more information on recent updates.

---

License
-------

[](#license)

The MIT License (MIT).

---

Credits
-------

[](#credits)

- Laravel
- FilamentPHP
- Livewire

---

Support
-------

[](#support)

If you discover a bug or have a feature request, please open an issue on GitHub.

GitHub Repository:

---

Made with ❤️ for the Filament community.

###  Health Score

39

—

LowBetter than 84% of packages

Maintenance90

Actively maintained with recent releases

Popularity4

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity48

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 ~0 days

Total

8

Last Release

48d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/2852398975688d4b29504c984d7302ae999e23a734cc9ccfdeb00d9630252ab0?d=identicon)[mohamedElsayedIbrahim](/maintainers/mohamedElsayedIbrahim)

---

Top Contributors

[![mohamedElsayedIbrahim](https://avatars.githubusercontent.com/u/63871883?v=4)](https://github.com/mohamedElsayedIbrahim "mohamedElsayedIbrahim (22 commits)")

---

Tags

laravelsecurityfilamentfilament-pluginfilamentphpadmin-panellockscreensession-timeout

###  Code Quality

TestsPHPUnit

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/mohamed-elsayed-ibrahim-filament-lockscreen/health.svg)

```
[![Health](https://phpackages.com/badges/mohamed-elsayed-ibrahim-filament-lockscreen/health.svg)](https://phpackages.com/packages/mohamed-elsayed-ibrahim-filament-lockscreen)
```

###  Alternatives

[psalm/plugin-laravel

Psalm plugin for Laravel

3345.3M347](/packages/psalm-plugin-laravel)[hasinhayder/tyro-dashboard

Tyro Dashboard - Beautiful admin dashboard for managing Tyro roles, privileges, users, and settings

5443.8k](/packages/hasinhayder-tyro-dashboard)[mradder/filament-logger

Audit logging, activity tracking, exports, alerts, and dashboards for Filament admin panels.

2318.8k](/packages/mradder-filament-logger)[api-platform/laravel

API Platform support for Laravel

58174.6k17](/packages/api-platform-laravel)[hasinhayder/tyro-login

Tyro Login - Beautiful, customizable authentication views for Laravel 12 &amp; 13

2484.9k6](/packages/hasinhayder-tyro-login)[a909m/filament-statefusion

Filament StateFusion is a powerful FilamentPHP plugin that seamlessly integrates Spatie Laravel Model States into the Filament admin panel. This package provides an intuitive way to manage model states, transitions, and filtering within Filament, enhancing the user experience and developer productivity.

3019.0k2](/packages/a909m-filament-statefusion)

PHPackages © 2026

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