In a decentralized system, robust security isn’t a feature—it’s the foundation. GenosDB’s Security Manager is built on a “zero-trust with a single welcome exception” principle. Every action must be cryptographically signed and explicitly authorized.
Core Principle: Signed and Authorized
Before any operation is even considered, it must pass rigorous cryptographic checks:
If these checks fail, the operation is immediately discarded. Only cryptographically verified operations proceed to the permission layer.
The Bootstrap Problem
Challenge: How can a new user join the network if they need permission to announce their existence? Solution: A single, highly-specific “welcome exception”Scenario 1: The Brand-New User (Guest)
A user whose Ethereum address has never been seen before (nouser:[eth_address] node exists).
The ONE Thing They CAN Do
New users are granted a single welcome exception:Bootstrap Permission
A new user can perform ONE
write operation to create their own user profile node.- ✅ Action MUST be
write(no other operation type allowed) - ✅ Target MUST be their own node (
id === "user:[their_eth_address]") - ✅ User MUST NOT already exist (one-time-only ticket)
Everything They CANNOT Do
❌ Cannot choose their role
❌ Cannot choose their role
❌ Cannot write to any other node
❌ Cannot write to any other node
❌ Cannot delete anything
❌ Cannot delete anything
'delete' action not permitted for guest role❌ Cannot link nodes
❌ Cannot link nodes
'link' action not permitted for guest roleScenario 2: Existing User with Guest Role
User has already created theiruser:[address] node with role: "guest".
What They CAN Do
Read
Can read public graph data
Sync
Can participate in P2P synchronization to receive updates (including future role promotions)
Everything They CANNOT Do
- ❌ Cannot write anymore — Bootstrap condition is now false; write access closed until promotion
- ❌ Cannot delete, link, or assign roles — Confined to minimal guest permissions
Scenario 3: Promoted User (user, manager, admin)
User has been granted a higher role by a SuperAdmin.What They CAN Do
Exactly what their role (and inherited roles) allows:| Role | Permissions |
|---|---|
user | read, write, link, sync |
manager | read, write, link, sync, publish |
admin | read, write, link, sync, publish, delete |
Everything They CANNOT Do
- ❌ Perform actions of a higher role — An
admincannotassignRole(superadmin-only) - ❌ Forge another user’s signature — Can only act with their own identity
Scenario 4: The SuperAdmin
User whose Ethereum address is hard-coded in the configuration.What They CAN Do
Unlimited Authority
SuperAdmins have permission for all defined actions, including the critical
assignRole permission that builds the permission hierarchy.Everything They CANNOT Do
- ❌ Forge another user’s signature — Power resides in their own cryptographic identity; cannot act as others
Permission Summary Table
| Action / Role | New Guest (First Write) | Existing Guest | User | Admin | SuperAdmin |
|---|---|---|---|---|---|
| Create Own User Node | ✳️ Yes (One time) | ❌ No | (Exists) | (Exists) | (Exists) |
| Write/Modify Data | ❌ No (except above) | ❌ No | ✅ Yes | ✅ Yes | ✅ Yes |
| Sync/Read Data | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
| Link Nodes | ❌ No | ❌ No | ✅ Yes | ✅ Yes | ✅ Yes |
| Delete Nodes | ❌ No | ❌ No | ❌ No | ✅ Yes | ✅ Yes |
| Assign Roles | ❌ No | ❌ No | ❌ No | ❌ No | ✅ Yes |
Trust Flow Example
New User Joins Network
Security Guarantees
No Self-Promotion
Users cannot grant themselves elevated privileges. Only superadmins can assign roles.
Cryptographic Proof
Every operation requires a valid ECDSA signature. Forgery is computationally infeasible.
Independent Verification
Each peer verifies all operations independently. Compromising one peer doesn’t compromise the network.
Eventual Consistency
Role updates propagate through the network using the same sync mechanism as data.
Handling Malicious Behavior
Attack: Eve tries to promote herself
Unauthorized operations are silently filtered out. They never enter the local state, preventing malicious data propagation.
Attack: Eve modifies local client code
Distributed Defense
Authority is granted through verifiable means, not claimed locally. Modifying local code doesn’t grant network-wide permissions.
Best Practices for Secure Applications
-
Initialize SuperAdmins Carefully
-
Use Role Hierarchy Thoughtfully
-
Validate on Client AND Rely on Network
-
Monitor Permission Denials
Related Pages
RBAC
Detailed RBAC implementation
Distributed Trust
How trust works without a central authority
WebAuthn
Biometric authentication details