Files
arsam 36eb0c63c0 Import documentation: BACKEND.md
Import the existing local project snapshot. This commit organizes existing files; it does not represent newly developed functionality.
2026-09-18 23:11:32 +03:30

71 KiB

CoaxysPanel Backend Product Contract

Purpose

  1. CoaxysPanel is a hosting control panel product with a production-oriented frontend already in place.
  2. The backend should become the trusted control plane behind the existing frontend.
  3. The backend should provide account, server, website, domain, file, database, email, security, automation, backup, notification, audit, support, and settings services.
  4. The backend should treat the current frontend mock service layer as the public frontend contract surface.
  5. The backend should preserve the product feel of a dense hosting administration interface.
  6. The backend should support the CoaxysPanel brand without using third-party control-panel trademarks or copied assets.
  7. The backend should be designed for real hosting operations, not only visual demos.
  8. The backend should keep destructive infrastructure operations guarded by explicit policy.
  9. The backend should keep the frontend responsive while long-running operations continue asynchronously.
  10. The backend should provide typed, stable, versionable responses for all frontend modules.
  11. The backend should make real infrastructure state visible without exposing unsafe command execution to the browser.
  12. The backend should separate user-facing workflows from privileged host-level execution.
  13. The backend should support mock, staging, and production environments through the same conceptual contracts.
  14. The backend should make it possible to replace mock data one service at a time.
  15. The backend should not require the frontend to know implementation details of servers, packages, daemons, or storage engines.
  16. The frontend should continue to depend on service interfaces rather than importing raw backend payloads directly.
  17. The frontend should receive normalized data that matches the current DTO vocabulary.
  18. The frontend should show loading, success, error, empty, permission, maintenance, and partial-failure states from backend signals.
  19. The backend should provide enough metadata for the frontend to explain status clearly.
  20. The backend should treat every panel action as an auditable business event.

Product Scope

  1. The backend should own authentication and session lifecycle.
  2. The backend should own account selection and current server context.
  3. The backend should own permission evaluation for all modules.
  4. The backend should own hosting-account data.
  5. The backend should own website and application records.
  6. The backend should own domain records and DNS-zone state.
  7. The backend should own file-manager metadata and file-operation jobs.
  8. The backend should own database inventory and database-user relationships.
  9. The backend should own mailbox inventory and email-routing state.
  10. The backend should own metrics ingestion and metric summaries.
  11. The backend should own security findings and security policy state.
  12. The backend should own software-runtime availability.
  13. The backend should own advanced tools that inspect or coordinate server state.
  14. The backend should own server-administration models.
  15. The backend should own users, teams, resellers, roles, and package models.
  16. The backend should own backup schedules, backup artifacts, and restore jobs.
  17. The backend should own automation definitions and automation execution history.
  18. The backend should own notification delivery preferences and notification events.
  19. The backend should own audit-event persistence.
  20. The backend should own support-ticket and diagnostic-report state.
  21. The backend should own global and per-account settings.
  22. The backend should provide read models optimized for the frontend shell.
  23. The backend should provide write models optimized for validated panel operations.
  24. The backend should define ownership boundaries for every module.
  25. The backend should preserve module independence where practical.
  26. The backend should support future module additions without rewriting the app shell.
  27. The backend should expose consistent navigation and capability metadata.
  28. The backend should identify unavailable modules explicitly.
  29. The backend should avoid hidden failures behind generic success messages.
  30. The backend should make backend maintenance state visible to the frontend.

Core Principles

  1. The backend should be contract-first.
  2. The backend should be permission-aware by default.
  3. The backend should be tenant-aware by default.
  4. The backend should be audit-aware by default.
  5. The backend should be failure-aware by default.
  6. The backend should be localization-ready.
  7. The backend should be observability-ready.
  8. The backend should be horizontally scalable where panel traffic requires it.
  9. The backend should support background jobs for slow operations.
  10. The backend should support eventual consistency where infrastructure state cannot be instant.
  11. The backend should not block ordinary UI reads on slow server probes.
  12. The backend should not expose raw secrets to the browser after creation.
  13. The backend should not expose host credentials to frontend clients.
  14. The backend should not treat frontend validation as sufficient.
  15. The backend should not trust client-provided role or permission claims.
  16. The backend should not assume a single server forever.
  17. The backend should not assume a single account forever.
  18. The backend should not assume all customers have the same feature set.
  19. The backend should not require every operation to be synchronous.
  20. The backend should not create fake success for infrastructure actions.
  21. The backend should provide explicit job states for deferred work.
  22. The backend should provide explicit conflict states for contested resources.
  23. The backend should provide explicit validation fields for form errors.
  24. The backend should provide explicit maintenance states for unavailable modules.
  25. The backend should provide explicit permission states for denied modules.
  26. The backend should provide stable identifiers across refreshes.
  27. The backend should provide human-readable names alongside stable identifiers.
  28. The backend should preserve immutable audit data.
  29. The backend should keep destructive actions reversible when the domain allows it.
  30. The backend should document irreversible actions in response metadata.

API Envelope

  1. Every backend response should use a standard envelope.
  2. Successful responses should contain data.
  3. Successful responses should contain meta.
  4. Successful responses should contain error: null.
  5. Failed responses should contain data: null.
  6. Failed responses should contain meta.
  7. Failed responses should contain a structured error.
  8. The error object should contain a stable code.
  9. The error object should contain a human-readable message.
  10. The error object should contain field-level errors when validation fails.
  11. The meta object should include a request identifier.
  12. The meta object should include pagination metadata for list responses.
  13. The meta object should include sort metadata when sorting is applied.
  14. The meta object should include filter metadata when filters are applied.
  15. The meta object should include permission metadata when useful.
  16. The meta object should include partial-failure metadata when applicable.
  17. The meta object should include freshness metadata for cached infrastructure state.
  18. The meta object should include maintenance metadata for degraded services.
  19. The meta object should include job metadata when an operation starts background work.
  20. The meta object should include rate-limit metadata where customer-facing limits exist.

API Consistency

  1. List endpoints should share pagination semantics.
  2. List endpoints should share search semantics.
  3. List endpoints should share filter semantics.
  4. List endpoints should share sort semantics.
  5. List endpoints should provide total counts when feasible.
  6. List endpoints should provide cursor metadata when offset pagination is unsuitable.
  7. Detail endpoints should include all fields needed by the current page.
  8. Detail endpoints should avoid requiring many dependent calls for first render.
  9. Mutation endpoints should return the updated resource or a job reference.
  10. Bulk endpoints should return per-item status.
  11. Bulk endpoints should report partial failures explicitly.
  12. Create endpoints should return the canonical new resource identifier.
  13. Update endpoints should report conflict versions when optimistic concurrency fails.
  14. Delete endpoints should distinguish soft delete, trash, archive, and permanent delete.
  15. Restore endpoints should describe restored scope.
  16. Import endpoints should describe parsed resources, warnings, and rejected records.
  17. Export endpoints should return export metadata and delivery status.
  18. Validation endpoints should return field-level errors without performing the operation.
  19. Preview endpoints should return impact summaries without performing the operation.
  20. Capability endpoints should describe what the authenticated user can see and do.

