HiringCoachAI

Data classification

Last reviewed 2026-05-18

Classification tiers

TierDefinitionExamples at HiringCoachAIHandling
PublicIntentionally disclosed; no harm from publicationMarketing site copy, blog posts, pricing page, published policies in this directoryMay be hosted on CDN; no encryption required beyond TLS
InternalNon-public but low-sensitivity business informationInternal roadmaps, commit history, non-customer telemetry, build logsAccess limited to personnel; stored in authenticated systems
ConfidentialPersonal data or proprietary information; breach would harm users or businessUser resumes, cover letters, contacts, job applications, chat/audio transcripts, email addresses, names, phone numbers, usage analytics tied to identityEncrypted at rest; TLS in transit; access logged; retention bounded
RestrictedHighest-sensitivity; breach is reportable or materially damagingAuthentication secrets, Firebase service-account keys, Stripe live keys, OAuth refresh tokens, encrypted LinkedIn cookies, NextAuth session tokens, backup encryption keys, payment card data (we never store: Stripe tokenizes)Encrypted at rest with strong keys; minimum-access principle; rotation schedule; 2-person review for changes

Handling matrix

RequirementPublicInternalConfidentialRestricted
HTTPS/TLS in transit
At-rest encryption
Field-level encryption (e.g., AES-GCM on top of platform encryption)Recommended for OAuth tokens, phoneRequired
Access logging
AuthorizationEmployeeUser-scoped or adminTightly-scoped role; current administrative accounts required by policy to use Google Account MFA
Storage durationIndefiniteIndefiniteBounded (see data map)Minimum needed
May leave approved regionsOnly via DPA-signed sub-processorsNever without approval by the Security Officer
Logging into Sentry/analyticsRedacted or hashed onlyNever

Labeling

Data is classified by where it lives, not by field-level tagging:

  • users/* + subcollections → Confidential
  • linkedinCookies/ (encrypted field), accounts/ (OAuth tokens), sessions/*Restricted
  • Stripe customer/subscription IDs → Confidential (identifiers, not card data)
  • Firestore backups → inherit classification of source data
  • Environment variables containing keys/secrets → Restricted
  • Sentry error payloads → Confidential (PII scrubbed via @sentry/nextjs beforeSend in production)
  • Audit log (auditLog/*) → Confidential

Responsibilities

  • Engineering ensures new collections/fields are classified on introduction; the SDLC checklist requires this.
  • Security Officer reviews classifications quarterly in the internal audit.
  • All personnel handle data according to its tier.

Examples of misuse

  • Pasting a customer resume into a public issue tracker → violation (Confidential → Public).
  • Emailing a service-account JSON to a vendor → violation (Restricted).
  • Adding a field to the user document without classifying it → violation of SDLC.

Related


← Back to the trust center

showUpgradeModal: false, modalType: migration, planName: