Bestehender Vertrag 1.2 · Markdown
# Fensterrollen 1.3.0
Additive Erweiterung von window-attributes 1.2.0. Vorhandene Tags bleiben maßgeblich:
- data-xp-session-role und xp-window-session-role-* beschreiben die Desktoprolle.
- data-xp-app-role und xp-window-app-role-* sowie xp-task-app-role-* beschreiben die serverseitig bestätigte Approlle.
- data-xp-app-role-source=window kennzeichnet eine für diese Fensterinstanz begrenzte Rolle.
- data-xp-app-role-state bleibt confirmed oder unknown. Unbekannt ist grau.
## Rollenicon
Jeder Fensterrahmen bietet Ansichtsrolle. Der Host zeigt ausschließlich serverseitig erlaubte Rollen: guest, customer, developer, admin. Nicht unterstützte Apps zeigen den Grund und gesperrte Optionen. Die Auswahl wirkt auf genau eine Instanz bis zum Schließen; neue Fenster beginnen in der echten Desktoprolle. Andere Fenster und die Kontoanmeldung bleiben eigenständig.
## Servergrenze
Cookie, Nonce, Origin, AccountPolicy, Programmfreigaben und Providergrenzen gelten weiterhin. Der Context ist an Benutzer, WordPress-Sitzung, zufällige Fensterinstanz und Verbindung gebunden. role_revision verhindert verspätete Aufrufe aus älteren Ansichten. Gleichzeitige Aufrufe und Wechsel werden je Instanz serialisiert. Schließen sperrt späte Aufrufe; ungenutzter Zustand verfällt nach zwei Stunden. Die Auswahl gewährt keine höhere Rolle und keine andere Identität. Sie simuliert keinen fremden Customer-Account oder dessen Datenbestand.
Aktuell unterstützt: lokale registrierte MCP-Apps mit WordPress AccountPolicy. Gast sieht bei diesen authentifizierten Apps eine Zugriffssperre ohne private Daten. Native direkte Ansichten, externe individuelle OAuth-Grants und nicht bestätigte Brokerverbindungen bieten noch keinen Rollenwechsel.
## Appbenachrichtigung
Der MCP-App-Host übermittelt im initialen HostContext und über die SDK HostContext-Änderungsbenachrichtigung den Schlüssel tech.christian-igel/window-role:
```json
{"schema":"ci-xp-window-role/v1","session_role":"admin","role":"customer","revision":1,"previous_role":"admin"}
```
previous_role ist beim Wechsel vorhanden; beim erstmaligen Öffnen optional. Der Host führt ui/resource-teardown aus, verwirft alte Appinhalte und lädt die App mit dem neuen begrenzten Werkzeugkatalog. Apps können hostContext beim Start lesen und auf onhostcontextchanged reagieren. Rollenmetadaten sind Anzeigeinformationen; verbindlich entscheidet weiterhin der Server. Keine Tokens oder Sitzungsgeheimnisse werden an die App gereicht.
## Farben
fenster xp_ und win2.1_: Admin rot, Developer blau, Customer grün, Guest gelb, unbestätigt grau. Desktop und Taskleiste folgen weiterhin session_role. Fensterrand und zugehöriger Taskmarker folgen app_role. Inaktive Titel dürfen zurückgenommen erscheinen; die Rolle bleibt am Rand erkennbar.
## Nachweise
Backend-Policyfälle und Chromium-Modulprüfungen versioniert im Quellstand. Angemeldeter WP-Lab-Browsertest: Media-Center Admin geöffnet; Customer blockiert private Appdaten bei unverändertem Admin-Desktop. Öffentliche Referenz ist eine Spezifikation, keine pauschale Abnahme aller angeschlossenen Apps.