Skip to content

Security: intersend/interspace-ios

Security

SECURITY.md

Security Policy

πŸ›‘οΈ Our Commitment to Security

Security is at the core of Interspace. We take the protection of user data and privacy extremely seriously. This document outlines our security practices and how to report vulnerabilities.

πŸ“‹ Supported Versions

We provide security updates for the following versions:

Version Supported
1.x.x βœ…
< 1.0 ❌

πŸ”’ Security Features

Implemented Security Measures

  • End-to-End Encryption: Sensitive data encrypted using AES-256-GCM
  • Secure Key Storage: iOS Keychain for credential storage
  • Certificate Pinning: SSL/TLS certificate validation
  • Biometric Authentication: Face ID/Touch ID support
  • Secure Communication: All API calls over HTTPS
  • Input Validation: Comprehensive input sanitization
  • Memory Protection: Sensitive data cleared from memory after use
  • Jailbreak Detection: Runtime integrity checks
  • Code Obfuscation: Critical security logic protected

Privacy by Design

  • Minimal data collection
  • Local-first architecture
  • No tracking or analytics without consent
  • Clear data retention policies
  • User-controlled data export/deletion

🚨 Reporting a Vulnerability

Please do not report security vulnerabilities through public GitHub issues.

Responsible Disclosure Process

  1. Email us at security@interspace.app with:

    • Type of vulnerability
    • Affected components
    • Steps to reproduce
    • Potential impact
    • Suggested mitigation (if any)
  2. Encrypt sensitive details using our PGP key:

    -----BEGIN PGP PUBLIC KEY BLOCK-----
    [PGP Key will be provided here]
    -----END PGP PUBLIC KEY BLOCK-----
    
  3. What to expect:

    • Acknowledgment within 48 hours
    • Regular updates on progress
    • Credit in security advisories (if desired)
    • Potential bug bounty reward

What We Need From You

  • Detailed description of the vulnerability
  • Proof of concept code (if applicable)
  • Impact assessment
  • Your contact information
  • Preferred disclosure timeline

What You Can Expect From Us

  • Quick response: Within 48 hours
  • Open communication: Regular status updates
  • Fair assessment: Thorough investigation
  • Timely fixes: Based on severity
  • Recognition: Credit for responsible disclosure

🎯 Vulnerability Severity Levels

We use CVSS v3.1 for scoring:

Critical (9.0-10.0)

  • Remote code execution
  • Authentication bypass
  • Crypto wallet compromise
  • Mass data exposure

Response time: 24-48 hours

High (7.0-8.9)

  • Privilege escalation
  • Significant data leakage
  • Authentication weaknesses

Response time: 3-5 days

Medium (4.0-6.9)

  • Limited data exposure
  • Denial of service
  • Session vulnerabilities

Response time: 7-14 days

Low (0.1-3.9)

  • Minor information disclosure
  • UI security issues

Response time: 30 days

πŸ† Bug Bounty Program

We offer rewards for responsibly disclosed vulnerabilities:

Severity Reward Range
Critical $1,000 - $5,000
High $500 - $1,000
Medium $100 - $500
Low $50 - $100

Rewards depend on impact and quality of report

Eligibility

  • First reporter of unique vulnerability
  • Clear, reproducible report
  • Responsible disclosure followed
  • No public disclosure before fix

Out of Scope

  • Social engineering
  • Physical attacks
  • Denial of service
  • Spam or social media attacks
  • Vulnerabilities in third-party services

πŸ› οΈ Security Best Practices for Contributors

Code Review Requirements

  • Security-focused code review for all PRs
  • Automated security scanning
  • Dependency vulnerability checks
  • Static code analysis

Development Guidelines

  1. Never commit secrets

    • Use environment variables
    • Add to .gitignore
    • Rotate if exposed
  2. Validate all inputs

    // Good
    guard let email = emailField.text?.trimmingCharacters(in: .whitespacesAndNewlines),
          isValidEmail(email) else {
        throw ValidationError.invalidEmail
    }
    
    // Bad
    let email = emailField.text!
  3. Use secure APIs

    • Prefer modern cryptographic APIs
    • Avoid deprecated security functions
    • Use iOS security frameworks
  4. Handle sensitive data carefully

    // Clear sensitive data
    defer {
        password.removeAll()
        privateKey.removeAll()
    }

Security Checklist for PRs

  • No hardcoded secrets
  • Input validation implemented
  • Secure communication used
  • Error messages don't leak info
  • Authentication checks in place
  • Authorization properly implemented
  • Sensitive data encrypted
  • Security tests added

πŸ“Š Security Audits

We conduct regular security assessments:

  • Quarterly: Dependency scanning
  • Bi-annually: Penetration testing
  • Annually: Full security audit
  • Continuous: Automated scanning

Audit reports available upon request for partners.

πŸ” Security Headers

Our API implements these security headers:

Strict-Transport-Security: max-age=31536000; includeSubDomains
X-Content-Type-Options: nosniff
X-Frame-Options: DENY
X-XSS-Protection: 1; mode=block
Content-Security-Policy: default-src 'self'

πŸ“± iOS-Specific Security

App Transport Security

<key>NSAppTransportSecurity</key>
<dict>
    <key>NSAllowsArbitraryLoads</key>
    <false/>
</dict>

Keychain Access

// Secure storage example
let keychain = KeychainManager()
try keychain.store(password, for: "user_password")

Biometric Authentication

// Biometric protection
let context = LAContext()
context.evaluatePolicy(.deviceOwnerAuthenticationWithBiometrics,
                      localizedReason: "Authenticate to access your wallet")

πŸ“ž Contact

Security Team: security@interspace.app PGP Fingerprint: [Will be provided] Response Time: 24-48 hours

For general support: support@interspace.app

πŸ™ Acknowledgments

We thank the following researchers for responsibly disclosing vulnerabilities:

  • [Security Hall of Fame will be maintained here]

Last updated: [Current Date] Policy version: 1.0

There aren't any published security advisories