Files
developer-rules/07-sandbox-usage.md
T

63 lines
3.5 KiB
Markdown

# Die Sandbox — deine Entwicklungs- und Testumgebung
*(Quelle: `docs/core/module-developer-sandbox-concept.md` §2–§9, interne LIVE-Infrastrukturdetails entfernt)*
## Was die Sandbox ist
Eine **komplett eigenständige, isolierte Umgebung**, die sich für dich wie die echte Core-API
verhält, aber strukturell nichts mit unseren echten Kundendaten, echten Secrets oder der echten
Datenbank zu tun hat. Ein Sandbox-Zugang funktioniert **nur** gegen die Sandbox — es gibt keinen
Konfigurationsfehler, der dir versehentlich echten Zugriff verschafft, weil es dafür keinen
Netzwerkpfad gibt.
- **Daten:** rein synthetisch (Fake-Mandanten, Fake-Postfächer, Beispiel-E-Mails).
- **KI-Anbindung:** zwei Modi — ein deterministischer Stub (kostenlos, reproduzierbar, Standard)
oder ein budgetierter Echt-LLM-Testmodus, wenn du die fachliche Qualität deiner
Prompt-Anbindung prüfen willst (fester Kosten-/Rate-Limit-Deckel pro Account).
- **E-Mail-Versand:** wird nur geloggt simuliert, es geht nie eine echte Mail raus.
## Wie du Zugang bekommst
Nach deiner Freischaltung (siehe [06-submission-review-process.md](06-submission-review-process.md))
wird automatisch eine eigene, isolierte n8n-Instanz für dich bereitgestellt. Du bekommst:
- Ein **eigenes n8n-Login** (eigene URL, nur du siehst deine eigenen Workflows)
- Einen **Sandbox-Core-API-Token** (bereits als Credential in deiner n8n-Instanz vorkonfiguriert)
- Optional **SFTP-Zugang** zu deinem eigenen Workspace (Workflow-Exporte, Paket-Dateien)
- Optional **direkten, read-only Datenbank-Zugriff** auf dein eigenes Fake-Schema — **nur für dich
persönlich zum Nachschauen während der Entwicklung.** Dein Modul-*Code* nutzt diesen Zugang nie —
er spricht auch in der Sandbox ausschließlich über die Core-API (`mod/data/*`), damit er in LIVE
identisch funktioniert.
Alle Zugänge betreffen ausschließlich deine eigene, isolierte Umgebung — du siehst nie Workflows,
Daten oder Dateien eines anderen Entwicklers.
## Was lokal geht, was zwingend in der Sandbox passieren muss
**Lokal, auf deinem eigenen Rechner** (siehe auch die SDK-Dokumentation):
Frontend, `manifest.json`, `db/schema.sql`-Entwurf, lokale Validierung, lokaler Core-API-Mock.
**Zwingend in der Sandbox:**
- Schema/Felder anlegen — du hast keine direkten Schreibrechte auf die Datenbank-Struktur, sondern
löst über das Portal eine Migration deiner `db/schema.sql` aus, die geprüft und dann angewendet
wird (nur dein eigenes Schema, keine Core-Tabellen).
- Der eigentliche Automations-Workflow — gebaut, ausgeführt und debuggt direkt im n8n-Canvas
deiner Sandbox-Instanz, mit echten Ausführungs-Logs.
- Fachliche Prüfung deiner KI-Anbindung (Echt-LLM-Testmodus) — ein lokaler Mock kann nur prüfen,
ob der Aufruf technisch funktioniert, nicht ob die Antwort inhaltlich sinnvoll ist.
Dein fertiger Workflow wird als JSON exportiert und in dein eigenes Git-Repository
zurückgeführt — du verlierst also keine Versionskontrolle, nur der Bau-/Testvorgang selbst
läuft zwingend in der Sandbox.
## Lifecycle deiner Sandbox
| Zustand | Zeitraum | Was passiert |
|---|---|---|
| Aktiv | solange du eingeloggt bist/arbeitest | voller Zugriff |
| Inaktiv | > 7 Tage ohne Login | pausiert (Daten bleiben erhalten, startet beim nächsten Login neu) |
| Lange inaktiv | > 30 Tage ohne Aktivität | Benachrichtigung: „wird in 7 Tagen gelöscht" |
| Gelöscht | > 37 Tage komplett inaktiv | Sandbox-Daten entfernt, dein Portal-Konto bleibt bestehen |
Weiter mit [08-revenue-share.md](08-revenue-share.md).