{"id":17004208,"url":"https://github.com/ppfeufer/aa-ma-securegroups","last_synced_at":"2026-03-09T10:33:38.496Z","repository":{"id":53568469,"uuid":"521473929","full_name":"ppfeufer/aa-ma-securegroups","owner":"ppfeufer","description":null,"archived":false,"fork":false,"pushed_at":"2026-02-02T17:26:01.000Z","size":1822,"stargazers_count":1,"open_issues_count":5,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-02-03T06:58:09.423Z","etag":null,"topics":["allianceauth","member-audit","secure-groups"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ppfeufer.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"ko_fi":"ppfeufer"}},"created_at":"2022-08-05T02:11:38.000Z","updated_at":"2026-01-12T12:21:16.000Z","dependencies_parsed_at":"2023-10-21T21:31:55.537Z","dependency_job_id":"3ad140a1-0560-4c6e-8f9d-1501f72f6c4a","html_url":"https://github.com/ppfeufer/aa-ma-securegroups","commit_stats":null,"previous_names":["ppfeufer/aa-ma-securegroups","ppfeufer/aa-memberaudit-secure-groups"],"tags_count":14,"template":false,"template_full_name":null,"purl":"pkg:github/ppfeufer/aa-ma-securegroups","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ppfeufer%2Faa-ma-securegroups","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ppfeufer%2Faa-ma-securegroups/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ppfeufer%2Faa-ma-securegroups/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ppfeufer%2Faa-ma-securegroups/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ppfeufer","download_url":"https://codeload.github.com/ppfeufer/aa-ma-securegroups/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ppfeufer%2Faa-ma-securegroups/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30291807,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-09T02:57:19.223Z","status":"ssl_error","status_checked_at":"2026-03-09T02:56:26.373Z","response_time":61,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["allianceauth","member-audit","secure-groups"],"created_at":"2024-10-14T04:43:03.464Z","updated_at":"2026-03-09T10:33:38.477Z","avatar_url":"https://github.com/ppfeufer.png","language":"Python","funding_links":["https://ko-fi.com/ppfeufer","https://ko-fi.com/N4N8CL1BY"],"categories":[],"sub_categories":[],"readme":"# Member Audit Secure Groups Integration for Alliance Auth\u003ca name=\"member-audit-secure-groups-integration-for-alliance-auth\"\u003e\u003c/a\u003e\n\n[![Version](https://img.shields.io/pypi/v/aa-ma-securegroups?label=release)](https://pypi.org/project/aa-ma-securegroups/)\n[![License](https://img.shields.io/github/license/ppfeufer/aa-ma-securegroups)](https://github.com/ppfeufer/aa-ma-securegroups/blob/master/LICENSE)\n[![Python](https://img.shields.io/pypi/pyversions/aa-ma-securegroups)](https://pypi.org/project/aa-ma-securegroups/)\n[![Django](https://img.shields.io/pypi/djversions/aa-ma-securegroups?label=django)](https://pypi.org/project/aa-ma-securegroups/)\n![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit\u0026logoColor=white)\n[![pre-commit.ci status](https://results.pre-commit.ci/badge/github/ppfeufer/aa-ma-securegroups/master.svg)](https://results.pre-commit.ci/latest/github/ppfeufer/aa-ma-securegroups/master)\n[![Code Style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](http://black.readthedocs.io/en/latest/)\n[![Discord](https://img.shields.io/discord/790364535294132234?label=discord)](https://discord.gg/zmh52wnfvM)\n[![Checks](https://github.com/ppfeufer/aa-ma-securegroups/actions/workflows/automated-checks.yml/badge.svg)](https://github.com/ppfeufer/aa-ma-securegroups/actions/workflows/automated-checks.yml)\n[![codecov](https://codecov.io/gh/ppfeufer/aa-ma-securegroups/branch/master/graph/badge.svg)](https://codecov.io/gh/ppfeufer/aa-ma-securegroups)\n[![Translation status](https://weblate.ppfeufer.de/widget/alliance-auth-apps/aa-member-audit-secure-groups/svg-badge.svg)](https://weblate.ppfeufer.de/engage/alliance-auth-apps/)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.1-4baaaa.svg)](https://github.com/ppfeufer/aa-ma-securegroups/blob/master/CODE_OF_CONDUCT.md)\n\n[![ko-fi](https://ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/N4N8CL1BY)\n\nThis is an integration between [Member Audit](https://gitlab.com/ErikKalkoken/aa-memberaudit) and [Secure Groups](https://github.com/pvyParts/allianceauth-secure-groups) for [Alliance Auth](https://gitlab.com/allianceauth/allianceauth) (AA).\n\n______________________________________________________________________\n\n\u003c!-- mdformat-toc start --slug=gitlab --maxlevel=6 --minlevel=2 --\u003e\n\n- [What's the difference to Member Audit Securegroups](#whats-the-difference-to-member-audit-securegroups)\n- [Features](#features)\n- [Installation](#installation)\n  - [Requirements](#requirements)\n  - [Step 0.5: Migrating from Member Audit Securegroups](#step-05-migrating-from-member-audit-securegroups)\n  - [Step 1: Install the Package](#step-1-install-the-package)\n  - [Step 2: Config](#step-2-config)\n  - [Step 3: Finalize App Installation](#step-3-finalize-app-installation)\n- [Filters](#filters)\n- [Changelog](#changelog)\n- [Translation Status](#translation-status)\n- [Contributing](#contributing)\n\n\u003c!-- mdformat-toc end --\u003e\n\n______________________________________________________________________\n\n## What's the difference to Member Audit Securegroups\u003ca name=\"whats-the-difference-to-member-audit-securegroups\"\u003e\u003c/a\u003e\n\nPretty much nothing.\n\nI took over Member Audit Securegroups in August 2022 from the original developer who\nis no longer actively maintaining the app. After more than a year and the fact that\nI have a distinct dislike for Gitlab, and the original developer didn't want to transfer\nthe PyPi repository to me, I decided it is time to make an actual fork of the app\nwhich is now again actively maintained by me.\n\nThis app is fully compatible with the original, all that has changed is the `pip`\nname from `aa-memberaudit-securegroups` to `aa-ma-securegroups`, and if\nyou had the original app installed, it is really easy to switch to this one, see\n[Step 0.5: Migrating from Member Audit Securegroups](#step-05-migrating-from-member-audit-securegroups).\n\nThanks to [@rcmurphy](https://github.com/rcmurphy) for all her work on the [original\napp](https://gitlab.com/eclipse-expeditions/aa-memberaudit-securegroups)!\n\n## Features\u003ca name=\"features\"\u003e\u003c/a\u003e\n\n- Activity Filter\n- Asset Filter\n- Character Age Filter\n- Compliance Filter\n- Corporation Role Filter\n- Corporation Title Filter\n- Skill Set Filter\n- Skill Point Filter\n- Time in Corporation Filter\n\n## Installation\u003ca name=\"installation\"\u003e\u003c/a\u003e\n\n\u003e [!NOTE]\n\u003e\n\u003e **Member Audit Secure Groups Integration \u003e= 1.0.0 needs at least Alliance Auth v4.0.0!**\n\u003e\n\u003e Please make sure to update your Alliance Auth instance _before_ you install this\n\u003e module or update to the latest version, otherwise an update to Alliance Auth will\n\u003e be pulled in unsupervised.\n\u003e\n\u003e The last version compatible with Alliance Auth v3 is `0.6.1`.\n\n### Requirements\u003ca name=\"requirements\"\u003e\u003c/a\u003e\n\nThis integration needs [Member Audit](https://gitlab.com/ErikKalkoken/aa-memberaudit)\nand [Secure Groups](https://github.com/pvyParts/allianceauth-secure-groups) to\nfunction. Please make sure they are installed before continuing.\n\n### Step 0.5: Migrating from Member Audit Securegroups\u003ca name=\"step-05-migrating-from-member-audit-securegroups\"\u003e\u003c/a\u003e\n\nIn case you have the original app installed, you need to uninstall it before\nyou can continue. To do so, simply run:\n\n```shell\npip uninstall aa-memberaudit-securegroups\n```\n\nThat's all, no need to worry about the DB related stuff, this app is fully\ncompatible with it and will use the DB tables from the original app. Now feel free\nto continue with the installation.\n\n### Step 1: Install the Package\u003ca name=\"step-1-install-the-package\"\u003e\u003c/a\u003e\n\nMake sure you are in the virtual environment (venv) of your Alliance Auth\ninstallation. Then install the newest release from PyPI:\n\n```shell\npip install aa-ma-securegroups\n```\n\n### Step 2: Config\u003ca name=\"step-2-config\"\u003e\u003c/a\u003e\n\nAdd `memberaudit_securegroups` to your `INSTALLED_APPS`.\n\n### Step 3: Finalize App Installation\u003ca name=\"step-3-finalize-app-installation\"\u003e\u003c/a\u003e\n\nRun migrations:\n\n```shell\npython manage.py migrate\n```\n\nRestart your supervisor services for Auth\n\n## Filters\u003ca name=\"filters\"\u003e\u003c/a\u003e\n\n| Filter Name                | Matches if...                                                                   | Reversed Logic Possible                                                               |\n| -------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |\n| Activity Filter            | User has *at least one* character active within the last X days                 | No                                                                                    |\n| Asset Filter               | User has *at least one* character with *any of* the assets defined              | No                                                                                    |\n| Character Age Filter       | User has *at least one* character over X days old                               | No                                                                                    |\n| Compliance Filter          | User has *all* characters registered on Member Audit                            | Yes , if reversed, user has *at least one* character *not* registered on Member Audit |\n| Corporation Role Filter    | User has a character (main or alt) in a certain corpration with a certain role  | No                                                                                    |\n| Corporation Title Filter   | User has a character (main or alt) in a certain corpration with a certain title | No                                                                                    |\n| Skill Point Filter         | User has *at least one* character with at least X skill points                  | No                                                                                    |\n| Skill Set Filter           | User has *at least one* character with *any of* the selected skill sets         | No                                                                                    |\n| Time in Corporation Filter | User's main character is *at least* more than X days in their corpration        | Yes, if reversed, user's main character is *at most* X days in their corpration       |\n\n## Changelog\u003ca name=\"changelog\"\u003e\u003c/a\u003e\n\nSee [CHANGELOG.md]\n\n## Translation Status\u003ca name=\"translation-status\"\u003e\u003c/a\u003e\n\n[![Translation status](https://weblate.ppfeufer.de/widget/alliance-auth-apps/aa-member-audit-secure-groups/multi-auto.svg)](https://weblate.ppfeufer.de/engage/alliance-auth-apps/)\n\nDo you want to help translate this app into your language or improve the existing\ntranslation? - [Join our team of translators][weblate engage]!\n\n## Contributing\u003ca name=\"contributing\"\u003e\u003c/a\u003e\n\nDo you want to contribute to this project? That's cool!\n\nPlease make sure to read the [Contribution Guidelines].\\\n(I promise, it's not much, just some basics)\n\n\u003c!-- Inline links --\u003e\n\n[changelog.md]: https://github.com/ppfeufer/aa-ma-securegroups/blob/master/CHANGELOG.md\n[contribution guidelines]: https://github.com/ppfeufer/aa-ma-securegroups/blob/master/CONTRIBUTING.md \"Contribution Guidelines\"\n[weblate engage]: https://weblate.ppfeufer.de/engage/alliance-auth-apps/ \"Weblate Translations\"\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fppfeufer%2Faa-ma-securegroups","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fppfeufer%2Faa-ma-securegroups","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fppfeufer%2Faa-ma-securegroups/lists"}