=== APlug Benutzer-, Rollen- und RechteZentrale ===
Contributors: aplug
Tags: users, roles, capabilities, access control, permissions
Requires at least: 6.0
Tested up to: 7.0
Requires PHP: 8.1
Stable tag: 0.1.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Verwaltet Benutzerstatus, Rollen, Berechtigungen, Zugangsstufen, Einladungen und Sicherheitsprotokolle zentral.

== Description ==

APlug Benutzer-, Rollen- und RechteZentrale erweitert die WordPress-Benutzerverwaltung um eine gemeinsame Oberfläche für Rollen, Capabilities, Kontostatus, Ablaufdaten, Zugangsstufen, Einladungen und zusätzliche Freigaben.

Die Gratisversion ist dauerhaft nutzbar und enthält:

* Status: aktiv, wartet auf Freigabe, gesperrt und abgelaufen
* zeitlich begrenzte Benutzerzugänge und Schutz des letzten Administrators
* Erstellen und Bearbeiten kontrollierter WordPress-Rollen
* Schutz gegen öffentliche oder automatische Zuweisung privilegierter Rollen
* kostenlose und kostenpflichtig markierbare Zugangsstufen
* globale, projektbezogene und datensatzbezogene Allow-/Deny-Regeln
* zeitlich begrenzte Regeln für Benutzer oder Rollen
* Einladungen mit nur gehasht gespeichertem Einmalschlüssel
* optionalen Versand über die lokale WordPress-Mailfunktion
* öffentliche Registrierung mit optionaler Freigabe
* Sicherheitsprotokoll, Aufbewahrungsfrist und CSV-Export
* WordPress-Datenschutzexport und Löschschnittstelle
* dokumentierte APlug-Services, Hooks, Ereignisse und REST-Endpunkte
* optionale WordPress-Abilities-Registrierung ab WordPress 6.9
* Multisite-Unterstützung und kontrollierte Deinstallation

WordPress bleibt das führende System für Benutzerkonten, Kennwörter, Rollen, Authentifizierung und Sitzungen. Das Plugin speichert keine Kennwörter und baut keine zweite Benutzerhauptverwaltung auf.

= Entscheidungslogik =

1. Inaktive oder abgelaufene Konten werden abgewiesen.
2. Die normale WordPress-Capability ist die Grundentscheidung.
3. Passende Zusatzregeln überschreiben diese Grundentscheidung.
4. Datensatzregeln sind spezifischer als Projektregeln; Projektregeln sind spezifischer als globale Regeln.
5. Benutzerregeln sind spezifischer als Rollenregeln.
6. Bei gleicher Spezifität gewinnt `deny`.

= Premium =

Eine getrennte Premium-Erweiterung ist vorgesehen für einen visuellen Richtlinien-Builder, delegierte Freigabeworkflows, erweiterte Massenänderungen und Rollbacks, Mehrinstallationsvorlagen, zusätzliche Berichte sowie optionale SSO-, LDAP-, OIDC- und SCIM-Adapter. Der Premiumcode ist nicht Bestandteil dieses Gratispakets.

= Privacy =

Das Plugin verarbeitet Benutzerkennungen, Status, Zugangsstufen, Ablaufdaten, optionale Profilfelder, Einladungen, Freigaben und Sicherheitsereignisse. Einladungsschlüssel werden nur als SHA-256-Hash gespeichert. IP-Adressen werden nicht im Klartext gespeichert, sondern installationsabhängig gehasht. Es bestehen WordPress-kompatible Export- und Löschschnittstellen. Die konkrete Rechtsgrundlage und Aufbewahrung muss der Webseitenbetreiber bestimmen.

= External services =

Die Gratisversion verbindet sich nicht automatisch mit externen Diensten und überträgt keine Daten an APlug.de. Der optionale Einladungsversand verwendet ausschließlich die vom Betreiber konfigurierte lokale WordPress-Mailfunktion. Externe Adapter sind in diesem Prototyp nicht enthalten.

== Installation ==

1. Den Plugin-Ordner nach `/wp-content/plugins/` hochladen oder das ZIP über die WordPress-Pluginverwaltung installieren.
2. Das Plugin aktivieren.
3. Unter „Benutzer → APlug RechteZentrale“ die Grundeinstellungen prüfen.
4. Für Einladungen eine veröffentlichte Seite mit `[aplug_access_invitation]` anlegen und auswählen.
5. Optional eine Seite mit `[aplug_access_registration]` anlegen und die öffentliche Registrierung aktivieren.
6. Rollen und Freigaben nach dem Least-Privilege-Prinzip vergeben.
7. Vor produktivem Einsatz ein vollständiges Backup und einen Test in einer Staging-Umgebung durchführen.