Frontend Wiring Contract

  1. The frontend should keep using src/api/services as the service boundary.
  2. The frontend should switch from mock services to HTTP-backed services behind the same method names.
  3. The frontend should preserve TanStack Query query keys as stable cache concepts.
  4. The frontend should invalidate query groups after successful mutations.
  5. The frontend should use backend request identifiers in error displays where helpful.
  6. The frontend should map backend field errors into React Hook Form fields.
  7. The frontend should keep route definitions independent from HTTP transport details.
  8. The frontend should receive permission data before showing protected module actions.
  9. The frontend should treat backend permission denials as valid product states.
  10. The frontend should treat backend maintenance states as valid product states.
  11. The frontend should show backend job progress for long-running operations.
  12. The frontend should show backend conflict warnings before overwriting data.
  13. The frontend should show backend validation messages without inventing alternate meanings.
  14. The frontend should not infer infrastructure success from a started job.
  15. The frontend should not assume mock-only latency in production.
  16. The frontend should not assume all tables fit in memory.
  17. The frontend should not assume all file trees are small.
  18. The frontend should not assume all log streams are finite.
  19. The frontend should not assume all charts have complete data.
  20. The frontend should not assume all routes are available for every role.

Authentication

  1. The backend should provide login.
  2. The backend should provide logout.
  3. The backend should provide session refresh.
  4. The backend should provide session expiration signals.
  5. The backend should provide forgot-password flow state.
  6. The backend should provide reset-password flow state.
  7. The backend should provide two-factor challenge state.
  8. The backend should provide recovery-code challenge state.
  9. The backend should provide passkey authentication state.
  10. The backend should provide device-verification state.
  11. The backend should provide account-locked state.
  12. The backend should provide invitation-acceptance state.
  13. The backend should provide first-run setup state.
  14. The backend should provide current-user identity.
  15. The backend should provide current-account identity.
  16. The backend should provide current-server identity.
  17. The backend should provide available account selectors.
  18. The backend should provide available server selectors.
  19. The backend should provide user preferences after authentication.
  20. The backend should provide active session metadata.

Authentication Safety

  1. Password validation should be enforced by the backend.
  2. Two-factor policy should be enforced by the backend.
  3. Passkey policy should be enforced by the backend.
  4. Recovery-code policy should be enforced by the backend.
  5. Device verification should be enforced by the backend.
  6. Account lockout should be enforced by the backend.
  7. Session timeout should be enforced by the backend.
  8. Session revocation should be enforced by the backend.
  9. Invitation expiration should be enforced by the backend.
  10. First-run setup completion should be enforced by the backend.
  11. Login attempts should be audited.
  12. Failed login attempts should be audited.
  13. Password resets should be audited.
  14. Two-factor changes should be audited.
  15. Passkey changes should be audited.
  16. Trusted-device changes should be audited.
  17. Session termination should be audited.
  18. Account lock events should be audited.
  19. Recovery-code usage should be audited.
  20. Invitation acceptance should be audited.

Permissions

  1. The backend should own the canonical permission model.
  2. The backend should support module permissions.
  3. The backend should support action permissions.
  4. The backend should support account-scoped permissions.
  5. The backend should support server-scoped permissions.
  6. The backend should support reseller-scoped permissions.
  7. The backend should support support-operator permissions.
  8. The backend should support read-only auditor permissions.
  9. The backend should support custom roles.
  10. The backend should support permission inheritance.
  11. The backend should support permission overrides.
  12. The backend should support permission previews.
  13. The backend should support permission-denied response states.
  14. The backend should support permission metadata in navigation responses.
  15. The backend should support feature-list restrictions.
  16. The backend should support package restrictions.
  17. The backend should support suspension restrictions.
  18. The backend should support maintenance restrictions.
  19. The backend should support emergency-lockdown restrictions.
  20. The backend should make permissions auditable.

Dashboard

  1. The backend should provide dashboard account information.
  2. The backend should provide dashboard server information.
  3. The backend should provide dashboard resource usage.
  4. The backend should provide dashboard service status.
  5. The backend should provide dashboard quick-action availability.
  6. The backend should provide dashboard widget preferences.
  7. The backend should provide dashboard widget order.
  8. The backend should provide dashboard hidden-widget state.
  9. The backend should provide dashboard refresh timestamps.
  10. The backend should provide dashboard stale-data indicators.
  11. The backend should provide dashboard partial-failure indicators.
  12. The backend should provide dashboard empty states for new accounts.
  13. The backend should provide dashboard warnings for quota pressure.
  14. The backend should provide dashboard warnings for service degradation.
  15. The backend should provide dashboard warnings for expiring certificates.
  16. The backend should provide dashboard warnings for failed backups.
  17. The backend should provide dashboard warnings for security findings.
  18. The backend should provide dashboard links to relevant modules.
  19. The backend should provide dashboard metrics at suitable granularity.
  20. The backend should keep dashboard reads fast.

Tools Registry

  1. The backend should expose available tools for the authenticated user.
  2. The backend should expose tool categories.
  3. The backend should expose tool labels.
  4. The backend should expose tool descriptions.
  5. The backend should expose tool keywords.
  6. The backend should expose tool badges.
  7. The backend should expose tool warnings.
  8. The backend should expose tool permission status.
  9. The backend should expose tool availability status.
  10. The backend should expose tool maintenance status.
  11. The backend should expose tool favorite state.
  12. The backend should expose recently used tools.
  13. The backend should accept favorite ordering.
  14. The backend should accept recently used updates.
  15. The backend should support tool search.
  16. The backend should support category filtering.
  17. The backend should support tools hidden by packages.
  18. The backend should support tools hidden by reseller policy.
  19. The backend should support tools disabled by server capability.
  20. The backend should make tool metadata stable enough for frontend caching.

Websites

  1. The backend should provide website lists.
  2. The backend should provide website details.
  3. The backend should provide website creation state.
  4. The backend should provide website runtime choices.
  5. The backend should provide domain assignment choices.
  6. The backend should provide SSL assignment choices.
  7. The backend should provide backup assignment choices.
  8. The backend should provide database assignment choices.
  9. The backend should provide repository assignment choices.
  10. The backend should provide upload assignment choices.
  11. The backend should validate website names.
  12. The backend should validate document roots.
  13. The backend should validate runtime settings.
  14. The backend should validate environment variables.
  15. The backend should validate resource limits.
  16. The backend should validate deployment settings.
  17. The backend should validate maintenance-mode settings.
  18. The backend should validate redirect settings.
  19. The backend should validate health-check settings.
  20. The backend should return website creation as a job when provisioning is required.

Website Operations

  1. Website creation should be auditable.
  2. Website deletion should be auditable.
  3. Website cloning should be auditable.
  4. Website staging creation should be auditable.
  5. Website deployment should be auditable.
  6. Website rollback should be auditable.
  7. Website domain assignment should be auditable.
  8. Website SSL assignment should be auditable.
  9. Website backup assignment should be auditable.
  10. Website runtime changes should be auditable.
  11. Website environment changes should be auditable.
  12. Website resource-limit changes should be auditable.
  13. Website process changes should be auditable.
  14. Website maintenance-mode changes should be auditable.
  15. Website redirect changes should be auditable.
  16. Website health-check changes should be auditable.
  17. Website log access should be permission-gated.
  18. Website deployment logs should be streamable.
  19. Website access logs should be filterable.
  20. Website error logs should be filterable.

