GradeWise GradeWise
Security & Privacy

Your Data Is Safe
with GradeWise

Built by a teacher who handles student data every day. Here's exactly how GradeWise protects you, your students, and your school.

The Simple Version

What You Need to Know

Technical Details
Password Encryption
Bcrypt hashing with per-password salting

All passwords are hashed using bcrypt via PHP's password_hash() function with the default cost factor. Bcrypt is a one-way cryptographic hashing algorithm — passwords cannot be reversed or decrypted, only verified against the stored hash.

Each password is automatically salted with a unique, cryptographically random value before hashing. This means two identical passwords produce completely different hash outputs, defeating rainbow table and precomputation attacks. Bcrypt's adaptive cost factor also makes brute-force attacks computationally prohibitive.

Implementation: password_hash($password, PASSWORD_DEFAULT) generates a 60-character hash stored in the database. Verification uses password_verify(), which is timing-safe against side-channel attacks. Security question answers are hashed with the same method.
Transport Layer Security
HTTPS via Cloudflare Universal SSL

All traffic between the user's browser and GradeWise is encrypted using TLS (Transport Layer Security) via Cloudflare's Universal SSL certificate. This prevents man-in-the-middle attacks, packet sniffing, and session hijacking on any network, including public Wi-Fi.

Cloudflare enforces "Always Use HTTPS" and Automatic HTTPS Rewrites, meaning all HTTP requests are automatically redirected to HTTPS. There is no unencrypted entry point to the site.

Certificate Authority: Google Trust Services, provisioned automatically through Cloudflare. Covers gradewise.school and *.gradewise.school. Certificate renews automatically.
Cloudflare Network Security
DDoS protection, WAF, bot management, and Page Shield

GradeWise sits behind Cloudflare's global network, which acts as a reverse proxy and security layer. All traffic is screened before it ever reaches the origin server, providing protection against volumetric DDoS attacks, credential stuffing, and automated abuse.

Active protections include Bot Fight Mode (blocks known malicious bots), Page Shield (monitors for malicious scripts and connections), the Web Application Firewall (filters common attack patterns like SQL injection and XSS), and rate limiting on sensitive endpoints.

Google OAuth 2.0 Authentication
Minimal-scope, token-based sign-in

GradeWise uses Google OAuth 2.0 for sign-in, requesting only the minimum required scopes: userinfo.email and userinfo.profile. We never see, handle, or store the user's Google password. Authentication is handled entirely by Google's servers.

OAuth state parameters are generated with random_bytes(32) to prevent CSRF attacks during the authentication flow. Sessions are regenerated after login using session_regenerate_id(true) to prevent session fixation attacks.

Data received from Google: First name, last name, email address, and a unique Google ID. No access is requested to Google Drive, Gmail, Contacts, Calendar, or any other Google service.
Server & Database Architecture
AWS EC2 + RDS with network isolation

GradeWise runs on Amazon Web Services (AWS). The web application server (EC2) and the database (RDS MySQL) are separate, isolated resources. The database is not publicly accessible — it accepts connections only from the application server within the same Virtual Private Cloud (VPC).

All sensitive configuration — database credentials, API keys, encryption secrets — are stored in files outside the public web root (/var/www/config/), protected by filesystem permissions and .htaccess rules. Direct HTTP access to these files is impossible. Directory browsing is disabled server-wide.

Application security measures: All database queries use PDO prepared statements (preventing SQL injection). Input validation and output escaping are applied throughout. Role-based access control strictly separates student, teacher, and admin permissions at the application level.
No Third-Party Scripts or Trackers
Zero advertising, analytics, or external data collection

GradeWise includes no third-party analytics (no Google Analytics, no Meta Pixel, no Hotjar), no advertising scripts, and no embedded third-party widgets that could track users or introduce supply-chain vulnerabilities.

The entire codebase is written and maintained by the developer. External dependencies are limited to Google Fonts (typography only, no tracking), Cloudflare (security infrastructure), and the Anthropic API (for AI features — which receives only academic content, never personal identifiers like student names or emails).

Why this matters: Many ed-tech platforms embed dozens of third-party scripts, each representing a potential data leak or attack surface. GradeWise eliminates this risk entirely. Cloudflare's Page Shield actively monitors for any unauthorized script execution.

Our Data Promise

GradeWise is built by a working teacher who handles student data in the classroom every day. This platform exists to help teachers teach and students learn — nothing else.

  • We will never sell or share user data with any third party
  • We will never use student data for advertising or marketing
  • We will never collect more data than what's needed for the platform
  • We comply with FERPA and applicable international data privacy regulations
  • School data is logically separated — one school's data is never visible to another

Questions about security or privacy? Contact us at info@gradewise.school.
For full legal details, see our Privacy Policy and Terms of Service.