Programme model
Integrator workspace: USD 0 · Free Forever
Client subscription: selected and paid by client
Client data: owned by client
Integrator service fees: separate from 1ProNAS billing
Partner commission: optional, disabled by default, Axon-controlled
The first release supports one active primary integrator per client. One integrator may manage many client tenants and partner users, while each technician sees only explicitly assigned clients.
Client ownership
- The client owns its tenant, subscription, billing, users, data, settings and connector identities.
- The client approves, limits and revokes integrator access.
- Removing the integrator does not delete or suspend client data.
- Changing integrators does not transfer payment details.
- Historical audit events remain after access removal.
Integrator roles
PARTNER ROLEIntegrator Owner
Partner company, staff, approved client relationships, partner settings and audit oversight.
PARTNER ROLEIntegrator Admin
Client invitations, technician assignments, access requests and operational oversight.
PARTNER ROLEIntegrator Technician
Only assigned clients and explicitly delegated permissions.
PARTNER ROLEIntegrator Auditor
Read-only reports and audit evidence.
PARTNER ROLEBilling Viewer
Limited client subscription status where allowed, never payment details.
A partner role does not automatically grant access to every client. The active client relationship, technician assignment and permission must all pass.
Delegated client permissions
PermissionDefault
View health, capacity and forecastsAllowed after client approval
View or acknowledge alertsOptional client grant
Troubleshoot connector configurationOptional or time-limited
Manage client usersDisabled by default
View subscription statusOptional; no payment details
Change subscription or billingClient only
Create archive planRequest permission
Approve archiveClient only by default
Authorise reclaimClient only by default
Sensitive permissions should support an expiry. Archive and reclaim remain subject to the complete Smart Space Manager verification and approval workflow even when delegated.
Client onboarding
- Integrator creates a short-lived invitation, or client invites an approved partner.
- Client verifies email ownership.
- Client creates or selects the correct tenant.
- Client accepts legal and relationship disclosures.
- Client chooses Free Forever or paid usage.
- Client enters its own billing details where required.
- Client reviews requested permissions.
- Client approves, reduces or rejects access.
- Integrator assigns named technicians.
- Client pairs every NAS with a separate tenant-bound connector identity.
- Audit records preserve invitation, acceptance, permissions and assignments.
Invitation tokens must be single-use and stored only as hashes. API keys must never be sent as onboarding links.
Technician lifecycle
Assign
- Confirm partner user is active.
- Select approved client link.
- Choose assignment and optional expiry.
- Record assigning actor.
- Revalidate assignment on every request.
Remove
- Disable assignment.
- Revoke client-scoped sessions.
- Cancel temporary access.
- Review recent activity.
- Preserve audit history.
Staff departure
Disable the partner user, revoke all sessions, remove all assignments, revoke user-specific credentials and transfer open support work.
Billing
The client calculator counts client NAS devices and client human users. Integrator staff and Axon staff are not client users.
Client Free Forever: exactly 1 NAS + 1 client user = USD 0/month
Paid client proposal:
USD 10 platform fee
+ USD 8 per NAS
+ USD 0.20 per client user
Minimum paid: USD 20/month
Integrator account: USD 0
The integrator may charge separately for implementation, support, migration or managed services. Those charges are not part of the initial 1ProNAS subscription engine.
Client removal and integrator transfer
- Client Owner confirms immediate or scheduled removal.
- Relationship status changes to revoked.
- Technician assignments and temporary permissions end.
- Sessions and cached authorisation are invalidated.
- Open access requests are cancelled.
- Client, connector and subscription remain active.
- Audit history remains available.
- Replacement integrator starts with a new permission review.
Security rules
- Validate user, integrator, client link, assignment, permission and tenant on every request.
- Never trust only a URL slug, hidden form field or browser selection.
- Use separate connector identity per client NAS.
- Use rate limits by user, partner, tenant and IP.
- Use Secure, HttpOnly and SameSite cookies for human sessions.
- Do not expose payment methods or raw provider secrets.
- Record client context switches and sensitive actions.
- Client approval remains required for billing, archive and reclaim by default.
Database foundation
Alembic migration head:
0003_integrator_foundation
Tables:
integrators
integrator_users
integrator_client_links
integrator_client_permissions
integrator_staff_assignments
integrator_invitations
integrator_access_requests
integrator_support_notes
integrator_referrals
integrator_commission_rules
integrator_commission_events
integrator_audit_events
The schema does not activate public APIs by itself. Real portal functionality must add authentication, authorisation middleware, validation, audit and tests.
Deploy and verify
cd /opt/1pronas
1pronas inventory
1pronas status
1pronas production-backup
1pronas update
bash deploy/install-cli.sh
hash -r
1pronas production-status
1pronas production-backup
1pronas production-restore-test
1pronas production-preflight
Confirm migration:
docker compose -f docker-compose.yml -f docker-compose.production.yml exec -T 1pronas-space-manager-prod alembic current
Troubleshooting
Integrator page returns 404
cd /opt/1pronas
git log -1 --oneline
docker compose logs --tail=150 1pronas-web
1pronas update --no-cache
Migration remains at 0002
1pronas production-logs
docker compose -f docker-compose.yml -f docker-compose.production.yml exec -T 1pronas-space-manager-prod alembic heads
Do not edit alembic_version manually.
Wrong client appears
Treat this as a security incident: revoke the session, preserve logs, record request ID, suspend access where needed and investigate tenant filters, assignments and cache keys.
Integrator suspension affects clients
That behaviour is incorrect. Partner suspension must block partner users but keep client tenants, subscriptions, connectors and data active.
Open the platform dictionaryIntegrator UAT
- Create one integrator and four partner roles.
- Link Client A and Client B.
- Confirm unlinked Client C is invisible.
- Assign a technician only to Client A.
- Confirm Client B is denied.
- Confirm client billing remains separate.
- Confirm no payment details are visible.
- Remove the relationship and confirm immediate revocation.
- Suspend the integrator and confirm clients remain active.
- Confirm archive and reclaim require client approval.
- Confirm exports contain only the selected client.
- Confirm invitation expiry and single use.
Open the full UAT checklist