Domains

  1. The backend should provide domain lists.
  2. The backend should provide domain details.
  3. The backend should provide subdomain records.
  4. The backend should provide alias records.
  5. The backend should provide parked-domain records.
  6. The backend should provide redirect records.
  7. The backend should provide domain transfer status.
  8. The backend should provide domain verification status.
  9. The backend should provide DNSSEC status.
  10. The backend should provide nameserver settings.
  11. The backend should provide domain health state.
  12. The backend should provide propagation status.
  13. The backend should provide certificate status.
  14. The backend should validate domain syntax.
  15. The backend should validate ownership checks.
  16. The backend should validate redirect targets.
  17. The backend should validate nameserver changes.
  18. The backend should validate alias conflicts.
  19. The backend should validate subdomain conflicts.
  20. The backend should report DNS and certificate dependencies clearly.

DNS

  1. The backend should provide DNS-zone records.
  2. The backend should support A records.
  3. The backend should support AAAA records.
  4. The backend should support CNAME records.
  5. The backend should support MX records.
  6. The backend should support TXT records.
  7. The backend should support SRV records.
  8. The backend should support CAA records.
  9. The backend should support NS records.
  10. The backend should support PTR records where applicable.
  11. The backend should validate record names.
  12. The backend should validate record values.
  13. The backend should validate TTL values.
  14. The backend should validate priority values.
  15. The backend should validate record conflicts.
  16. The backend should validate apex restrictions.
  17. The backend should validate CNAME exclusivity.
  18. The backend should validate MX dependencies.
  19. The backend should validate CAA syntax.
  20. The backend should return propagation-check state.

DNS Operations

  1. DNS record creation should be auditable.
  2. DNS record editing should be auditable.
  3. DNS record duplication should be auditable.
  4. DNS record deletion should be auditable.
  5. DNS bulk deletion should be auditable.
  6. DNS imports should be auditable.
  7. DNS exports should be auditable.
  8. Raw-zone edits should be auditable.
  9. DNSSEC changes should be auditable.
  10. Nameserver changes should be auditable.
  11. DNS operations should identify affected zones.
  12. DNS operations should identify affected records.
  13. DNS operations should identify conflicts.
  14. DNS operations should identify warnings.
  15. DNS operations should identify propagation expectations.
  16. DNS operations should not require frontend parsing of raw zone files.
  17. DNS operations should return normalized records.
  18. DNS operations should preserve comments where the backend supports them.
  19. DNS operations should protect provider-managed records.
  20. DNS operations should expose read-only records as read-only.

Files

  1. The backend should provide directory trees.
  2. The backend should provide file lists.
  3. The backend should provide file details.
  4. The backend should provide file previews.
  5. The backend should provide image previews.
  6. The backend should provide text previews.
  7. The backend should provide source previews.
  8. The backend should provide upload jobs.
  9. The backend should provide download authorizations.
  10. The backend should provide archive jobs.
  11. The backend should provide extract jobs.
  12. The backend should provide compress jobs.
  13. The backend should provide trash state.
  14. The backend should provide restore state.
  15. The backend should provide permission metadata.
  16. The backend should provide ownership metadata.
  17. The backend should provide checksum metadata.
  18. The backend should provide storage usage.
  19. The backend should provide hidden-file visibility policy.
  20. The backend should provide conflict-resolution options.

File Operations

  1. File upload should be job-aware.
  2. Multi-file upload should be job-aware.
  3. Drag-and-drop upload should be job-aware.
  4. File rename should be conflict-aware.
  5. File move should be conflict-aware.
  6. File copy should be conflict-aware.
  7. File duplicate should be conflict-aware.
  8. File delete should be trash-aware.
  9. File restore should be conflict-aware.
  10. File creation should validate path and name.
  11. Directory creation should validate path and name.
  12. Archive creation should report progress.
  13. Archive extraction should report progress.
  14. Compression should report progress.
  15. Permission changes should be auditable.
  16. Ownership display should be accurate.
  17. Checksum calculation should be asynchronous for large files.
  18. Source editing should preserve encoding metadata.
  19. Source editing should detect concurrent modifications.
  20. Source editing should report validation warnings where supported.

File Safety

  1. The backend should prevent path traversal.
  2. The backend should enforce account root boundaries.
  3. The backend should hide unauthorized paths.
  4. The backend should protect system paths.
  5. The backend should protect panel-owned files.
  6. The backend should enforce upload size limits.
  7. The backend should enforce file count limits.
  8. The backend should enforce extension restrictions where configured.
  9. The backend should scan uploads where policy requires it.
  10. The backend should quarantine suspicious files where policy requires it.
  11. The backend should avoid exposing server absolute paths beyond allowed account context.
  12. The backend should avoid exposing raw host usernames unless policy permits it.
  13. The backend should represent symlinks safely.
  14. The backend should make destructive file operations reversible when possible.
  15. The backend should require confirmation metadata for permanent deletes.
  16. The backend should keep operation transcripts for audits.
  17. The backend should support Web Disk state.
  18. The backend should support FTP account state.
  19. The backend should support FTP session state.
  20. The backend should support Git repository state.

Databases

  1. The backend should provide MySQL database state.
  2. The backend should provide MariaDB database state.
  3. The backend should provide PostgreSQL database state.
  4. The backend should provide database user state.
  5. The backend should provide database permission state.
  6. The backend should provide database creation workflow state.
  7. The backend should provide remote access state.
  8. The backend should provide backup state.
  9. The backend should provide restore state.
  10. The backend should provide size analytics.
  11. The backend should provide active connection state.
  12. The backend should provide slow query summaries.
  13. The backend should provide process-list state.
  14. The backend should provide admin-tool launch readiness.
  15. The backend should validate database names.
  16. The backend should validate database usernames.
  17. The backend should validate passwords.
  18. The backend should validate privileges.
  19. The backend should validate remote hosts.
  20. The backend should validate backup policies.

Database Operations

  1. Database creation should be auditable.
  2. Database deletion should be auditable.
  3. Database rename should be auditable where supported.
  4. Database user creation should be auditable.
  5. Database user deletion should be auditable.
  6. Database password changes should be auditable.
  7. Database privilege changes should be auditable.
  8. Remote access changes should be auditable.
  9. Database backup creation should be auditable.
  10. Database restore should be auditable.
  11. Admin-tool launch should be auditable.
  12. Connection tests should return explicit results.
  13. Connection tests should not expose passwords.
  14. Process-list actions should be permission-gated.
  15. Slow query access should be permission-gated.
  16. Database analytics should be cacheable.
  17. Database storage values should be normalized.
  18. Database engines should be represented explicitly.
  19. Database versions should be represented explicitly.
  20. Database limits should be represented explicitly.

