398cb87603
Changed the default login button to say 'Create Account / Login' so that people don't get confused trying to figure out that the account creation is within the NuQloud Authentication flow. Made it so that the E-Mail address being required actually carries through to the creation of the account, and made it so that people are aware that the email address is the way that connection between the payment server and the NuQloud instances are recognized.
5.3 KiB
5.3 KiB
NuQloud for Nextcloud
PRD v1
1. Product summary
NuQloud for Nextcloud is a plugin suite that replaces external identity providers and backup dependency with a vendor-neutral stack.
It ships with two runtime modes:
poweredmode: Qortal internals hidden from end users/admins.full_qortalmode: native Qortal terminology and advanced capabilities exposed.
2. Personas
Nextcloud Admin (SMB/MSP): wants simple setup, clear costs, low risk.Security/Compliance Admin: wants verifiable identity and tamper-evident publishing/accountability signals.Power User / Qortal-native Operator: wants full protocol visibility and controls.
3. Problems to solve (v1)
- Dependence on external OIDC vendors for identity.
- Dependence on centralized backup vendors.
- Poor portability and weak proof/verification in restore paths.
- High friction when crypto-native concepts are exposed too early.
4. Goals
- Provide vendor-neutral OIDC for Nextcloud login.
- Provide NuQloud encrypted backup publishing with verifiable replication status.
- Abstract protocol complexity in
poweredmode while preservingfull_qortal. - Support paid NuQloud package tiers with predictable capacity model.
5. Non-goals (v1)
- No user-managed wallets in public/default flows.
- No cross-instance federation features.
- No marketplace/discovery surface.
- No public debug APIs/UI in production mode.
6. Modes and packaging
6.1 Runtime modes
powered(default)- “NuQloud Identity” naming.
- “Publishing credits” abstraction.
- Minimal advanced controls.
full_qortal- Existing advanced behavior retained.
- Qortal language and internals exposed.
- Debug tools available (admin-gated).
6.2 Commercial packages
- Free Core
- NuQloud identity + baseline service connectivity.
- No managed package entitlements.
- Starter / Advanced / Pro
- Single-user and lighter hosted-account package tiers.
- Team Starter / Team Advanced / Team Pro
- Multi-user hosted package tiers.
- Branded / Branded Pro / Branded Enterprise
- Managed branded instance packages for organizations and communities.
- Capacity add-ons + publishing credit top-ups
- Capacity block model (not punitive overage wording).
7. Functional requirements
7.1 Identity
- Admin can enable Create Account / Login (OIDC).
- Admin can require NuQloud Identity for new users.
- End user sees no wallet/seed terminology in
poweredmode. - Broker/internal services remain token-protected.
7.2 Backups
- Admin can enable encrypted NuQloud backups.
- Admin can configure schedule + retention.
- System records backup proof metadata (hash/time/status).
- Restore preview must verify integrity before restore action.
7.3 Replication
- Replication guarantees are explicit by package tier.
- Status panel shows guarantee target vs healthy mirrors.
- Degraded state is visible and alertable.
- Replication nodes never receive plaintext data.
7.4 Credits and billing abstraction
- User/admin-facing UI can show “credits” instead of QORT in
poweredmode. - Metering must be deterministic and auditable.
- Ledger entries must include source action, quantity, timestamp, actor.
- Migration path to full QORT display exists for
full_qortal.
7.5 Admin controls
- Feature flags are configurable in admin panel and persisted.
- Mode switch is explicit and reversible.
- Debug mode is admin-only and warning-labeled.
- Risky options are hidden by default in
powered.
8. Security and trust requirements
- No plaintext password storage.
- Internal broker endpoints require internal token.
- Sensitive logs redacted by default.
- SSRF-prone node URL controls are restricted in
powered. - Claims language must avoid absolute security promises.
9. UX language policy
Use defensible wording in public/product UI:
- Prefer: “tamper-evident”, “verifiable”, “resilient”, “vendor-neutral”.
- Avoid: “unhackable”, “impossible to take down”, “guaranteed uncensorable”.
10. Acceptance criteria (v1)
- New install defaults to
poweredmode. - Admin can switch modes without breaking existing user mappings.
- OIDC login works in both modes.
- Backup job can publish and verify with recorded proof metadata.
- Replication status panel displays healthy/degraded/error states.
- Package limits enforced with clear UI messaging.
- 3 default backup settings options
- Nextcloud Config (all useful config files / php / nextcloud conf / etc.)
- User files (all 'data' for users, with user-specific identifiers but published under instance name.)
- Acccounts + related (anything here to keep OIDC reproducible/operational in case of failure. Broker/Q Backup Files for accounts.)
11. Rollout phases
- Phase A: mode system + naming + flag wiring.
- Phase B: identity hardening + powered UX.
- Phase C: backup proof model + replication status. - later addition Q-App for independent verification outside NC backend.
- Phase D: package enforcement + metering.
- Phase E: docs, migration tooling, marketplace prep.
12. Success metrics
- Time to first successful login (admin + user).
- Time to first successful backup + proof.
- Replication health percentage over time.
- Reduction in support tickets caused by crypto terminology confusion.
- Conversion from free core to paid replication tiers.