Security
Implement robust security in your Appivo applications
Security Guide
Appivo provides comprehensive security features out-of-the-box. Learn how to configure access control and protect your application data.
Built-in Security Features
Every Appivo application automatically includes:
| Feature | Description |
|---|---|
| Encryption | Data encrypted in transit (TLS) and at rest |
| Tenant Isolation | Complete data separation between tenants |
| Audit Logging | Track all data changes |
| Backup | Regular automated backups |
| Version Control | Optimistic locking prevents conflicts |
| Session Management | Secure session handling |
Role-Based Access Control (RBAC)
Control who can access what in your application using roles.
System Roles
Appivo provides these built-in roles:
| Role | Description |
|---|---|
| ROLE_ALL | All authenticated users |
| ROLE_ANONYMOUS | Unauthenticated users |
| ROLE_ADMIN | Administrators |
| ROLE_DEVELOPER | Development access |
Creating Custom Roles
Define roles that match your business needs:
- Navigate to Security in the Application Builder
- Click Add Role
- Name and describe the role
- Assign permissions
Example: Department Manager Role
Role: Department Manager
Description: Manages employees in their department
Permissions:
Employee Model:
- Create: Yes
- Read: Yes (own department only)
- Update: Yes (own department only)
- Delete: No
TimeSheet Model:
- Create: No
- Read: Yes (own department)
- Update: Yes (approve only)
- Delete: No
Report Model:
- Create: No
- Read: Yes
- Update: No
- Delete: No
Permission Levels
For each model, you can grant:
| Permission | Description |
|---|---|
| Create | Can create new records |
| Read | Can view records |
| Update | Can modify records |
| Delete | Can remove records |
Assigning Roles
Roles can be assigned to:
- Individual users - Direct assignment
- Groups - All group members inherit role
- Dynamically - Based on user attributes
Access Control Lists (ACLs)
For fine-grained control over specific records, use ACLs.
When to Use ACLs
- Restrict access to individual records
- Override role permissions for specific cases
- Implement record-level security
Example: Confidential Documents
Model: Document
Record: Q4 Financial Report
ACL:
- Finance Team: Read, Update
- Executives: Read only
- All Others: No access
ACL Configuration
- Navigate to the record or model
- Open Access Control settings
- Add ACL entries for users, groups, or roles
- Set specific permissions
Data Security
Tenant Isolation
Appivo automatically isolates data between tenants:
- Each tenant has separate data storage
- Cross-tenant queries are impossible
- Tenant context is enforced at the database level
Data at Rest
All stored data is encrypted:
- Database encryption
- File storage encryption
- Backup encryption
Data in Transit
All communication uses TLS encryption:
- API calls
- User sessions
- File transfers
Field-Level Security
Control access to individual fields within models.
Sensitive Field Configuration
Mark fields as sensitive to:
- Hide from unauthorized users
- Mask in logs
- Exclude from exports
Example: Salary Field
Model: Employee
Field: salary
Security:
- Visible to: HR Team, Managers
- Hidden from: Other employees
- Masked in logs: Yes
Authentication
Built-in User Management
Appivo provides complete user management:
- User registration
- Password encryption
- Password reset
- Profile management
- API key generation
Password Policies
Configure password requirements:
| Setting | Description |
|---|---|
| Minimum Length | Required password length |
| Complexity | Required character types |
| Expiration | Force periodic changes |
| History | Prevent reuse of old passwords |
Two-Factor Authentication
Enable 2FA for additional security:
- Navigate to Security Settings
- Enable Two-Factor Authentication
- Configure methods (SMS, authenticator app)
- Set enforcement level (optional, required)
Session Management
Control user sessions:
| Setting | Description |
|---|---|
| Session Timeout | Idle timeout duration |
| Max Sessions | Concurrent session limit |
| Secure Cookies | HTTPS-only cookies |
Audit Logging
Track all important actions in your application.
What Gets Logged
- User login/logout
- Data creation, updates, deletions
- Permission changes
- Configuration changes
- API access
Viewing Audit Logs
- Navigate to Monitoring > Audit Logs
- Filter by date, user, action type
- Export for analysis
Example Audit Entry
Timestamp: 2024-01-15 14:32:18
User: john.smith@company.com
Action: UPDATE
Model: Customer
Record: CUS-12345
Changes:
- status: "Active" → "Inactive"
- updated_at: automatic
IP Address: 192.168.1.100
API Security
API Key Authentication
Generate API keys for external integrations:
- Navigate to Settings > API Keys
- Click Generate New Key
- Set permissions and expiration
- Securely store the key
API Key Best Practices
- Use separate keys for each integration
- Set minimum required permissions
- Rotate keys periodically
- Revoke unused keys
Rate Limiting
Protect against abuse:
| Setting | Description |
|---|---|
| Requests per minute | Maximum API calls |
| Burst limit | Short-term spike allowance |
| Per-user limits | Individual user caps |
Security Best Practices
Principle of Least Privilege
- Grant minimum required access
- Review permissions regularly
- Remove access when no longer needed
Regular Audits
- Review user permissions quarterly
- Check for inactive accounts
- Audit sensitive data access
Secure Development
- Validate all user input
- Use parameterized queries (handled by Appivo)
- Test security configurations
Incident Response
- Monitor for unusual activity
- Have a response plan
- Know how to revoke access quickly
Compliance
Appivo helps you meet compliance requirements:
Data Protection
- GDPR-ready data handling
- Data export capabilities
- Right to deletion support
Access Controls
- Role-based access for SOC 2
- Audit trails for compliance
- Separation of duties
Common Security Patterns
Approval Workflow
Implement approval for sensitive operations:
Model: PurchaseOrder
Field: status
When status changes to "Pending Approval":
- Notify approvers
- Lock record for editing
- Require manager approval
When approved:
- Log approval with approver info
- Proceed to processing
Data Classification
Classify data by sensitivity:
Classification Levels:
- Public: No restrictions
- Internal: Authenticated users only
- Confidential: Specific roles only
- Restricted: Named individuals only
Next Steps
- Authentication Guide - User management details
- API Integration - Secure external connections
- Data Modeling - Design secure data structures