Email

  1. The backend should provide email account state.
  2. The backend should provide mailbox creation state.
  3. The backend should provide quota state.
  4. The backend should provide password-management state.
  5. The backend should provide forwarder state.
  6. The backend should provide domain-forwarder state.
  7. The backend should provide routing state.
  8. The backend should provide autoresponder state.
  9. The backend should provide default-address state.
  10. The backend should provide mailing-list state.
  11. The backend should provide delivery-tracking state.
  12. The backend should provide email-filter state.
  13. The backend should provide global-filter state.
  14. The backend should provide spam-filtering state.
  15. The backend should provide DKIM state.
  16. The backend should provide SPF state.
  17. The backend should provide DMARC state.
  18. The backend should provide encryption state.
  19. The backend should provide calendar state.
  20. The backend should provide contact state.

Email Operations

  1. Mailbox creation should be auditable.
  2. Mailbox deletion should be auditable.
  3. Mailbox quota changes should be auditable.
  4. Mailbox password changes should be auditable.
  5. Forwarder changes should be auditable.
  6. Routing changes should be auditable.
  7. Autoresponder changes should be auditable.
  8. Default-address changes should be auditable.
  9. Mailing-list changes should be auditable.
  10. Delivery tracking should be searchable.
  11. Email filters should be testable.
  12. Spam filter changes should be auditable.
  13. DKIM changes should be auditable.
  14. SPF changes should be auditable.
  15. DMARC changes should be auditable.
  16. Encryption key changes should be auditable.
  17. Mail queue actions should be auditable.
  18. Mail log access should be permission-gated.
  19. Webmail launch should be auditable.
  20. Client configuration should be generated from canonical server data.

Email Client Configuration

  1. The backend should provide IMAP settings.
  2. The backend should provide SMTP settings.
  3. The backend should provide POP3 settings.
  4. The backend should provide TLS information.
  5. The backend should provide mobile configuration data.
  6. The backend should provide desktop configuration data.
  7. The backend should provide server hostnames.
  8. The backend should provide ports.
  9. The backend should provide encryption requirements.
  10. The backend should provide authentication methods.
  11. The backend should provide username formats.
  12. The backend should provide mailbox storage data.
  13. The backend should provide last-login data.
  14. The backend should provide forwarding state.
  15. The backend should provide spam score summaries.
  16. The backend should provide authentication status.
  17. The backend should provide active sessions.
  18. The backend should provide device setup hints as data.
  19. The backend should avoid exposing passwords.
  20. The backend should keep generated settings account-specific.

Metrics

  1. The backend should provide visitor metrics.
  2. The backend should provide access-log summaries.
  3. The backend should provide error-log summaries.
  4. The backend should provide bandwidth metrics.
  5. The backend should provide raw-access metadata.
  6. The backend should provide AWStats-style metrics.
  7. The backend should provide Webalizer-style metrics.
  8. The backend should provide resource-usage metrics.
  9. The backend should provide CPU history.
  10. The backend should provide memory history.
  11. The backend should provide disk history.
  12. The backend should provide network-traffic history.
  13. The backend should provide HTTP-status distributions.
  14. The backend should provide top URLs.
  15. The backend should provide top referrers.
  16. The backend should provide top countries.
  17. The backend should provide top user agents.
  18. The backend should provide top IP addresses.
  19. The backend should provide database performance metrics.
  20. The backend should provide email-delivery metrics.

Metrics Behavior

  1. Metrics responses should support date ranges.
  2. Metrics responses should support comparison ranges.
  3. Metrics responses should support export metadata.
  4. Metrics responses should support live-update indicators.
  5. Metrics responses should support empty states.
  6. Metrics responses should support delayed-ingestion states.
  7. Metrics responses should support partial data warnings.
  8. Metrics responses should support timezone-aware labels.
  9. Metrics responses should support account scoping.
  10. Metrics responses should support domain scoping.
  11. Metrics responses should support website scoping.
  12. Metrics responses should support server scoping.
  13. Metrics responses should normalize units.
  14. Metrics responses should identify sampled data.
  15. Metrics responses should identify estimated data.
  16. Metrics responses should avoid leaking other tenants.
  17. Metrics exports should be auditable.
  18. Metrics retention should be policy-driven.
  19. Metrics aggregation should be product-consistent.
  20. Metrics freshness should be visible.

Security

  1. The backend should provide SSL/TLS status.
  2. The backend should provide certificate management state.
  3. The backend should provide Let's Encrypt state.
  4. The backend should provide custom certificate upload state.
  5. The backend should provide CSR state.
  6. The backend should provide private-key metadata.
  7. The backend should provide automatic HTTPS state.
  8. The backend should provide HTTPS redirect state.
  9. The backend should provide HSTS state.
  10. The backend should provide SSH access state.
  11. The backend should provide SSH key state.
  12. The backend should provide IP blocker state.
  13. The backend should provide firewall state.
  14. The backend should provide port-rule state.
  15. The backend should provide brute-force protection state.
  16. The backend should provide WAF rule state.
  17. The backend should provide malware scanning state.
  18. The backend should provide antivirus scanning state.
  19. The backend should provide file-integrity state.
  20. The backend should provide security-advisor state.

Security Operations

  1. Certificate issuance should be job-aware.
  2. Certificate renewal should be job-aware.
  3. Certificate upload should validate chains.
  4. CSR generation should be auditable.
  5. Private-key import should be guarded.
  6. HTTPS redirect changes should be auditable.
  7. HSTS changes should be auditable.
  8. SSH key changes should be auditable.
  9. IP blocker changes should be auditable.
  10. Firewall changes should be auditable.
  11. Port-rule changes should be auditable.
  12. Brute-force policy changes should be auditable.
  13. WAF rule changes should be auditable.
  14. Malware scans should be job-aware.
  15. Antivirus scans should be job-aware.
  16. Integrity scans should be job-aware.
  17. Security findings should have severity.
  18. Security findings should have target metadata.
  19. Security findings should have recommended actions.
  20. Security findings should have remediation status.

Defensive Boundary

  1. The backend should treat security modules as defensive administration interfaces.
  2. The backend should not expose offensive attack tooling.
  3. The backend should not execute arbitrary user-provided attack payloads.
  4. The backend should not provide exploit automation.
  5. The backend should not provide credential harvesting features.
  6. The backend should not expose private keys after creation unless explicit policy allows it.
  7. The backend should not reveal sensitive scan internals to unauthorized users.
  8. The backend should not allow firewall lockout without recovery policy.
  9. The backend should not allow security-policy bypass from the frontend.
  10. The backend should not silently downgrade security settings.
  11. The backend should provide safe previews for risky changes.
  12. The backend should provide typed confirmation requirements.
  13. The backend should provide reason-field requirements.
  14. The backend should provide second-factor requirements for critical actions.
  15. The backend should provide impact descriptions for critical actions.
  16. The backend should provide audit previews for critical actions.
  17. The backend should provide rollback metadata where possible.
  18. The backend should provide emergency-contact or recovery metadata where appropriate.
  19. The backend should preserve evidence for security events.
  20. The backend should make security state explainable.

