Appearance
Security
IrysGit takes security seriously. This guide covers the security measures built into IrysGit and best practices for secure usage.
Private Key Security
Encryption
Your Solana private key is encrypted using AES-256-GCM encryption before being stored locally. The encryption key is derived from your password using PBKDF2 with a random salt.
Local Storage
- Private keys are stored in
~/.igit/directory - Files are readable only by your user account
- Keys never leave your machine during normal operation
Best Practices
- Use a strong password for encrypting your private key
- Never share your password or private key
- Consider using a dedicated wallet for IrysGit operations
- Regularly backup your
~/.igit/directory
Upload Security
Cost Limits
IrysGit implements several cost protection measures:
bash
# Default cost limit is 1 SOL
# You'll be prompted for confirmation if upload exceeds this limitFile Restrictions
Certain file types are blocked for security:
.exe- Executable files.bat- Batch files.cmd- Command files.scr- Screen saver files.com- Command files.pif- Program information files.jar- Java archive files
Size Limits
- Maximum file count per upload: 10,000 files
- Maximum individual file size: 100MB
- Maximum total upload size: 1GB
Rate Limiting
IrysGit implements rate limiting to prevent abuse:
- Default: 10 requests per minute per wallet address
- Push operations: 5 requests per minute
- Clone operations: 20 requests per minute
Network Security
Transaction Signing
All uploads are signed with your private key, ensuring authenticity and preventing tampering.
Verification
Anyone can verify the authenticity of uploads by checking the signature against your public key.
Permission Security
Access Control
- Only repository owners can add/remove contributors
- Contributors can only push to repositories they have permission for
- Permission changes are recorded on-chain for transparency
Audit Trail
All permission changes are stored on Irys with timestamps and transaction IDs, providing a complete audit trail.
Best Practices
For Individual Users
- Dedicated Wallet: Use a separate Solana wallet for IrysGit operations
- Strong Password: Use a strong, unique password for key encryption
- Regular Backups: Backup your
~/.igit/directory regularly - Monitor Costs: Check upload costs before large operations
- Review Files: Ensure you're not uploading sensitive data
For Teams
- Contributor Management: Regularly review and update contributor lists
- Permission Auditing: Monitor who has access to your repositories
- Separate Repositories: Use different repositories for different projects
- Access Reviews: Periodically review contributor permissions
For Organizations
- Wallet Management: Implement proper wallet key management
- Cost Monitoring: Set up monitoring for upload costs
- Access Policies: Define clear policies for repository access
- Incident Response: Have procedures for compromised wallets
Common Security Scenarios
Compromised Wallet
If your wallet is compromised:
- Immediate Action: Stop using the wallet for IrysGit
- Create New Wallet: Generate a new Solana wallet
- Re-authenticate: Run
igit loginwith the new wallet - Update Repositories: Transfer ownership of repositories
- Revoke Permissions: Remove the old wallet from contributor lists
Lost Password
If you forget your encryption password:
- No Recovery: There's no way to recover the password
- Re-authenticate: You'll need to run
igit loginagain - New Setup: This will overwrite your existing configuration
Unauthorized Access
If someone gains access to your repositories:
- Remove Contributors: Use
igit remove-contributorto revoke access - Check Permissions: Review all contributor permissions
- Monitor Activity: Watch for unexpected changes
- Consider Migration: Create new repositories if needed
Security Monitoring
Log Files
IrysGit maintains logs of operations:
- Location:
~/.igit/logs/ - Contents: Commands executed, timestamps, transaction IDs
- Retention: 30 days by default
Transaction Monitoring
Monitor your Solana wallet for:
- Unexpected transactions
- Large upload costs
- Frequent operations
Reporting Security Issues
If you discover a security vulnerability:
- Don't Disclose Publicly: Report privately first
- Contact: Email security@irysgit.com
- Provide Details: Include reproduction steps
- Wait for Response: Allow time for investigation
Security Updates
Stay informed about security updates:
- Subscribe to release notifications
- Update IrysGit regularly
- Follow security advisories
