The cornerstone of Stork SMS security is our innovative NFT-based access control system. Only holders of conversation NFTs can access and view the associated messages.
How NFT Access Works
The Dual NFT System
When a conversation begins, two NFTs are created:- Sender NFT: Owned by the conversation initiator
- Recipient NFT: Owned by the message recipient
Access Verification Flow
-
User Requests Chat Access
-
Server Checks NFT Ownership
-
Blockchain Verification
-
Access Granted
Security Properties
Immutable Permissions
- Blockchain-Based: Access rules stored on Solana
- No Admin Override: Even Stork team can’t bypass
- Transparent: Anyone can verify ownership
- Permanent: Access rights persist forever
Unforgeable Access
- Cryptographic Proof: NFT ownership is mathematically proven
- No Backdoors: System has no alternative access methods
- Decentralized: No single point of failure
- Trustless: Don’t need to trust Stork SMS
Transfer Capabilities
- Sellable: NFTs can be sold on marketplaces
- Transferable: Send chat access to another wallet
- Inheritable: Pass conversations to heirs
- Recoverable: With wallet recovery methods
Technical Implementation
NFT Structure
Ownership Verification
Database Integration
- Row Level Security: Postgres RLS policies
- NFT Verification: Custom SQL functions
- Cached Results: Performance optimization
- Real-time Updates: Ownership change detection
Access Control Scenarios
Starting a Chat
- Alice sends message to Bob
- Two NFTs are minted simultaneously
- Alice receives sender NFT
- Bob receives recipient NFT
- Both can now access the chat
Accessing Messages
- User connects wallet
- Requests chat messages
- Server verifies NFT ownership
- Encrypted messages returned
- Client decrypts locally
Transferring Access
- Alice sends her NFT to Carol
- Carol now has chat access
- Alice loses chat access
- Bob unaffected (still has access)
Lost Wallet Recovery
- If wallet is recovered → Access restored
- If wallet is lost → Access permanently lost
- No customer support override possible
- Emphasizes wallet security importance
Security Benefits
vs Traditional Systems
| Traditional | Stork SMS |
|---|---|
| Username/Password | NFT Ownership |
| Centralized Database | Blockchain Verification |
| Admin Can Access | No Admin Access |
| Account Recovery | Wallet Recovery Only |
| Server Compromise = Data Leak | Server Compromise = No Access |
Attack Resistance
Server Compromise
- Attacker gets: Encrypted messages only
- Attacker can’t: Decrypt without NFTs
- User impact: None (messages stay secure)
Database Leak
- Leaked data: Encrypted blobs
- Useful info: None without NFTs
- Recovery: Not needed (no compromise)
Phishing Attacks
- Can’t phish: NFT ownership
- Can’t fake: Blockchain verification
- Protection: Automatic
Best Practices
For Users
- Secure Your Wallet: NFT = Chat Access
- Backup Recovery Phrase: Only way to recover
- Verify Recipients: NFTs are permanent
- Consider Hardware Wallets: Maximum security
For Developers
- Always Verify On-Chain: Don’t trust client claims
- Cache Carefully: Ownership can change
- Handle Edge Cases: Transferred NFTs
- Monitor Gas Costs: Optimize verification
Advanced Features
Multi-Signature Chats (Coming Soon)
- Require multiple NFTs for access
- Group chat functionality
- Organizational use cases
- Enhanced security options
Time-Locked Access (Planned)
- NFTs with expiration dates
- Temporary conversations
- Scheduled access rights
- Compliance features
Delegated Access (Future)
- Grant temporary access
- Without transferring NFT
- Revocable permissions
- Audit trail