Software And Runtimes

  1. The backend should provide PHP version state.
  2. The backend should provide PHP extension state.
  3. The backend should provide PHP configuration state.
  4. The backend should provide per-domain PHP version state.
  5. The backend should provide PHP-FPM settings state.
  6. The backend should provide Node.js application state.
  7. The backend should provide Node.js version state.
  8. The backend should provide Python application state.
  9. The backend should provide Python version state.
  10. The backend should provide Ruby application state.
  11. The backend should provide Docker application state.
  12. The backend should provide Composer state.
  13. The backend should provide npm script state.
  14. The backend should provide package-manager status.
  15. The backend should provide application-installer state.
  16. The backend should provide runtime environment variables.
  17. The backend should provide process-manager state.
  18. The backend should provide website optimization state.
  19. The backend should provide compression state.
  20. The backend should provide cache state.

Runtime Framework

  1. Runtime definitions should be data-driven.
  2. Runtime versions should be explicit.
  3. Runtime extensions should be explicit.
  4. Runtime process managers should be explicit.
  5. Runtime environment-variable rules should be explicit.
  6. Runtime resource limits should be explicit.
  7. Runtime compatibility warnings should be explicit.
  8. Runtime update availability should be explicit.
  9. Runtime deprecation state should be explicit.
  10. Runtime default settings should be explicit.
  11. Runtime package operations should be job-aware.
  12. Runtime process operations should be job-aware.
  13. Runtime configuration changes should be auditable.
  14. Runtime package changes should be auditable.
  15. Runtime version changes should be auditable.
  16. Runtime environment changes should be auditable.
  17. Runtime restart requirements should be visible.
  18. Runtime rollback availability should be visible.
  19. Runtime future additions should not require frontend redesign.
  20. Runtime labels should remain product-friendly.

Advanced Tools

  1. The backend should provide cron-job state.
  2. The backend should provide task-scheduler state.
  3. The backend should provide DNS lookup state.
  4. The backend should provide traceroute state.
  5. The backend should provide index-manager state.
  6. The backend should provide error-page state.
  7. The backend should provide MIME type state.
  8. The backend should provide Apache handler state.
  9. The backend should provide Nginx snippet state.
  10. The backend should provide reverse-proxy rule state.
  11. The backend should provide process-manager state.
  12. The backend should provide service-manager state.
  13. The backend should provide terminal session state.
  14. The backend should provide log-viewer state.
  15. The backend should provide queue-manager state.
  16. The backend should provide webhook state.
  17. The backend should provide API explorer metadata.
  18. The backend should provide API documentation metadata.
  19. The backend should provide environment-inspector state.
  20. The backend should provide system-information state.

Terminal

  1. The terminal backend should be mockable.
  2. The terminal backend should be permission-gated.
  3. The terminal backend should be session-scoped.
  4. The terminal backend should be server-scoped.
  5. The terminal backend should provide connection state.
  6. The terminal backend should provide tab state.
  7. The terminal backend should provide transcript state.
  8. The terminal backend should provide resize state.
  9. The terminal backend should provide copy-paste policy.
  10. The terminal backend should provide search metadata.
  11. The terminal backend should provide reconnect state.
  12. The terminal backend should provide fullscreen state metadata.
  13. The terminal backend should provide clear-session actions.
  14. The terminal backend should provide transcript download metadata.
  15. The terminal backend should not expose unrestricted command execution to normal users.
  16. The terminal backend should not bypass account isolation.
  17. The terminal backend should not bypass audit logging.
  18. The terminal backend should not bypass role restrictions.
  19. The terminal backend should distinguish mock sessions from real sessions.
  20. The terminal backend should be optional per server.

Server Administration

  1. The backend should provide server overview state.
  2. The backend should provide server status.
  3. The backend should provide services state.
  4. The backend should provide process state.
  5. The backend should provide network-interface state.
  6. The backend should provide mounted-filesystem state.
  7. The backend should provide storage-device state.
  8. The backend should provide system-update state.
  9. The backend should provide kernel information.
  10. The backend should provide reboot state.
  11. The backend should provide shutdown state.
  12. The backend should provide hostname state.
  13. The backend should provide timezone state.
  14. The backend should provide DNS resolver state.
  15. The backend should provide nameserver state.
  16. The backend should provide firewall state.
  17. The backend should provide package-update state.
  18. The backend should provide service-log state.
  19. The backend should provide health-check state.
  20. The backend should provide server-registration state.

Dangerous Server Actions

  1. Reboot actions should require confirmation.
  2. Shutdown actions should require confirmation.
  3. Package update actions should require confirmation.
  4. Kernel update actions should require confirmation.
  5. Firewall lockout-risk actions should require confirmation.
  6. Service restart actions should require confirmation where impact exists.
  7. Migration actions should require confirmation.
  8. Destructive storage actions should require confirmation.
  9. Hostname changes should require impact summaries.
  10. Timezone changes should require impact summaries.
  11. DNS resolver changes should require impact summaries.
  12. Nameserver changes should require impact summaries.
  13. Reboot actions should request a reason field.
  14. Shutdown actions should request a reason field.
  15. Migration actions should request a reason field.
  16. Destructive storage actions should request a reason field.
  17. Critical actions should support mock two-factor confirmation in frontend mode.
  18. Critical actions should enforce real second-factor confirmation in production mode.
  19. Critical actions should create audit-preview metadata.
  20. Critical actions should create final audit entries.

Users And Teams

  1. The backend should provide hosting-user state.
  2. The backend should provide team-member state.
  3. The backend should provide role state.
  4. The backend should provide permission state.
  5. The backend should provide reseller-account state.
  6. The backend should provide hosting-package state.
  7. The backend should provide account-quota state.
  8. The backend should provide feature-list state.
  9. The backend should provide impersonation state.
  10. The backend should provide invitation state.
  11. The backend should provide suspended-account state.
  12. The backend should provide account-termination state.
  13. The backend should provide account-migration state.
  14. The backend should provide ownership-transfer state.
  15. The backend should provide access-log state.
  16. The backend should provide session-management state.
  17. The backend should validate user email addresses.
  18. The backend should validate role assignments.
  19. The backend should validate package assignments.
  20. The backend should validate quota assignments.

Roles

  1. The backend should support super administrator role.
  2. The backend should support server administrator role.
  3. The backend should support reseller role.
  4. The backend should support hosting account owner role.
  5. The backend should support developer role.
  6. The backend should support billing viewer role.
  7. The backend should support support operator role.
  8. The backend should support read-only auditor role.
  9. The backend should support custom role.
  10. The backend should provide detailed permission matrices.
  11. The backend should provide module-level permissions.
  12. The backend should provide action-level permissions.
  13. The backend should provide resource-level permissions where needed.
  14. The backend should provide permission templates.
  15. The backend should provide permission diffs.
  16. The backend should provide permission-impact previews.
  17. The backend should audit role creation.
  18. The backend should audit role updates.
  19. The backend should audit role deletion.
  20. The backend should audit impersonation events.

