MedSIS App implements comprehensive security measures to protect student data in compliance with the Data Privacy Act of 2012 (Republic Act No. 10173). This document outlines our security architecture, authentication mechanisms, and data protection strategies.
MedSIS-App/
βββ app/auth/ # Authentication Layer
β βββ login.tsx # Primary authentication with student ID
β βββ otp-verification.tsx # Two-factor authentication (2FA)
β βββ policy-acceptance.tsx # Data Privacy Act compliance
βββ contexts/
β βββ AuthContext.tsx # Secure session management
βββ constants/
βββ Config.ts # Centralized API configuration
app/auth/login.tsx - Primary Authentication
- Student ID validation
- Password encryption before transmission
- Rate limiting on failed attempts
- Secure credential storage
app/auth/otp-verification.tsx - Enhanced Two-Factor Authentication
- Time-based OTP (6-digit code)
- OTP expiration (5 minutes)
- Password strength requirements:
- Minimum 8 characters
- At least 1 uppercase letter
- At least 1 number
- At least 1 special character
- Automatic OTP invalidation after use
app/auth/policy-acceptance.tsx - Comprehensive Privacy Policy
- Data Privacy Act of 2012 compliance
- Explicit user consent for data processing
- Terms and conditions acceptance
- Digital signature timestamp
contexts/AuthContext.tsx - Secure Session Management
- Encrypted token storage
- Automatic session timeout
- Secure logout with token invalidation
- Live data fetching with authentication headers
MedSIS-App/
βββ services/
β βββ messageService.ts # Encrypted messaging
β βββ notificationService.ts # Secure push notifications
βββ components/
β βββ Avatar.tsx # Secure image handling
βββ app/(tabs)/
βββ profile.tsx # Protected user data
βββ folder.tsx # Encrypted document storage
Personal Information
- Student ID (encrypted at rest)
- Full name
- Email address
- Contact number
- Profile pictures (with fallback to SWU head)
Academic Records
- Grades and evaluations
- Digital signatures (e-signatures)
- Academic documents
- Learning materials
- Requirement submissions
Sensitive Information
- Medical records (if applicable)
- Financial information
- Emergency contacts
- Health declarations
Data in Transit
- HTTPS/TLS 1.3 for all API communications
- Certificate pinning for API endpoints
- Encrypted WebSocket connections for real-time messaging
Data at Rest
- AES-256 encryption for stored credentials
- Secure storage using Expo SecureStore
- Encrypted local database for offline data
1. Login Screen (app/auth/login.tsx)
β
- Student ID validation
- Password encryption
- Initial authentication request
β
2. OTP Verification (app/auth/otp-verification.tsx)
β
- 6-digit OTP sent to registered email
- Time-limited verification (5 minutes)
- Password strength validation
- OTP invalidation after use
β
3. Policy Acceptance (app/auth/policy-acceptance.tsx)
β
- Data Privacy Act compliance
- Terms acceptance with timestamp
- Digital consent recording
β
4. Secure Session (contexts/AuthContext.tsx)
β
- Encrypted token generation
- Session management
- Automatic timeout (30 minutes inactivity)
- Secure avatar upload with validation
- Personal information encryption
- Change password functionality with strength requirements
- Session verification for sensitive operations
- File type validation (PDF, images only)
- Maximum file size limits (10MB)
- Virus scanning before upload
- Encrypted storage with access logs
- End-to-end encryption for messages
- Secure media sharing
- Message expiration options
- Real-time encryption/decryption
- Digital signature verification
- Tamper-proof evaluation records
- Audit trail for all changes
- Read-only access for students
- No storage of sensitive conversations
- Anonymized query processing
- Rate limiting to prevent abuse
- Content filtering for inappropriate requests
tests/
βββ auth/ # Authentication security tests
β βββ login.test.ts # Login validation tests
β βββ otp-verification.test.ts # OTP security tests
β βββ policy-acceptance.test.ts # Compliance tests
βββ services/ # Service layer security
β βββ messageService.test.ts # Encrypted messaging tests
β βββ notificationService.test.ts # Secure notification tests
βββ utils/ # Security utility tests
βββ encryption.test.ts # Encryption algorithm tests
Security Test Categories
- β Authentication bypass prevention
- β SQL injection protection
- β XSS attack prevention
- β CSRF token validation
- β Session hijacking prevention
- β Brute force attack mitigation
- β Data encryption verification
- β API security testing
If you discover a security vulnerability in MedSIS App, please report it responsibly:
Contact Information
- Email: security@eduisync.io
- Subject: [SECURITY] MedSIS App Vulnerability Report
What to Include
- Detailed description of the vulnerability
- Steps to reproduce the issue
- Potential impact assessment
- Suggested fix (if available)
Response Timeline
- Initial response: Within 24 hours
- Vulnerability assessment: Within 72 hours
- Fix deployment: Within 7 days (critical issues)
- Public disclosure: After fix deployment
We appreciate security researchers who help us maintain the security of MedSIS App. Eligible vulnerabilities may qualify for recognition and rewards.
Compliance Measures
- β Explicit user consent for data collection
- β Right to access personal information
- β Right to rectify inaccurate data
- β Right to erasure (right to be forgotten)
- β Data portability options
- β Transparent privacy policy
- β Secure data processing procedures
- β Incident response plan
Implementation Files
app/auth/policy-acceptance.tsx- Privacy policy acceptanceapp/(tabs)/profile.tsx- Data access and modificationapp/screens/change-password.tsx- Security controls
ISO 27001 Alignment
- Information security management
- Risk assessment procedures
- Access control policies
- Cryptographic controls
OWASP Mobile Top 10
- β M1: Improper Platform Usage - Prevented
- β M2: Insecure Data Storage - Encrypted storage
- β M3: Insecure Communication - HTTPS/TLS
- β M4: Insecure Authentication - Multi-factor auth
- β M5: Insufficient Cryptography - AES-256
- β M6: Insecure Authorization - Role-based access
- β M7: Client Code Quality - TypeScript + tests
- β M8: Code Tampering - Code obfuscation
- β M9: Reverse Engineering - ProGuard enabled
- β M10: Extraneous Functionality - Production builds
// constants/Config.ts - Centralized security configuration
export const API_BASE_URL = process.env.EXPO_PUBLIC_API_URL;
export const API_TIMEOUT = 10000; // 10 seconds
export const SESSION_TIMEOUT = 1800000; // 30 minutes
export const OTP_EXPIRY = 300000; // 5 minutes
export const MAX_LOGIN_ATTEMPTS = 5;
export const PASSWORD_MIN_LENGTH = 8;// API Request Headers
{
'Content-Type': 'application/json',
'Authorization': `Bearer ${encryptedToken}`,
'X-App-Version': '1.0.0',
'X-Device-ID': deviceId,
'X-Request-ID': requestId
}- β Enhanced OTP verification with password requirements
- β Comprehensive privacy policy acceptance
- β Secure session management with live data fetching
- β Encrypted document storage
- β Real-time messaging encryption
- β Digital signature verification for evaluations
- β Secure avatar handling with fallback system
- β Philippine timezone integration for audit logs
- β Centralized API configuration management
- β Cross-platform security (iOS/Android)
- π Biometric authentication (fingerprint/face ID)
- π Advanced threat detection
- π Blockchain-based document verification
- π Enhanced audit logging
- π Security incident dashboard
MedSIS Security Team
- Website: https://msis.eduisync.io
- Email: security@eduisync.io
- Emergency Hotline: Available 24/7
Data Protection Officer
- Email: dpo@eduisync.io
- Office Hours: Monday-Friday, 8:00 AM - 5:00 PM (PHT)
Last Updated: December 5, 2025
Version: 1.0.0
Compliance: Data Privacy Act of 2012 (RA 10173)