{ "checkedAt": "2026-09-15T14:58:12.437Z", "base": "https://ihaleist.com", "readOnly": true, "scope": "Yapılandırma, public kaynak okuması ve kimlik doğrulama kapıları denetlendi; giriş, veri değişikliği, AI üretimi, ödeme, mesaj veya teklif gönderimi yapılmadı.", "integrations": [ { "id": "BIK", "label": "ilan.gov.tr ihale havuzu", "status": "passed", "evidence": { "status": 200, "source": "ilan.gov.tr", "loaded": 3258 }, "remaining": "Güncel liste okuması doğrulandı; veri kalitesi D10/D04 kapsamında izlenir." }, { "id": "TCMB", "label": "TCMB döviz satış kurları", "status": "passed", "evidence": { "status": 200, "bulletinDate": "15.09.2026", "source": "https://www.tcmb.gov.tr/kurlar/today.xml", "cached": false }, "remaining": "Hata ve eski bülten UX testleri yerel otomasyonda kapsanıyor." }, { "id": "GOOGLE", "label": "Google ile giriş", "status": "configured", "evidence": { "status": 200, "configured": true }, "remaining": "Gerçek test hesabıyla giriş, çıkış ve oturum yenileme kabulü gerekli." }, { "id": "EKAP", "label": "EKAP arama ve resmi doküman", "status": "manual-gate", "evidence": { "browserAvailable": true, "okasStatus": 428, "okasCode": "HUMAN_VERIFICATION_REQUIRED", "d10DocumentCode": "HUMAN_VERIFICATION_REQUIRED" }, "remaining": "Yetkili kullanıcı güvenlik doğrulamasından sonra beş resmi paketi indirip yüklemeli." }, { "id": "KIK", "label": "KİK kurul kararları", "status": "manual-gate", "evidence": { "status": 428, "code": "HUMAN_VERIFICATION_REQUIRED", "resultCount": null, "error": "EKAP güvenlik doğrulaması gerekiyor. EKAP’ı kendi tarayıcınızda açıp doğrulamayı tamamlayın; ardından indirdiğiniz dokümanı bu ihaleye yükleyin." }, "remaining": "EKAP güvenlik doğrulamasından sonra arama ve karar metni tekrar denenmeli." }, { "id": "TED", "label": "TED Avrupa ihaleleri", "status": "passed", "evidence": { "status": 200, "totalCount": 0, "timedOut": false, "error": null }, "remaining": "Gerçek sonuçlu sorgu ve çeviri, kontrollü AI test bütçesiyle yapılmalı." }, { "id": "AI", "label": "AI analiz ve teklif yardımcıları", "status": "configured", "evidence": { "status": 200, "configured": true, "providerCount": 7 }, "remaining": "Yetkili test hesabı ve incelemesi tamamlanmış test belgesiyle analiz, soru, taslak ve denetim zinciri gerekli." }, { "id": "STRIPE", "label": "Stripe plan, ödeme ve webhook", "status": "configured", "evidence": { "status": 200, "checkoutConfigured": true, "webhookConfigured": true, "planCount": 3 }, "remaining": "Yalnız Stripe test ortamında başarılı/başarısız ödeme, webhook tekrarı ve iptal senaryoları gerekli." }, { "id": "EMAIL", "label": "E-posta bildirimleri", "status": "guarded", "evidence": { "unauthenticatedStatus": 401 }, "remaining": "Yetkili test hesabında yapılandırma okunmalı; izinli test alıcısına tek gönderim ayrıca onaylanmalı." }, { "id": "TELEGRAM", "label": "Telegram bağlantısı ve bildirim", "status": "blocked", "evidence": { "status": 200, "configured": false }, "remaining": "Test sohbetinde bağlama kodu ve tek test mesajı için açık gönderim yetkisi gerekli." }, { "id": "PWA", "label": "PWA manifest ve offline worker", "status": "passed", "evidence": { "manifestStatus": 200, "serviceWorkerStatus": 200 }, "remaining": "Gerçek cihazda kurulum, offline düzenleme ve yeniden bağlanma kabulü ayrıca izlenir." }, { "id": "API", "label": "API anahtarı, RSS ve MCP", "status": "guarded", "evidence": { "apiKeyGuard": 401, "rssGuard": 401, "mcpGuard": 401, "publicResultsRssStatus": 200 }, "remaining": "Yetkili test hesabında anahtar oluşturma, RSS/MCP kullanma ve iptal zinciri gerekli." }, { "id": "SCHEDULER", "label": "Zeyilname/sonuç zamanlayıcısı", "status": "observable", "evidence": { "status": 200, "browserAvailable": true, "resultScanActive": true, "resultScanRunning": false, "directProcurementActive": true, "directProcurementRunning": false }, "remaining": "Yetkili test kaydıyla zeyilname/sonuç olayı ve tekrar engeli doğrulanmalı." } ], "guards": { "authSession": { "status": 401, "passed": true }, "documents": { "status": 401, "passed": true }, "documentText": { "status": 401, "passed": true }, "apiKeys": { "status": 401, "passed": true }, "emailConfig": { "status": 401, "passed": true }, "plan": { "status": 401, "passed": true }, "subscriptions": { "status": 401, "passed": true }, "sourceHistory": { "status": 401, "passed": true }, "companyScan": { "status": 401, "passed": true }, "aiAnalyze": { "status": 401, "passed": true }, "checkout": { "status": 401, "passed": true }, "emailSend": { "status": 401, "passed": true }, "telegramMutation": { "status": 401, "passed": true }, "notificationRun": { "status": 403, "passed": true } }, "summary": { "total": 13, "passed": 4, "configured": 3, "guarded": 2, "observable": 1, "manualGate": 2, "blocked": 1, "protectedGuardsPassed": 14, "protectedGuardsTotal": 14 } }