MicroGive← Back to home

Information Security Policy

Effective Date: April 29, 2026  ·  Policy Owner: Christian Esqueda, Founder & CEO

1. Purpose and Scope

This policy establishes the minimum security practices MicroGive follows to protect consumer financial data, third-party API credentials (including Plaid access tokens), and production infrastructure. It applies to all systems, personnel, and contractors with access to production assets.

2. Access Control

Principle of least privilege — access to production systems is granted only to personnel who require it to perform their role, and is revoked immediately upon role change or departure.

Production infrastructure access:

  • The Railway platform (API + database) and Vercel platform (frontend) are accessible only via authenticated accounts protected by multi-factor authentication (MFA).
  • Database credentials are stored exclusively as environment variables on the Railway platform. No credentials are stored in source code or version control.
  • Production database access is not permitted from developer machines outside of the Railway platform dashboard.

Application-level access:

  • Users are assigned one of three roles: DONOR, ORG_ADMIN, or SUPER_ADMIN. Role permissions are enforced server-side on every API request via JWT middleware.
  • SUPER_ADMIN actions (e.g., user management, batch processing controls) are restricted to internal staff only and protected by invite-only account creation.

Credential management:

  • All secrets (JWT signing key, encryption key, Plaid API credentials, Stripe keys) are stored as platform-level environment variables, never in source code.
  • Encryption keys are rotated if exposure is suspected.

3. Data Handling and Encryption

In transit: All data transmitted between clients and servers uses HTTPS enforced by Railway (API) and Vercel (frontend), both of which provision TLS 1.2+ certificates automatically. No unencrypted HTTP is exposed in production.

At rest: Plaid access tokens received from the Plaid API are encrypted before storage using AES-256-GCM (256-bit key, 96-bit random IV, 128-bit authentication tag) in accordance with NIST SP 800-38D. The encryption key is a 256-bit key stored as an environment variable on the Railway platform.

Data minimization: MicroGive stores only the consumer data necessary to provide the service — specifically, Plaid access tokens (encrypted), donation allocation preferences, and transaction metadata. Raw bank account numbers and full transaction histories are not stored.

Retention and deletion: Consumer data is retained for the duration of the account relationship plus 90 days following account closure, after which it is deleted from production and backup systems. Users may request data deletion at any time by contacting security@microgive.co. Requests are fulfilled within 30 days in compliance with applicable privacy laws (CCPA).

4. Incident Response

Detection: Errors and anomalous behavior are monitored via Sentry (production error tracking). Infrastructure-level alerts are managed through Railway and Vercel platform notifications.

Response procedure:

StepActionTimeframe
1Identify and confirm the incident scopeWithin 2 hours of detection
2Contain — revoke affected credentials, isolate impacted systemsWithin 4 hours
3Notify Plaid and affected third-party partnersWithin 24 hours
4Notify affected consumers if financial data was exposedWithin 72 hours (CCPA requirement)
5Root-cause analysis and remediationWithin 7 days
6Document incident and update controls as neededWithin 14 days

Contact for reporting a security incident: security@microgive.co

5. Vulnerability Management

Dependencies: npm audit is run as part of the CI/CD pipeline. High and critical severity vulnerabilities in third-party dependencies are patched within 14 days of disclosure.

Infrastructure: Production infrastructure is hosted on Railway and Vercel managed platforms, which handle OS-level patching and network-level vulnerability remediation.

Code review: All changes to production code are reviewed before deployment. No direct commits to the main branch without review.

6. Acceptable Use

Employees and contractors with access to production systems or consumer data must:

  • Access production systems only for legitimate business purposes.
  • Never share credentials, API keys, or access tokens via email, chat, or version control.
  • Never download or store consumer financial data on personal devices.
  • Report any suspected security incident or policy violation to security@microgive.co immediately.
  • Complete an annual review of this policy and attest to compliance.

Violation of this policy may result in immediate revocation of system access and termination of employment or contract.

7. Policy Review and Attestation

This policy is reviewed annually by the policy owner and updated to reflect changes in the threat landscape, regulatory requirements, or business operations. Material changes are communicated to all personnel with production access.

© 2026 MicroGive. · Privacy · Security · Terms