EverJoy AI Usage Policy
Effective Date: July 1, 2026
Last Updated: July 2026
Version: 2026-07
Entity: EverJoy Memory LLC d/b/a EverJoy
This AI Usage Policy ("Policy") describes how EverJoy uses artificial intelligence ("AI") in the Student Growth Cloud platform, including data flows, consent requirements, limitations, and human oversight. This Policy applies to:
This Policy supplements the Privacy Policy, Terms of Service, and Parent Consent Agreement.
EverJoy uses AI to enhance memory organization, growth tracking, and yearbook creation. AI features are optional and require separate parent consent (ai_processing, version 2026-07).
| Feature | Description | AI Provider | Consent Required |
|---|---|---|---|
| Auto-Classification | Categorize memories by type, subject, category | OpenAI gpt-4o-mini | Yes |
| OCR & Vision | Extract text from images and PDFs | OpenAI gpt-4o-mini | Yes |
| Summaries | Generate memory summaries | OpenAI gpt-4o-mini | Yes |
| Growth Dimension Tagging | Tag artifacts across 5 growth dimensions | OpenAI gpt-4o-mini | Yes |
| Growth Insights | Narrative insights and recommendations | OpenAI gpt-4o-mini | Yes |
| Yearbook Recommendations | Suggest content for Personalized Yearbooks | OpenAI gpt-4o-mini | Yes |
| Achievement Detection | Identify proud moments and achievements | OpenAI gpt-4o-mini | Yes |
| Temporal Growth Detection | Compare memories over time (≥90 days apart) | OpenAI gpt-4o-mini | Yes |
Partner capture and growth tracking use five dimensions:
AI processing requires explicit ai_processing consent (version 2026-07), distinct from:
Parents may use core storage, timeline, and yearbook features without AI consent.
Consent is collected via:
ParentConsentStep.tsx)POST /api/consent/acceptconsent_records with timestamp, IP, user agentWhen AI practices or policy versions change materially, parents must re-consent via /re-consent before AI processing resumes.
AI processing is gated by:
AI_FEATURES_ENABLED=true environment flagai_processing consent for the familyrequireCurrentConsents()Implementation note: Consent should be verified at AI job enqueue time (enqueueAiJob()). Production checklist item 9.5 tracks this enforcement.
Parents may revoke AI consent through:
Revocation stops new AI processing. Previously generated AI metadata remains until parents delete associated memories.
EverJoy uses OpenAI API (model: gpt-4o-mini) for all AI features.
Configuration:
OPENAI_API_KEY)AI_WORKER_SECRETai_processing_jobs table| Feature | Data Sent to OpenAI |
|---|---|
| Classification | Title, description, OCR text (≤2000 chars), filename, MIME type; image URL for images |
| OCR/Vision | Signed URL to memory file (15-minute TTL) |
| Summaries | Memory content and metadata |
| Growth insights | Child first name, school year, signal excerpts, milestone text, timeline summaries, parent notes |
| Yearbook recs | Memory summaries and metadata for current school year |
| Growth detection | Memory metadata for temporal comparison |
EverJoy configures API calls consistent with OpenAI's business terms. Per OpenAI API data usage policies, API data is not used to train models. EverJoy does not opt in to training data usage.
Parents should review OpenAI's Privacy Policy and API Terms periodically.
AI processing is triggered by:
Upload/Capture
│
▼
Consent Check (ai_processing)
│
▼
Enqueue ai_processing_jobs
│
▼
Worker: POST /api/ai/process
│
├── Classification
├── OCR/Vision (if needed)
├── Summary generation
├── Growth dimension tagging
└── Store results in memory record
│
▼
UI: Poll /api/ai/jobs/[memoryId]
If AI confidence is below threshold (0.7 for classification), rule-based fallback is applied. If AI is unavailable (cost cap, API error), processing is queued for retry or skipped with user notification.
| Threshold | Value | Action |
|---|---|---|
| Classification confidence | 0.7 | Below: rule-based fallback |
| Growth dimension confidence | 0.6 | Below: route to QA queue |
| OCR confidence | N/A | Retry with vision if text extraction fails |
Artifacts with growth dimension confidence below 0.6 are routed to QA queue (qa_pending status). Admin/partner review required before assignment to student.
QA items unresolved for >48 hours trigger admin alerts.
Capture Partners do not make AI-based identity decisions. Identity is determined solely via QR/barcode scan. AI is used only for content classification and growth tagging after identity is established.
AI-generated content—including classifications, summaries, growth insights, and recommendations:
EverJoy does not use AI to make automated decisions producing legal or similarly significant effects on children. AI outputs are suggestions for parent review.
EverJoy never uses AI, OCR, or handwriting recognition to identify students in the Partner Capture Network. Student identity is determined exclusively through Student ID label scan.
Monthly AI spend is capped at $200 platform-wide. When cap is reached:
Admin console (/admin/ai) displays:
AI_WORKER_SECRETParents are informed about AI features through:
AI-generated summaries and insights are distinguishable from parent-entered content in the UI. Parents can view original content alongside AI outputs.
EverJoy AI will not be used to:
Material changes to AI features or data practices require:
/re-consentMinor improvements (model updates within same provider, performance optimizations) may be deployed with updated Policy notice.
| Purpose | Contact |
|---|---|
| AI/privacy inquiries | privacy@myeverjoy.com |
| General support | support@myeverjoy.com |
| Parameter | Value |
|---|---|
| Provider | OpenAI |
| Model | gpt-4o-mini |
| API endpoint | api.openai.com |
| Max tokens (classification) | 500 |
| Max tokens (summary) | 300 |
| Max tokens (insights) | 800 |
| OCR text limit | 2,000 characters |
| Signed URL TTL | 15 minutes |
| Monthly cost cap | $200 |
| Retry attempts | 3 |
| Fallback | Rule-based classification |
| Prompt Type | File | Data Inputs |
|---|---|---|
| Classification | classifyMemory.ts | Title, description, OCR, filename |
| Summary | processMemoryPipeline.ts | Memory content |
| Growth insights | growth/insights/prompts.ts | Child name, signals, milestones, notes |
| Yearbook recs | growth/yearbook/service.ts | Memory summaries, school year |
| Growth detection | growth/summary.ts | Temporal memory metadata |
EverJoy AI will NOT be used for:
AI Usage Policy version 2026-07. Aligned with EverJoy AI implementation in yearbox/src/lib/ai/.