Backups

  1. The backend should provide backup dashboard state.
  2. The backend should provide full-account backup state.
  3. The backend should provide website backup state.
  4. The backend should provide database backup state.
  5. The backend should provide email backup state.
  6. The backend should provide configuration backup state.
  7. The backend should provide incremental backup state.
  8. The backend should provide snapshot backup state.
  9. The backend should provide scheduled backup state.
  10. The backend should provide retention-policy state.
  11. The backend should provide backup-destination state.
  12. The backend should provide restore-wizard state.
  13. The backend should provide backup-browser state.
  14. The backend should provide backup-verification state.
  15. The backend should provide encryption status.
  16. The backend should provide storage usage.
  17. The backend should provide failed-job history.
  18. The backend should provide download authorization.
  19. The backend should provide delete state.
  20. The backend should provide clone-from-backup state.

Backup Destinations

  1. Local storage should be represented as a destination.
  2. SFTP should be represented as a destination.
  3. S3-compatible storage should be represented as a destination.
  4. Backblaze B2 should be represented as a destination.
  5. Google Cloud Storage should be represented as a destination.
  6. Azure Blob Storage should be represented as a destination.
  7. Custom object storage should be represented as a destination.
  8. Destination credentials should not be revealed after creation.
  9. Destination tests should return explicit connection status.
  10. Destination tests should return explicit permission status.
  11. Destination capacity should be visible where available.
  12. Destination encryption should be visible.
  13. Destination retention should be visible.
  14. Destination failure state should be visible.
  15. Destination last-success metadata should be visible.
  16. Destination last-failure metadata should be visible.
  17. Destination changes should be auditable.
  18. Destination deletion should be guarded.
  19. Destination reuse should be supported.
  20. Destination policy should be account-scoped.

Restore

  1. Restore operations should be wizard-driven.
  2. Restore operations should include scope selection.
  3. Restore operations should include conflict policy.
  4. Restore operations should include impact preview.
  5. Restore operations should include reason capture.
  6. Restore operations should include second-factor confirmation.
  7. Restore operations should include audit-preview metadata.
  8. Restore operations should include job progress.
  9. Restore operations should include rollback availability where possible.
  10. Restore operations should include post-restore validation.
  11. Restore operations should report partial success.
  12. Restore operations should report skipped resources.
  13. Restore operations should report overwritten resources.
  14. Restore operations should report created resources.
  15. Restore operations should report failed resources.
  16. Restore operations should report warnings.
  17. Restore operations should be auditable.
  18. Restore downloads should be permission-gated.
  19. Restore destructive choices should be explicit.
  20. Restore state should remain visible after page refresh.

Automation

  1. The backend should provide scheduled-task state.
  2. The backend should provide deployment-pipeline state.
  3. The backend should provide webhook state.
  4. The backend should provide event-trigger state.
  5. The backend should provide automation-template state.
  6. The backend should provide retry-policy state.
  7. The backend should provide execution-history state.
  8. The backend should provide failed-execution state.
  9. The backend should provide environment-based workflow state.
  10. The backend should provide backup automation state.
  11. The backend should provide certificate automation state.
  12. The backend should provide update automation state.
  13. The backend should provide monitoring automation state.
  14. The backend should provide notification automation state.
  15. The backend should validate triggers.
  16. The backend should validate conditions.
  17. The backend should validate actions.
  18. The backend should validate branches.
  19. The backend should validate execution previews.
  20. The backend should validate test-mode constraints.

Notifications

  1. The backend should provide notification-center state.
  2. The backend should provide read/unread state.
  3. The backend should provide categories.
  4. The backend should provide notification preferences.
  5. The backend should provide email notification settings.
  6. The backend should provide webhook notification settings.
  7. The backend should provide browser notification settings.
  8. The backend should provide critical alerts.
  9. The backend should provide security alerts.
  10. The backend should provide backup alerts.
  11. The backend should provide resource alerts.
  12. The backend should provide SSL alerts.
  13. The backend should provide deployment alerts.
  14. The backend should provide notification delivery status.
  15. The backend should provide notification retry status.
  16. The backend should provide notification suppression state.
  17. The backend should provide quiet-hour state.
  18. The backend should provide digest state.
  19. The backend should audit preference changes.
  20. The backend should preserve critical-alert history.

Support

  1. The backend should provide documentation metadata.
  2. The backend should provide knowledge-base metadata.
  3. The backend should provide system-diagnostics state.
  4. The backend should provide support-ticket lists.
  5. The backend should provide ticket details.
  6. The backend should provide ticket replies.
  7. The backend should provide file attachment metadata.
  8. The backend should provide ticket status.
  9. The backend should provide ticket priority.
  10. The backend should provide diagnostic-report generation state.
  11. The backend should validate ticket subjects.
  12. The backend should validate ticket messages.
  13. The backend should validate attachments.
  14. The backend should validate ticket ownership.
  15. The backend should audit ticket creation.
  16. The backend should audit ticket replies.
  17. The backend should audit ticket status changes.
  18. The backend should audit diagnostic report generation.
  19. The backend should protect sensitive diagnostic data.
  20. The backend should expose shareable diagnostic summaries.

Settings

  1. The backend should provide general settings.
  2. The backend should provide branding settings.
  3. The backend should provide logo metadata.
  4. The backend should provide theme settings.
  5. The backend should provide accent-color settings.
  6. The backend should provide locale settings.
  7. The backend should provide date-format settings.
  8. The backend should provide time-format settings.
  9. The backend should provide timezone settings.
  10. The backend should provide session-timeout settings.
  11. The backend should provide security defaults.
  12. The backend should provide password policy.
  13. The backend should provide two-factor policy.
  14. The backend should provide email settings.
  15. The backend should provide notification settings.
  16. The backend should provide backup defaults.
  17. The backend should provide DNS defaults.
  18. The backend should provide SSL defaults.
  19. The backend should provide runtime defaults.
  20. The backend should provide file-manager settings.

More Settings

  1. The backend should provide API settings.
  2. The backend should provide feature flags.
  3. The backend should provide experimental feature state.
  4. The backend should provide privacy settings.
  5. The backend should provide data-retention settings.
  6. The backend should provide maintenance-mode settings.
  7. Settings changes should be auditable.
  8. Branding changes should be auditable.
  9. Theme changes should be user-scoped or account-scoped as policy requires.
  10. Locale changes should be user-scoped or account-scoped as policy requires.
  11. Security-default changes should be guarded.
  12. Password-policy changes should be guarded.
  13. Two-factor-policy changes should be guarded.
  14. API-setting changes should be guarded.
  15. Feature-flag changes should be guarded.
  16. Maintenance-mode changes should be guarded.
  17. Settings should support live preview where the frontend already previews state.
  18. Settings should distinguish draft values from saved values.
  19. Settings should expose inherited values.
  20. Settings should expose overridden values.

Audit Logs

  1. The backend should create audit entries for authentication events.
  2. The backend should create audit entries for permission events.
  3. The backend should create audit entries for website events.
  4. The backend should create audit entries for domain events.
  5. The backend should create audit entries for DNS events.
  6. The backend should create audit entries for file events.
  7. The backend should create audit entries for database events.
  8. The backend should create audit entries for email events.
  9. The backend should create audit entries for metric export events.
  10. The backend should create audit entries for security events.
  11. The backend should create audit entries for software events.
  12. The backend should create audit entries for advanced-tool events.
  13. The backend should create audit entries for server events.
  14. The backend should create audit entries for user events.
  15. The backend should create audit entries for reseller events.
  16. The backend should create audit entries for backup events.
  17. The backend should create audit entries for restore events.
  18. The backend should create audit entries for automation events.
  19. The backend should create audit entries for notification events.
  20. The backend should create audit entries for settings events.

