diff --git a/fusion_login_audit/__init__.py b/fusion_login_audit/__init__.py new file mode 100644 index 00000000..a0fdc10f --- /dev/null +++ b/fusion_login_audit/__init__.py @@ -0,0 +1,2 @@ +# -*- coding: utf-8 -*- +from . import models diff --git a/fusion_login_audit/__manifest__.py b/fusion_login_audit/__manifest__.py new file mode 100644 index 00000000..98f3f256 --- /dev/null +++ b/fusion_login_audit/__manifest__.py @@ -0,0 +1,27 @@ +# -*- coding: utf-8 -*- +# Copyright 2026 Nexa Systems Inc. +# License OPL-1 (Odoo Proprietary License v1.0) +{ + 'name': 'Fusion Login Audit', + 'version': '19.0.1.0.0', + 'category': 'Tools', + 'summary': 'Durable login audit log with geo-enrichment, retention, and failure alerts.', + 'description': """ +Fusion Login Audit +================== + +Captures every password authentication event (success + failure) in a +dedicated, append-only audit table. Surfaces history on the user form +as a smart button + tab (admins only). Async-enriches IPs with country, +city, and reverse DNS. Emails Settings admins on consecutive-failure +bursts. Daily retention cron honours a configurable horizon. + """, + 'author': 'Nexa Systems Inc.', + 'website': 'https://nexasystems.ca', + 'license': 'OPL-1', + 'depends': ['base', 'mail'], + 'data': [], + 'installable': True, + 'application': False, + 'auto_install': False, +} diff --git a/fusion_login_audit/models/__init__.py b/fusion_login_audit/models/__init__.py new file mode 100644 index 00000000..be303789 --- /dev/null +++ b/fusion_login_audit/models/__init__.py @@ -0,0 +1,2 @@ +# -*- coding: utf-8 -*- +# Files added in later tasks diff --git a/fusion_login_audit/static/description/icon.png b/fusion_login_audit/static/description/icon.png new file mode 100644 index 00000000..de8e1758 Binary files /dev/null and b/fusion_login_audit/static/description/icon.png differ