Back to Dashboard
Security

Security Policy

GovCheck PH is an open-source civic tech project. This page describes our security practices and how to report vulnerabilities responsibly.

Last updated: May 2025

Responsible disclosure

If you discover a security vulnerability in GovCheck PH, please report it responsibly before disclosing it publicly. We take all reports seriously and will respond as quickly as possible.

To report a vulnerability, please open a GitHub issue with the label security or email the maintainer directly if the issue is sensitive. Please include:

  • A clear description of the vulnerability
  • Steps to reproduce
  • Potential impact
  • Any suggested remediation, if you have one

We ask that you do not publicly disclose the issue until we have had a reasonable time to address it — typically 30 days.

What we protect

  • Supabase service key — used only in server-side code and GitHub Actions; never exposed to the client or public
  • Ingest secret — a shared secret required to POST monitoring results; prevents unauthorized data injection
  • Row-level security (RLS) — all Supabase tables enforce RLS policies; public users can read but not write to monitoring data
  • Anonymous fingerprints — derived from a one-way SHA-256 hash; cannot be reversed to recover IP or browser identity

What we do not store

  • Passwords — authentication is handled entirely by Supabase (Google OAuth and anonymous sessions)
  • Payment information — GovCheck PH is free and collects no payments
  • Raw IP addresses or User-Agent strings — only the derived fingerprint is stored
  • Government website content — monitoring uses HEAD requests and does not download page content

Infrastructure

  • Hosting — Vercel (serverless, HTTPS-only)
  • Database — Supabase (PostgreSQL with RLS, no direct DB access from client)
  • Auth — Supabase Auth (Google OAuth 2.0 and anonymous sessions)
  • Monitoring jobs — GitHub Actions (isolated per-run environments, secrets not logged)
  • Source code — publicly auditable on GitHub under MIT license

Scope

The following are in scope for vulnerability reports:

  • The GovCheck PH web application (govcheck-ph.vercel.app)
  • The monitoring ingest API (/api/monitor/ingest)
  • Authentication flows (Google OAuth, anonymous sign-in)
  • Report submission and data validation

The following are out of scope:

  • Vulnerabilities in the Philippine government websites being monitored — please report those directly to the relevant agencies
  • Supabase or Vercel platform-level issues — report those to Supabase or Vercel directly
  • Denial-of-service attacks

Open source

GovCheck PH is fully open source. You can review the complete source code, including all server-side validation logic, RLS policies, and API handlers, on GitHub. Security through obscurity is not part of our model — we rely on correct implementation, RLS, and server-side secrets.