Audit Metadata

  1. Audit entries should include actor identity.
  2. Audit entries should include actor role context.
  3. Audit entries should include account context.
  4. Audit entries should include server context.
  5. Audit entries should include reseller context where applicable.
  6. Audit entries should include target type.
  7. Audit entries should include target identifier.
  8. Audit entries should include target label.
  9. Audit entries should include action.
  10. Audit entries should include outcome.
  11. Audit entries should include request identifier.
  12. Audit entries should include IP address.
  13. Audit entries should include user agent where available.
  14. Audit entries should include timestamp.
  15. Audit entries should include reason field where required.
  16. Audit entries should include confirmation metadata where required.
  17. Audit entries should include before-and-after metadata where safe.
  18. Audit entries should avoid storing secrets.
  19. Audit entries should be immutable.
  20. Audit entries should be exportable by authorized users.

Jobs

  1. The backend should represent long-running operations as jobs.
  2. Jobs should have stable identifiers.
  3. Jobs should have type.
  4. Jobs should have status.
  5. Jobs should have progress.
  6. Jobs should have started timestamp.
  7. Jobs should have updated timestamp.
  8. Jobs should have completed timestamp when complete.
  9. Jobs should have actor metadata.
  10. Jobs should have target metadata.
  11. Jobs should have cancellability metadata.
  12. Jobs should have retry metadata.
  13. Jobs should have warnings.
  14. Jobs should have errors.
  15. Jobs should have result summaries.
  16. Jobs should have audit references.
  17. Jobs should support polling.
  18. Jobs should support event updates where available.
  19. Jobs should remain visible after navigation.
  20. Jobs should expire according to retention policy.

Real-Time Events

  1. The backend should provide event streams for job progress.
  2. The backend should provide event streams for notifications.
  3. The backend should provide event streams for terminal sessions.
  4. The backend should provide event streams for log viewers.
  5. The backend should provide event streams for deployment logs.
  6. The backend should provide event streams for backup progress.
  7. The backend should provide event streams for restore progress.
  8. The backend should provide event streams for automation executions.
  9. Event messages should include type.
  10. Event messages should include timestamp.
  11. Event messages should include account context.
  12. Event messages should include server context where relevant.
  13. Event messages should include payload.
  14. Event messages should include request or job references where relevant.
  15. Event messages should preserve authorization boundaries.
  16. Event messages should support reconnect behavior.
  17. Event messages should support last-seen cursors where applicable.
  18. Event messages should not expose data from other tenants.
  19. Event messages should be versionable.
  20. Event messages should remain compatible with frontend state updates.

Errors

  1. The backend should provide validation errors.
  2. The backend should provide permission errors.
  3. The backend should provide authentication errors.
  4. The backend should provide conflict errors.
  5. The backend should provide not-found errors.
  6. The backend should provide rate-limit errors.
  7. The backend should provide maintenance errors.
  8. The backend should provide dependency errors.
  9. The backend should provide partial-failure errors.
  10. The backend should provide network-facing timeout errors.
  11. Error codes should be stable.
  12. Error messages should be readable.
  13. Error fields should map to form fields.
  14. Error metadata should include request identifiers.
  15. Error metadata should include retryability where relevant.
  16. Error metadata should include support references where relevant.
  17. Error metadata should avoid leaking secrets.
  18. Error metadata should avoid leaking host internals.
  19. Error states should be testable by the frontend.
  20. Error states should be documented as product behavior.

Data Model Expectations

  1. Resource identifiers should be stable.
  2. Resource labels should be human-readable.
  3. Resource status values should be enumerated.
  4. Resource timestamps should be normalized.
  5. Resource ownership should be explicit.
  6. Resource server placement should be explicit.
  7. Resource account placement should be explicit.
  8. Resource feature availability should be explicit.
  9. Resource permission availability should be explicit.
  10. Resource maintenance availability should be explicit.
  11. Resource soft-delete state should be explicit.
  12. Resource archival state should be explicit.
  13. Resource health state should be explicit.
  14. Resource warning state should be explicit.
  15. Resource dependency state should be explicit.
  16. Resource quota impact should be explicit.
  17. Resource audit metadata should be explicit.
  18. Resource version metadata should be explicit where edits can conflict.
  19. Resource display metadata should be frontend-friendly.
  20. Resource transport metadata should remain separate from business data.

Frontend State

  1. The frontend should keep global UI state in Zustand only for UI concerns.
  2. The frontend should keep server data in TanStack Query.
  3. The frontend should keep form state in React Hook Form.
  4. The frontend should keep validation schemas aligned with backend validation concepts.
  5. The frontend should keep route definitions centralized.
  6. The frontend should keep permission definitions centralized.
  7. The frontend should keep table definitions close to feature views.
  8. The frontend should keep mock services replaceable.
  9. The frontend should keep loading skeletons for backend latency.
  10. The frontend should keep empty states for backend empty responses.

Frontend Data Handling

  1. The frontend should cache list reads by module and filter state.
  2. The frontend should cache detail reads by stable resource identifier.
  3. The frontend should invalidate related reads after mutations.
  4. The frontend should preserve optimistic UI only where backend confirmation semantics allow it.
  5. The frontend should avoid optimistic UI for irreversible operations.
  6. The frontend should show job progress for asynchronous operations.
  7. The frontend should show stale data indicators from backend metadata.
  8. The frontend should show partial-failure messages from backend metadata.
  9. The frontend should show maintenance banners from backend metadata.
  10. The frontend should show permission-denied states from backend responses.
  11. The frontend should use request IDs in support-friendly errors.
  12. The frontend should use backend-provided display labels.
  13. The frontend should use backend-provided status values.
  14. The frontend should use backend-provided quota values.
  15. The frontend should use backend-provided unit metadata.
  16. The frontend should use backend-provided route availability.
  17. The frontend should not parse logs when backend can provide structured summaries.
  18. The frontend should not calculate security scores from raw findings.
  19. The frontend should not calculate billing-grade usage from approximate metrics.
  20. The frontend should not invent backend capability state.

Internationalization

  1. Backend-provided labels should be localizable where they are product copy.
  2. Backend-provided enum display names should be localizable.
  3. Backend-provided validation messages should support localization.
  4. Backend-provided timestamps should be timezone-neutral.
  5. Backend-provided durations should be unit-neutral.
  6. Backend-provided numeric values should be raw numbers plus unit context.
  7. Backend-provided currency values should include currency codes where billing appears.
  8. Backend-provided country names should use stable codes plus display labels.
  9. Backend-provided language choices should use stable locale identifiers.
  10. Backend-provided date formatting should not be preformatted unless explicitly needed.