== Frequently Asked Questions ==

= Ersetzt das Plugin WordPress-Benutzer und -Rollen? =

Nein. WordPress bleibt Data Owner für Benutzer, Kennwörter, Rollen, Authentifizierung und Kern-Capabilities. Das Plugin ergänzt Status, Stufen, Ablaufdaten, Einladungen, Auditdaten und zusätzliche Freigaben.

= Können andere APlugs ihre Berechtigungen registrieren? =

Ja. Dafür stehen die öffentliche Funktion `aplug_access_register_capabilities()`, der Action-Hook `aplug_access_register_capabilities`, der Filter `aplug_access_capability_catalog` und dokumentierte Services zur Verfügung.

= Was bedeutet ein projekt- oder datensatzbezogener Geltungsbereich? =

Eine Berechtigung gilt nur, wenn das aufrufende Fachplugin den passenden Projekt- oder Datensatzkontext übergibt. Empfohlen werden kollisionssichere Kennungen wie `quellplugin:projekt-id` oder `quellplugin:entitaet:datensatz-id`.

= Können kostenpflichtige Zugänge abgebildet werden? =

Ja, technisch können Stufen als bezahlt markiert und mit Ablaufdaten versehen werden. Zahlungs- und Rechnungsdaten bleiben bei einer ZahlungsZentrale. Dieses Plugin speichert nur Stufe, Bezahlstatus und Ablauf.

= Werden Einladungsschlüssel gespeichert? =

Nur ein SHA-256-Hash wird gespeichert. Der vollständige Einladungslink wird nach dem Erzeugen einmalig angezeigt und kann optional über die WordPress-Mailfunktion versendet werden.

= Verhindert das Plugin eine vollständige Administratoraussperrung? =

Es schützt den letzten aktiven Administrator vor Sperrung und Ablauf. Dieser Schutz ersetzt kein Backup und keine organisatorische Notfallzugriffsregel.

= Was passiert bei Deinstallation? =

Standardmäßig bleiben Daten erhalten. Vor der Deinstallation kann ausgewählt werden, ob nur Einstellungen oder sämtliche plugin-eigenen Tabellen und Metadaten entfernt werden. WordPress-Benutzer werden nicht gelöscht.

= Ist Version 0.1.0 bereits produktionsfreigegeben? =

Nein. Es handelt sich um einen installierbaren technischen Prototyp. Das Paket enthält die vollständige Prüf- und Veröffentlichungsdokumentation, aber reale Laufzeit-, Browser-, Last-, Sicherheits- und WordPress.org-Plugin-Check-Prüfungen müssen vor einer Veröffentlichung abgeschlossen werden.

== Screenshots ==

1. Zentrale Übersicht mit Benutzer-, Freigabe-, Einladungs- und Auditstatus.
2. Benutzerzugänge mit Status, Stufe und Ablaufdatum.
3. Rollenverwaltung und zentraler Berechtigungskatalog.
4. Globale, projektbezogene und datensatzbezogene Freigaben.
5. Zugangsstufen und Einladungsverwaltung.
6. Sicherheitsprotokoll und Datenschutzeinstellungen.
7. Gegenüberstellung von Gratis- und Premiumfunktionen.

== Changelog ==

= 0.1.0 =
* Erster installierbarer technischer Prototyp.
* Benutzerstatus, Sperrungen, Zugangsstufen und Ablaufdaten.
* Erstellen, Klonen, Bearbeiten und kontrolliertes Löschen eigener Rollen.
* Zentrale Privilegienrichtlinie und Delegationsschutz für Rollenänderungen.
* Globaler APlug-Berechtigungskatalog.
* Globale, projekt- und datensatzbezogene Allow-/Deny-Freigaben.
* Einladungen, optionaler E-Mail-Versand, Registrierung und Freigabestatus.
* Sicherheitsprotokoll, Aufbewahrung, Datenschutzschnittstellen und CSV-Export.
* APlug-Modulmanifest, Services, Ereignisse, REST mit echten Permission-Callbacks und optionale Abilities API.
* Multisite-Aktivierung, Upgrade- und Deinstallationslogik.
* Vollständiges Dokumentations- und WordPress.org-Vorbereitungspaket.

== Upgrade Notice ==

= 0.1.0 =
Erster technischer Prototyp. Vor produktivem Einsatz vollständige Laufzeit-, Sicherheits- und Kompatibilitätstests durchführen.
