Skip to main content

Data Security

Junipa runs entirely on Google Cloud Platform in the Sydney region (australia-southeast1). All data remains within Australia.

Infrastructure

ComponentPlatformSecurity
DatabaseFirestoreAES-256 encryption at rest, per-tenant project isolation
File storageCloud StorageAES-256 encryption at rest, signed URLs for access
AuthenticationFirebase AuthSSO, MFA, session management
FrontendCloud RunAuto-scaling, HTTPS-only
Backend APIApp EnginePer-tenant GCP projects
EdgeCloudflareWAF, DDoS protection, CSP headers

Encryption

  • At rest: AES-256 (Google-managed encryption keys). All data in Firestore and Cloud Storage is encrypted automatically.
  • In transit: TLS 1.3. All connections between browsers and Junipa, and between Junipa components, are encrypted.

Authentication

Junipa uses Firebase Authentication with multiple sign-in options:

  • Single Sign-On (SSO): Microsoft Entra ID (Azure AD), Google Workspace, and SAML 2.0 providers
  • Multi-factor authentication (MFA): Available for all accounts
  • Session management: Configurable session timeouts

Schools control which authentication methods are available to their staff.

Access Control

Junipa enforces role-based access control (RBAC) at both the application and database layers:

RoleAccess
TeacherOwn students and assigned groups
AdministratorAll students within their campus
AuditorRead-only access across campus
Case WorkerAssigned student case notes

Firestore Security Rules enforce these boundaries at the database level, independent of the application.

Tenant Isolation

Each school operates in its own GCP project. This provides:

  • Separate Firestore database per school
  • Separate Firebase Authentication per school
  • Separate Cloud Functions per school
  • No shared data between schools at the infrastructure level

Multi-campus organisations use a separate org portal that connects to school instances via a secure handshake protocol.

Network Security

  • Cloudflare WAF: Web Application Firewall in front of all traffic
  • Content Security Policy (CSP): Restricts which external resources browsers can load
  • HTTPS-only: HTTP requests are redirected to HTTPS
  • API security: HMAC-SHA256 authentication, rate limiting, and audit logging on inter-service API calls

Backups

  • Automated daily backups of all Firestore data
  • 30-day backup retention
  • Point-in-time recovery available
  • Backups stored within the same GCP region (australia-southeast1)

Monitoring

  • GCP Cloud Monitoring for uptime, error rates, and resource usage
  • Cloudflare analytics for traffic patterns and threat detection
  • Firebase Authentication anomaly detection
  • Firestore audit logs for data access tracking