Performance

  1. Backend dashboard reads should be fast.
  2. Backend navigation reads should be fast.
  3. Backend permission reads should be fast.
  4. Backend table reads should support pagination.
  5. Backend file-list reads should support virtualized frontend consumption.
  6. Backend log reads should support streaming or cursor windows.
  7. Backend metric reads should support aggregation.
  8. Backend search reads should support bounded result sets.
  9. Backend expensive reads should expose freshness metadata.
  10. Backend expensive reads should support cached summaries.
  11. Backend write operations should not block on nonessential refresh work.
  12. Backend long-running writes should return jobs.
  13. Backend heavy exports should return jobs.
  14. Backend imports should return parsed previews or jobs.
  15. Backend file operations should return progress for large work.
  16. Backend backup operations should return progress.
  17. Backend restore operations should return progress.
  18. Backend metrics should avoid over-fetching by default.
  19. Backend tables should avoid returning unused giant payloads.
  20. Backend responses should remain predictable under load.

Observability

  1. The backend should emit structured logs.
  2. The backend should emit request metrics.
  3. The backend should emit job metrics.
  4. The backend should emit module health metrics.
  5. The backend should emit dependency health metrics.
  6. The backend should emit authentication metrics.
  7. The backend should emit authorization-denial metrics.
  8. The backend should emit validation-failure metrics.
  9. The backend should emit audit-write metrics.
  10. The backend should emit notification-delivery metrics.
  11. The backend should emit backup-success metrics.
  12. The backend should emit backup-failure metrics.
  13. The backend should emit restore-success metrics.
  14. The backend should emit restore-failure metrics.
  15. The backend should emit certificate-renewal metrics.
  16. The backend should emit security-scan metrics.
  17. The backend should emit database-operation metrics.
  18. The backend should emit file-operation metrics.
  19. The backend should emit email-delivery metrics.
  20. The backend should correlate logs with request IDs.

Compliance And Privacy

  1. The backend should minimize sensitive data sent to the frontend.
  2. The backend should minimize secrets stored in audit logs.
  3. The backend should minimize personal data in exports.
  4. The backend should support data retention policies.
  5. The backend should support privacy settings.
  6. The backend should support account data export where product policy requires it.
  7. The backend should support account data deletion where product policy requires it.
  8. The backend should distinguish operational logs from audit logs.
  9. The backend should distinguish customer data from platform data.
  10. The backend should support consent-sensitive notification channels where required.
  11. The backend should keep diagnostic reports scoped.
  12. The backend should redact credentials from diagnostic reports.
  13. The backend should redact tokens from diagnostic reports.
  14. The backend should redact private keys from diagnostic reports.
  15. The backend should redact connection strings from diagnostic reports.
  16. The backend should redact environment secrets from diagnostic reports.
  17. The backend should provide safe support summaries.
  18. The backend should provide retention metadata to the settings UI.
  19. The backend should make privacy-impacting changes auditable.
  20. The backend should keep compliance behavior explicit.

Migration From Mock Services

  1. Mock services should remain useful for local frontend development.
  2. HTTP services should preserve the same conceptual methods.
  3. DTO names should remain aligned with existing contracts.
  4. Response envelopes should remain aligned with existing contracts.
  5. Error envelopes should remain aligned with existing contracts.
  6. Pagination contracts should remain aligned with existing contracts.
  7. Filtering contracts should remain aligned with existing contracts.
  8. Sorting contracts should remain aligned with existing contracts.
  9. Search contracts should remain aligned with existing contracts.
  10. Bulk-operation contracts should remain aligned with existing contracts.
  11. Job-progress contracts should remain aligned with existing contracts.
  12. Audit-metadata contracts should remain aligned with existing contracts.
  13. Permission-check contracts should remain aligned with existing contracts.
  14. WebSocket-event contracts should remain aligned with existing contracts.
  15. Mock latency should remain configurable.
  16. Mock errors should remain configurable.
  17. Mock maintenance states should remain configurable.
  18. Mock permission states should remain configurable.
  19. Mock empty states should remain configurable.
  20. Mock data should remain realistic enough for UI regression tests.

Release Readiness

  1. The backend should be considered ready only when auth flows are wired.
  2. The backend should be considered ready only when permission checks are authoritative.
  3. The backend should be considered ready only when dashboard reads are real.
  4. The backend should be considered ready only when primary module lists are real.
  5. The backend should be considered ready only when destructive actions are guarded.
  6. The backend should be considered ready only when audit logging is durable.
  7. The backend should be considered ready only when job progress is reliable.
  8. The backend should be considered ready only when frontend errors are explainable.
  9. The backend should be considered ready only when observability is in place.
  10. The backend should be considered ready only when backup and restore semantics are clear.
  11. The backend should be considered ready only when security module boundaries are enforced.
  12. The backend should be considered ready only when tenant boundaries are enforced.
  13. The backend should be considered ready only when performance targets are met.
  14. The backend should be considered ready only when e2e frontend flows pass against it.
  15. The backend should be considered ready only when support diagnostics are safe.
  16. The backend should be considered ready only when settings persistence is reliable.
  17. The backend should be considered ready only when notification delivery is observable.
  18. The backend should be considered ready only when restore operations are auditable.
  19. The backend should be considered ready only when migration from mock mode is reversible.
  20. The backend should be considered ready only when product behavior is documented.

Non-Goals For The Frontend Contract

  1. The frontend should not become a host command runner.
  2. The frontend should not own backend authorization decisions.
  3. The frontend should not own backend quota enforcement.
  4. The frontend should not own backend security scoring.
  5. The frontend should not own backend backup integrity checks.
  6. The frontend should not own backend restore correctness.
  7. The frontend should not own DNS conflict detection.
  8. The frontend should not own certificate validation.
  9. The frontend should not own database privilege truth.
  10. The frontend should not own email-routing truth.
  11. The frontend should not own package availability truth.
  12. The frontend should not own server health truth.
  13. The frontend should not own audit durability.
  14. The frontend should not own tenant isolation.
  15. The frontend should not own secret storage.
  16. The frontend should not own long-running job execution.
  17. The frontend should not own terminal execution policy.
  18. The frontend should not own infrastructure rollback policy.
  19. The frontend should not own compliance retention.
  20. The frontend should not own platform incident state.

Final Product Expectations

  1. CoaxysPanel should feel like one integrated hosting control center.
  2. The backend should make every visible tool meaningful.
  3. The backend should make every primary action traceable.
  4. The backend should make every dangerous action deliberate.
  5. The backend should make every permission boundary enforceable.
  6. The backend should make every long-running operation observable.
  7. The backend should make every validation failure actionable.
  8. The backend should make every support escalation easier to diagnose.
  9. The backend should make the frontend replace mock data without redesign.
  10. The backend should make future modules fit the same service pattern.
  11. The backend should make account, server, and reseller context explicit everywhere.
  12. The backend should make failures honest rather than decorative.
  13. The backend should make infrastructure state understandable to administrators.
  14. The backend should make security state understandable without exposing offensive capability.
  15. The backend should make backup and restore trust visible.
  16. The backend should make automation predictable.
  17. The backend should make notifications useful instead of noisy.
  18. The backend should make audit logs complete enough for accountability.
  19. The backend should make settings changes safe to preview and safe to save.
  20. The backend and frontend together should preserve the premium CoaxysPanel experience.