📊
DAI Project Monitor
Admin only · noindexGenerated: 2026. 07. 29. 09:17 Budapest · Read-only snapshot
📰 Live quarantineloading…Blog gate: BLOG_UNDER_REVIEW = true
🏛 Legal & Corporate
| DAI Kft. registration | ✕ BLOCKED | BLOCKED — target ~2026-07-31. Required before: affiliate programme, NDA, founder background text v2. |
| Affiliate NDA | ✕ BLOCKED | HARD BLOCKED — awaiting DAI Kft. + legal + Stripe live. |
| Founder background text v2 | ✕ BLOCKED | BLOCKED — pending DAI Kft. registration (~2026-07-31). |
💳 Stripe / Payments
| Stripe provisioned (managed) | ● LIVE | STRIPE_SECRET_KEY + STRIPE_PUBLISHABLE_KEY present. Managed mode, claimed. |
| Stripe KYC + live key | ✕ BLOCKED | BLOCKED — KYC not yet complete. Target ~2026-07-31. |
| STRIPE_WEBHOOK_SECRET | ◌ PENDING | Intentionally absent until Stripe KYC is complete (~July 31). |
| Apple Pay domain verification | ✕ BLOCKED | BLOCKED — requires Stripe live key first. |
🔐 Auth & Users
| Email/password registration + login | ● LIVE | LIVE. requireEmailVerification=true. Branded dark-theme verification email, 24h expiry. |
| Admin notification on signup (email + Telegram) | ● LIVE | LIVE. Fires on every new registration. |
| OAuth (Google / GitHub) | ◑ PARTIAL | Present in codebase but commented out — not exposed to users. |
| Real verified users | ○ INFO | [email protected] (HU, verified, 2026-07-11) · [email protected] (TH, verified, returned 2026-07-15) |
| Bot registration (today) | ⚠ WARNING | [email protected] — disposable domain + datacenter IP (157.49.107.99) + 2s reg-to-session. Not verified. No CAPTCHA on signup yet. |
📰 Blog & Content Pipeline
| Blog gate (BLOG_UNDER_REVIEW) | ⚠ WARNING | true in blog.tsx + BlogPostPage.tsx. Blog returns noindex/nofollow. 8 corrected articles in /private/crypto-news/ (serving dir). |
| Quarantine counts (live) | ⚠ WARNING | |
| /private/.quarantine-approved gate file | ✕ BLOCKED | ABSENT — cron is report-only. No bulk writes possible until gate file is created. |
| /private/.quarantine-remediation-state.json | ◌ PENDING | Not yet created. Required by /admin/quarantine-status monitor. |
| /tmp/corrected_articles/ (4 files) | ◌ PENDING | btc-analysis-1784203997105, crypto-1784203216143, crypto-1784203216942, xrp-analysis-1784203988963 — awaiting APPROVAL-ID per article before publish. |
| 285-article bulk backfill | ◌ PENDING | Decision pending: Option A (fixes A+B+C+F+B-ext + full 293 run) vs Option B (fixes + 25-article re-verify first). Parser built; fixes not yet applied. |
| Pipeline safeguard (contentValidator + micaGuard) | ● LIVE | contentValidator.ts + micaComplianceGuard.ts LIVE. 15/15 tests pass. quarantineScanner + newsScheduler LIVE. |
| Validator headline fix | ● LIVE | containsPriceClaimsInArticle() checks both body AND headline. 12/12 inline tests pass. |
📬 DAI Digest (Weekly Newsletter)
| POST /api/digest/weekly | ● LIVE | LIVE. DIGEST_SECRET auth. Cron: Monday 09:00 Budapest (0 7 * * 1 UTC). |
| Live proof | ● LIVE | [email protected] confirmed opt-in + received digest 2026-07-16. |
| digest_subscription table | ⚠ WARNING | 3 rows — all active=0 (test addresses only). bitforex1973 + bkvelore53 are in newsletter_subscriber (legacy) but NOT in digest_subscription — will miss next digest. |
| newsletter_subscriber (legacy) | ⚠ WARNING | 3 rows (bitforex1973, bkvelore53, + 1). Legacy table — not queried by digest. These users will miss digest until migrated. |
☀️ Uncle Sunny & MiCA Compliance
| Uncle Sunny "Nagyobb Hang" | ● LIVE | LIVE. 110 files, 14 patterns, 4-hourly cron → compliance_audit_log. |
| MiCA Compliance Audit Service | ● LIVE | GET /api/uncle-sunny/compliance-stats?lang=en|hu — public endpoint LIVE. |
| ESMA CASPS.csv citation rule | ● LIVE | Permanent rule: MiCA claims must cite ESMA CASPS.csv. ESMA-WARN on "MiCA" word alone is a known false positive when naming a ruleset. |
🛠 Admin Tools
| /admin/quarantine-status page | ● LIVE | Admin-only, noindex. Reads /api/admin/quarantine/status. State file not yet created. |
| /admin/project-monitor (this page) | ● LIVE | Built 2026-07-16. Read-only. Admin-only, noindex. |
| /admin/x-test | ● LIVE | X/Twitter API test page. Admin-only. |
⚙️ Infrastructure & Integrations
| Custom domain | ● LIVE | dataanalyticsystem.com — primary, active. |
| Google Analytics 4 | ● LIVE | GA4_MEASUREMENT_ID + GA4_MEASUREMENT_PROTOCOL_SECRET present. Consent-gated. |
| Google Search Console | ● LIVE | Connected (socialId: 4fb0929e). IndexNow auto-pings on publish. |
| Telegram notifications | ● LIVE | TELEGRAM_BOT_TOKEN + TELEGRAM_CHAT_ID + TELEGRAM_OPS_CHAT_ID + TELEGRAM_OWNER_CHAT_ID all present. |
| RSS feed | ● LIVE | Installed. Feeds from /private/crypto-news/ (serving dir only). |
| X/Twitter API | ● LIVE | X_CONSUMER_KEY + X_CONSUMER_SECRET + X_ACCESS_TOKEN + X_ACCESS_TOKEN_SECRET present. |
| FRED API | ● LIVE | FRED_API_KEY present. |
| Anthropic (Claude) | ● LIVE | ANTHROPIC_API_KEY present. |
| Web Push (VAPID) | ● LIVE | VAPID_PUBLIC_KEY + VAPID_PRIVATE_KEY present. |
| Backup encryption | ● LIVE | BACKUP_ENCRYPTION_KEY present. |
📋 Permanent Rules (never override)
| Live data only + "Last updated" timestamp | ○ INFO | No stale or cached data displayed without a visible timestamp. |
| No duplicate images | ○ INFO | Each media slot must be unique. Never reuse a slot for a different subject. |
| MiCA claims cite ESMA CASPS.csv | ○ INFO | Any MiCA compliance claim must reference ESMA CASPS.csv as source. |
| Never declare fix done without live verification | ○ INFO | Every fix must be verified against live output before marking complete. |
| Payment / auth / DB schema — stop and ask | ○ INFO | BEFORE touching any payment, auth, or DB schema file: stop and ask János. |
| Publish gate — explicit approval + APPROVAL-ID required | ○ INFO | Never publish without explicit in-chat approval and a valid APPROVAL-ID. |
| Secrets: always getSecret(), never process.env | ○ INFO | import { getSecret } from '#airo/secrets'. No process.env anywhere. |
| Historical price rule | ○ INFO | priceContext must use historical price for the article's own generatedAt date. |
| Flag, don't guess (contextual pairing) | ○ INFO | Ambiguous asset context → MANUAL_REVIEW. Never silent assignment. |
● LIVE✕ BLOCKED◌ PENDING◑ PARTIAL⚠ WARNING○ INFO