Data Analytic Investments
📊

DAI Project Monitor

Admin only · noindex

Generated: 2026. 07. 29. 08:26 Budapest · Read-only snapshot

📰 Live quarantineloading…Blog gate: BLOG_UNDER_REVIEW = true

🏛 Legal & Corporate

DAI Kft. registration✕ BLOCKEDBLOCKED — target ~2026-07-31. Required before: affiliate programme, NDA, founder background text v2.
Affiliate NDA✕ BLOCKEDHARD BLOCKED — awaiting DAI Kft. + legal + Stripe live.
Founder background text v2✕ BLOCKEDBLOCKED — pending DAI Kft. registration (~2026-07-31).

💳 Stripe / Payments

Stripe provisioned (managed)● LIVESTRIPE_SECRET_KEY + STRIPE_PUBLISHABLE_KEY present. Managed mode, claimed.
Stripe KYC + live key✕ BLOCKEDBLOCKED — KYC not yet complete. Target ~2026-07-31.
STRIPE_WEBHOOK_SECRET◌ PENDINGIntentionally absent until Stripe KYC is complete (~July 31).
Apple Pay domain verification✕ BLOCKEDBLOCKED — requires Stripe live key first.

🔐 Auth & Users

Email/password registration + login● LIVELIVE. requireEmailVerification=true. Branded dark-theme verification email, 24h expiry.
Admin notification on signup (email + Telegram)● LIVELIVE. Fires on every new registration.
OAuth (Google / GitHub)◑ PARTIALPresent 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)⚠ WARNINGtrue 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✕ BLOCKEDABSENT — cron is report-only. No bulk writes possible until gate file is created.
/private/.quarantine-remediation-state.json◌ PENDINGNot yet created. Required by /admin/quarantine-status monitor.
/tmp/corrected_articles/ (4 files)◌ PENDINGbtc-analysis-1784203997105, crypto-1784203216143, crypto-1784203216942, xrp-analysis-1784203988963 — awaiting APPROVAL-ID per article before publish.
285-article bulk backfill◌ PENDINGDecision 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)● LIVEcontentValidator.ts + micaComplianceGuard.ts LIVE. 15/15 tests pass. quarantineScanner + newsScheduler LIVE.
Validator headline fix● LIVEcontainsPriceClaimsInArticle() checks both body AND headline. 12/12 inline tests pass.

📬 DAI Digest (Weekly Newsletter)

POST /api/digest/weekly● LIVELIVE. 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⚠ WARNING3 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)⚠ WARNING3 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"● LIVELIVE. 110 files, 14 patterns, 4-hourly cron → compliance_audit_log.
MiCA Compliance Audit Service● LIVEGET /api/uncle-sunny/compliance-stats?lang=en|hu — public endpoint LIVE.
ESMA CASPS.csv citation rule● LIVEPermanent 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● LIVEAdmin-only, noindex. Reads /api/admin/quarantine/status. State file not yet created.
/admin/project-monitor (this page)● LIVEBuilt 2026-07-16. Read-only. Admin-only, noindex.
/admin/x-test● LIVEX/Twitter API test page. Admin-only.

⚙️ Infrastructure & Integrations

Custom domain● LIVEdataanalyticsystem.com — primary, active.
Google Analytics 4● LIVEGA4_MEASUREMENT_ID + GA4_MEASUREMENT_PROTOCOL_SECRET present. Consent-gated.
Google Search Console● LIVEConnected (socialId: 4fb0929e). IndexNow auto-pings on publish.
Telegram notifications● LIVETELEGRAM_BOT_TOKEN + TELEGRAM_CHAT_ID + TELEGRAM_OPS_CHAT_ID + TELEGRAM_OWNER_CHAT_ID all present.
RSS feed● LIVEInstalled. Feeds from /private/crypto-news/ (serving dir only).
X/Twitter API● LIVEX_CONSUMER_KEY + X_CONSUMER_SECRET + X_ACCESS_TOKEN + X_ACCESS_TOKEN_SECRET present.
FRED API● LIVEFRED_API_KEY present.
Anthropic (Claude)● LIVEANTHROPIC_API_KEY present.
Web Push (VAPID)● LIVEVAPID_PUBLIC_KEY + VAPID_PRIVATE_KEY present.
Backup encryption● LIVEBACKUP_ENCRYPTION_KEY present.

📋 Permanent Rules (never override)

Live data only + "Last updated" timestamp○ INFONo stale or cached data displayed without a visible timestamp.
No duplicate images○ INFOEach media slot must be unique. Never reuse a slot for a different subject.
MiCA claims cite ESMA CASPS.csv○ INFOAny MiCA compliance claim must reference ESMA CASPS.csv as source.
Never declare fix done without live verification○ INFOEvery fix must be verified against live output before marking complete.
Payment / auth / DB schema — stop and ask○ INFOBEFORE touching any payment, auth, or DB schema file: stop and ask János.
Publish gate — explicit approval + APPROVAL-ID required○ INFONever publish without explicit in-chat approval and a valid APPROVAL-ID.
Secrets: always getSecret(), never process.env○ INFOimport { getSecret } from '#airo/secrets'. No process.env anywhere.
Historical price rule○ INFOpriceContext must use historical price for the article's own generatedAt date.
Flag, don't guess (contextual pairing)○ INFOAmbiguous asset context → MANUAL_REVIEW. Never silent assignment.
● LIVE✕ BLOCKED◌ PENDING◑ PARTIAL⚠ WARNING○ INFO