Whitelist
Privileged access system for beta users and temporary demos, without requiring a paid subscription.
General Description
The Whitelist functionality allows specific users to access Duster without needing to purchase a subscription. This functionality is designed exclusively for beta users and temporary demos, providing a controlled access mechanism during system development and testing.
Use Cases
1. Beta Users
- Users selected for early testing
- Complete access without subscription restrictions
- Single use per email
2. Temporary Demos
- Access for demonstrations and presentations
- Limited to one session per email
- Ideal for events and training sessions
3. Development and Testing
- Access for development team
- Testing of premium features
- User flow validation
Workflow
1. Onboarding and Verification
During the onboarding process, when a new organization is created, the subscriptions.whitelist.check event is triggered.
The event includes:
organizationID: ID of the newly created organizationemail: Email of the organization creator
2. Event Processing
The event is received by the WhitelistSubscriptionsService within the Subscriptions module:
The service executes the following logic:
A. Whitelist Verification:
- Searches for the email in the
whitelist_accesstable - Verifies that
access_enabledistrue
B. Subscription Creation (if applicable):
- Creates a subscription of type
whitelistfor the current organization - Assigns data from the corresponding
subscription_plan
C. Access Disabling:
- Sets
access_enabled = falsefor the used email in the table whitelist_access - Ensures each email can only create one organization in Duster.
Architecture
Database
Table whitelist_access
Fields:
id: Unique identifier of the recordemail: User's email in the whitelist (unique)access_enabled: Controls whether the email can access (defaults totrue)created_at: Record creation dateupdated_at: Last update date
Table subscription_plans
A new subscription plan type is added:
whitelist: Subscription type that will be automatically assigned to the new organization.
Whitelist Management
- Each email can be used to create only one organization. If an email is already used and not deleted, it cannot be used to create another organization.
- Emails must be manually added to and removed from the table.
Notes
- The whitelist subscription type includes a certain number of AI Credits. This number can be modified in the
subscriptions_planstable. - A whitelist subscription grants access to all Duster features, just like a paid subscription.
- During onboarding, at the payment step, the user may need to manually refresh the browser to skip this step.