abinazebinoy commited on
Commit
e021102
·
1 Parent(s): 39318ae

feat(update): evidence panel 4-tabs, connection map, language selector, API root route, 575-source CSV

Browse files

Fixes:
- app.js: removed duplicate sanitize() inside State {} — was causing loading screen forever
- index.html: health check retries 3x at 5s intervals for HF cold-start
- main.py: added GET / root route (was returning 404)

Features:
- evidence_panel.js: 4-tab panel — Overview/Connections/Timeline/Investigate
- app.js: /connection-map route with D3 graph + path finder
- app.js: 22-language dropdown selector
- datasets/: 575-source verified CSV with all ministries, courts, PCBs, forests, IBEF, gazettes
- PHASE_ROADMAP.md: Phases 29-50 added (v0.29.0 through v0.50.0)

PHASE_ROADMAP.md CHANGED
@@ -200,60 +200,461 @@ Scope:
200
  6 pre-defined high-risk administrative sequences. Timing window significance test.
201
  api/routes/darkpattern.py: GET /darkpattern/{entity_id}
202
 
203
- ### Phase 29 — Source-Drift and Historical Analysis
204
- Scope:
205
- ai/source_credibility.py: Wayback Machine CDX API, retroactive edit detection.
206
- Claim survival scoring across time versions. Archive-gap recovery.
207
- Before/after diff view. Evidence status: Active/Modified/Removed/Archived.
208
 
209
- ### Phase 30Predictive Risk and Auto-Prioritisation
210
- Scope:
211
- ai/predictive_risk.py: 3-model ensemble (linear, Random Forest, ARIMA).
212
- 6-month risk trajectory forecast. Lead priority score combining centrality,
213
- anomaly, recency, and novelty. Early Warning System live feed alerts.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
214
 
215
- ### Phase 31 — Geospatial Verification
216
- Scope:
217
- scrapers/sentinel_scraper.py: Copernicus Open Access Hub (free Sentinel-2).
218
- ai/geospatial/ndvi_analyzer.py: NDVI change detection.
219
- ai/geospatial/build_verifier.py: payment vs visible construction cross-check.
220
- Contract location map in frontend with before/after satellite image comparison.
221
 
222
- ### Phase 32 — Identity Fusion and Multimedia OSINT
223
- Scope:
224
- ai/identity/alias_resolver.py: alias-to-email linking, credential reuse.
225
- ai/identity/persona_cluster.py: cross-platform identity fusion.
226
- ai/osint/background_analyzer.py: background-object extraction from images.
227
- ai/osint/reverse_image.py: pattern-of-life from public image metadata.
228
- ai/osint/username_tracker.py: cross-platform reuse detection.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
229
 
230
  ---
231
 
232
- ## Feature Index
233
-
234
- | Feature | Description | Phase |
235
- |---------|-------------|-------|
236
- | A | Investigation connector map | 16 |
237
- | B | Recursive 6-layer investigation engine | 16 |
238
- | C | Clickable evidence detail panel | 16 |
239
- | D | Multi-agent reasoning swarm | 27 |
240
- | E | Consensus/contradiction/uncertainty layers | 27 |
241
- | F | Historical investigation + archive recovery | 29 |
242
- | G | Provenance and auditability | 17 |
243
- | H | Entity resolution and alias merging | 21 |
244
- | I | Graph analytics features | 15 |
245
- | J | Hidden-link suggestion engine | 16 |
246
- | K | Evidence clustering and bridge detection | 15 |
247
- | L | Recursive find-more mode | 16 |
248
- | M | Report generation with evidence ranking | 12 |
249
- | N | Practical UI layers for analysts | 16 |
250
- | O | Auto-prioritisation of leads | 30 |
251
- | P | Case memory + investigation history | 18 |
252
- | Q | Human-in-the-loop active learning | 18 |
253
- | R | Adaptive debate routing | 27 |
254
- | S | Competing hypotheses mode | 26 |
255
- | T | Anomaly and suspicion modules | 15 |
256
- | U | Geospatial verification | 31 |
257
- | V | Revolving door + TBML detection | 23 |
258
- | W | Multimedia investigation techniques | 32 |
259
- | X | Identity fusion from breach data | 32 |
 
 
200
  6 pre-defined high-risk administrative sequences. Timing window significance test.
201
  api/routes/darkpattern.py: GET /darkpattern/{entity_id}
202
 
 
 
 
 
 
203
 
204
+ ### Phase 29Full UX Overhaul: Evidence Panel + Connection Map + Language UI (v0.29.0)
205
+ Branch: feature/phase-29-ux-evidence | Priority: IMMEDIATE
206
+ Status: COMPLETE (this session)
207
+ Files changed:
208
+ frontend/js/evidence_panel.js Complete rewrite. 4-tab panel:
209
+ Tab 1 Overview: risk indicator, summary stats, top 5 connections
210
+ Tab 2 Connections: all edges grouped by relationship type, clickable to open chain
211
+ Tab 3 Timeline: event reconstruction from profile API, date-sorted
212
+ Tab 4 Investigate: 6-layer investigation, contradiction search, connection map button
213
+ frontend/js/app.js — Added:
214
+ Language selector dropdown (22 Indian scheduled languages)
215
+ Connection Map route: /connection-map?entity=X&name=Y
216
+ Path Finder: find shortest path between any two entities
217
+ D3 interactive evidence graph rendering for connection map
218
+ Router.register("/connection-map", ...) registered
219
+ frontend/index.html — Fixed:
220
+ Health check retries 3× at 5-second intervals (HF Space cold-start handling)
221
+ API status shows neo4j_connected state and version
222
+ api/main.py — Added: GET / root route returning version, status, links
223
+ Result: Loading screen bug resolved. Language selector live. Evidence panel fully tabbed.
224
+ Connection map available. API offline indicator handles cold-starts correctly.
225
+
226
+ ### Phase 30 — Source-Drift and Historical Analysis Engine (v0.30.0)
227
+ Branch: feature/phase-30-historical | Priority: HIGH
228
+ Files to create:
229
+ ai/forensics/source_drift_detector.py
230
+ compare_versions(url, entity_id) → detect added/removed/modified claims
231
+ first_appearance(claim_text) → earliest Wayback cache date
232
+ drift_report(entity_id) → timeline of claim changes with diff
233
+ evidence_status: ACTIVE | MODIFIED | REMOVED | ARCHIVED
234
+ ai/forensics/event_reconstructor.py
235
+ reconstruct_from_artifacts(entity_id) → event timeline from documents
236
+ temporal_truth_store(entity_id) → versioned fact graph: Fact_v1, Fact_v2
237
+ archive_gap_recovery(url) → Wayback Machine integration for deleted pages
238
+ api/routes/historical.py — GET /historical/{entity_id}
239
+ Returns: drift_events[], first_appearances[], archive_gaps[], evidence_timeline
240
+ api/main.py — register historical router, bump to v0.30.0
241
+
242
+ ### Phase 31 — Predictive Risk and Lead Prioritisation (v0.31.0)
243
+ Branch: feature/phase-31-predict | Priority: HIGH
244
+ Files to create:
245
+ ai/forensics/risk_predictor.py
246
+ predict_trajectory(entity_id) → 6-month risk trajectory
247
+ ensemble_model() → gradient boost + random forest + logistic regression
248
+ lead_prioritiser(graph) → rank entities by centrality, community, anomaly score
249
+ anomaly_scorer(subgraph) → detect unusual patterns vs peer group
250
+ api/routes/predict.py — GET /predict/{entity_id}
251
+ Returns: risk_6month, trajectory_direction, high_priority_leads[], confidence
252
+ graph/queries.py — add get_peer_group(), get_anomaly_candidates()
253
+ api/main.py — register predict router, bump to v0.31.0
254
+
255
+ ### Phase 32 — Entity Resolution and Deduplication Engine (v0.32.0)
256
+ Branch: feature/phase-32-entity-resolution | Priority: CRITICAL
257
+ Files to create:
258
+ processing/entity_resolver_v2.py
259
+ resolve(name_a, name_b, context) → merge confidence score
260
+ alias_index(entity_id) → all known aliases, transliterations
261
+ bridge_identifier_detect(graph) → cross-dataset linking keys
262
+ global_id_assign(record) → stable UUID for every resolved entity
263
+ near_duplicate_detect(embeddings) → cosine similarity threshold
264
+ processing/name_normaliser.py
265
+ normalise_indian_name(name) → handle transliterations, honorifics
266
+ ministry_canonical_map() → maps common abbreviations to full names
267
+ company_name_clean(name) → strips Ltd/Pvt/LLP variants
268
+ frontend/js/app.js — add resolution-aware toggle in search results
269
+ api/routes/admin.py — POST /admin/resolve endpoint for manual merges
270
+ api/main.py — bump to v0.32.0
271
+
272
+ ### Phase 33 — Contradiction Engine and Counterevidence Search (v0.33.0)
273
+ Branch: feature/phase-33-contradiction | Priority: HIGH
274
+ Files to create:
275
+ ai/forensics/contradiction_detector.py
276
+ scan(entity_id) → find contradicting claims across sources
277
+ confidence_decay(evidence, age_days) → reduce weight of old evidence
278
+ counter_investigate(claim) → search for evidence against a claim
279
+ uncertainty_propagate(graph, node) → flow uncertainty through edges
280
+ ai/investigators/adversarial_investigator.py
281
+ investigate(entity_id) → counter-investigator challenging all claims
282
+ hypothesis_rank(hypotheses[]) → score competing explanations
283
+ debate_verdict(for_evidence[], against_evidence[]) → weighted consensus
284
+ api/routes/adversarial.py — already exists, EXTEND with:
285
+ GET /adversarial/{entity_id}/contradict
286
+ GET /adversarial/{entity_id}/hypotheses
287
+ api/main.py — bump to v0.33.0
288
+
289
+ ### Phase 34 — Multi-Agent Orchestration and Consensus Engine (v0.34.0)
290
+ Branch: feature/phase-34-multiagent | Priority: HIGH
291
+ Files to create:
292
+ ai/agents/agent_orchestrator.py
293
+ route_task(entity_id, task_type) → select specialist agents
294
+ parallel_investigate(entity_id) → run 12 agents in parallel
295
+ consensus_build(agent_outputs[]) → weighted vote with dissent preservation
296
+ adaptive_debate(evidence, controversy_score) → scale to 3/6/12 agents
297
+ consensus_format: {"agree":N, "uncertain":M, "disagree":K, "verdict":"..."}
298
+ ai/agents/agent_profile.py
299
+ profile: name, role, expertise, memory, reputation_score
300
+ memory_recall(entity_id) → past investigation patterns
301
+ reputation_update(outcome) → agent trust score update
302
+ ai/agents/investigator_roles.py
303
+ ROLES: financial, procurement, judicial, political, corporate,
304
+ geographic, temporal, linguistic, network, adversarial,
305
+ public_interest, synthesis
306
+ api/routes/debate.py — already exists, EXTEND with consensus output format
307
+ api/main.py — bump to v0.34.0
308
+
309
+ ### Phase 35 — Graph Intelligence: Anomaly Detection and Link Prediction (v0.35.0)
310
+ Branch: feature/phase-35-graph-intelligence | Priority: HIGH
311
+ Files to create:
312
+ ai/graph_intelligence.py
313
+ centrality_rank(graph) → betweenness, eigenvector, PageRank
314
+ community_detect(graph) → Louvain clustering
315
+ bridge_detect(graph) → cut nodes connecting separate clusters
316
+ link_predict(node_a, node_b) → Jaccard, Adamic-Adar, common-neighbor
317
+ anomaly_detect_subgraph(subgraph) → compare to peer cluster
318
+ hidden_link_suggest(entity_id) → top 5 links to investigate next
319
+ ai/graph_analytics.py — extend existing with:
320
+ cluster_explain(community) → plain-language story about a cluster
321
+ lead_rank(candidates[]) → prioritise by graph position + evidence strength
322
+ graph/queries.py — add:
323
+ get_centrality_candidates(), get_bridge_nodes(), get_anomalous_edges()
324
+ api/routes/graph.py — extend with:
325
+ GET /graph/anomalies/{entity_id}
326
+ GET /graph/leads/{entity_id}
327
+ GET /graph/bridge-nodes
328
+ api/main.py — bump to v0.35.0
329
+
330
+ ### Phase 36 — Provenance and Evidence Audit Layer (v0.36.0)
331
+ Branch: feature/phase-36-provenance | Priority: HIGH
332
+ Files to create:
333
+ ai/provenance_engine.py
334
+ stamp(evidence, source, method, timestamp) → full provenance record
335
+ claim_audit(claim_id) → all evidence supporting + opposing
336
+ evidence_rank(evidence[]) → CONFIRMED / PROBABLE / WEAK / REJECTED
337
+ chain_export(entity_id) → legal-style evidence chain JSON
338
+ confidence_score(claim) → multi-source confidence calculation
339
+ graph/schema.py — add Provenance node:
340
+ {claim_id, source, timestamp, method, confidence, status}
341
+ graph/loader.py — stamp every loaded record with provenance
342
+ api/routes/export.py — extend with:
343
+ GET /export/evidence-chain/{entity_id} → ranked JSON
344
+ GET /export/audit/{entity_id} → full provenance export
345
+ frontend/js/evidence_panel.js — add provenance tab to panel
346
+ api/main.py — bump to v0.36.0
347
+
348
+ ### Phase 37 — Watchlist and Alerting System (v0.37.0)
349
+ Branch: feature/phase-37-watchlist | Priority: MEDIUM
350
+ Files to create:
351
+ api/routes/watchlist.py
352
+ POST /watchlist — add entity to watchlist
353
+ GET /watchlist — list watched entities
354
+ GET /watchlist/alerts — new events since last check
355
+ DELETE /watchlist/{entity_id} — remove from watchlist
356
+ ai/alert_engine.py
357
+ diff_check(entity_id, last_seen) → what changed since last visit
358
+ new_source_detect(entity_id) → new mentions in any source
359
+ risk_change_alert(entity_id) → risk score crossed threshold
360
+ frontend/js/app.js — add watchlist icon on entity cards
361
+ Views["watchlist"]: watchlist management UI
362
+ Router.register("/watchlist", Views.watchlist)
363
+ api/main.py — register watchlist router, bump to v0.37.0
364
+
365
+ ### Phase 38 — Full Data Pipeline for 367+ Sources (v0.38.0)
366
+ Branch: feature/phase-38-data-expansion | Priority: CRITICAL
367
+ Files to create/extend:
368
+ scrapers/ — add scrapers for all priority sources:
369
+ scraper_ecourts.py — eCourts NJDG data
370
+ scraper_cag.py — extend existing with all CAG report types
371
+ scraper_ncrb.py — NCRB crime statistics by IPC section
372
+ scraper_sebi_orders.py — SEBI enforcement orders database
373
+ scraper_ed_pmla.py — ED PMLA press releases
374
+ scraper_cvc.py — CVC vigilance circulars (extend existing)
375
+ scraper_mca_bulk.py — MCA company master bulk download
376
+ scraper_agmarknet.py — AGMARKNET daily mandi prices
377
+ scraper_parivesh.py — PARIVESH clearance database
378
+ scraper_trai.py — TRAI orders and tariff data
379
+ scraper_dgft.py — DGFT IEC and trade data
380
+ scraper_cci.py — CCI antitrust orders
381
+ scraper_njdg.py — Court pendency data
382
+ scraper_epfo.py — EPFO payroll data
383
+ scraper_isro_transfer.py — ISRO technology transfer records
384
+ graph/loader.py — add 14 new loaders for above scrapers
385
+ datasets/bharatgraph_sources.csv — 367-source verified catalog (DONE this session)
386
+ api/main.py — bump to v0.38.0
387
+
388
+ ### Phase 39 — Geospatial Verification Engine (v0.39.0)
389
+ Branch: feature/phase-39-geospatial | Priority: MEDIUM
390
+ Files to create:
391
+ ai/geospatial/sentinel_verifier.py
392
+ verify_site(lat, lon, project_name) → satellite before/after comparison
393
+ ndvi_change(lat, lon, date_range) → vegetation loss detection
394
+ construction_detect(lat, lon) → built structure change detection
395
+ contract_validate(contract_id) → verify claimed construction exists
396
+ ai/geospatial/location_extractor.py
397
+ extract_coords(text) → NER-based location extraction
398
+ geocode_india(location_text) → India-specific geocoding
399
+ api/routes/geospatial.py — GET /geospatial/verify/{contract_id}
400
+ frontend/js/app.js — map view in entity profile for geo-tagged contracts
401
+ api/main.py — register geospatial router, bump to v0.39.0
402
+
403
+ ### Phase 40 — Identity Fusion and Multimedia OSINT (v0.40.0)
404
+ Branch: feature/phase-40-identity | Priority: MEDIUM
405
+ Files to create:
406
+ ai/identity/identity_fuser.py
407
+ fuse(records[]) → merge identity across all sources
408
+ cross_source_match(entity_a, entity_b) → identity probability
409
+ alias_graph(entity_id) → all known identities, aliases, spellings
410
+ ai/identity/osint_collector.py
411
+ collect_media_mentions(name) → news, social, documents
412
+ face_entity_link(image_url, entity_id) → facial recognition match
413
+ document_owner_detect(doc_url) → extract owner from metadata
414
+ api/routes/identity.py — GET /identity/{entity_id}
415
+ api/main.py — register identity router, bump to v0.40.0
416
+
417
+ ### Phase 41 — Observability and Pipeline Reliability (v0.41.0)
418
+ Branch: feature/phase-41-observability | Priority: HIGH
419
+ Files to create:
420
+ api/middleware/metrics_collector.py
421
+ track(endpoint, latency, status) → Prometheus-compatible metrics
422
+ pipeline_health() → per-scraper success rate
423
+ neo4j_health() → query latency, node count trends
424
+ processing/ingestion_validator.py
425
+ validate_schema(record, schema) → catch malformed records early
426
+ retry_failed(source_key) → retry up to 3× with exponential backoff
427
+ partial_ingestion_save(completed_sources) → don't lose completed work
428
+ api/routes/admin.py — extend with:
429
+ GET /admin/pipeline-health — per-source ingestion status
430
+ GET /admin/metrics — JSON metrics dump
431
+ api/main.py — bump to v0.41.0
432
+
433
+ ### Phase 42 — Report Export and Legal-Safe Output (v0.42.0)
434
+ Branch: feature/phase-42-reports | Priority: HIGH
435
+ Files to create:
436
+ ai/report_generator.py
437
+ generate(entity_id, format) → ranked dossier report
438
+ evidence_ranking(findings[]) → CONFIRMED / PROBABLE / WEAK / REJECTED
439
+ legal_safe_rewrite(text) → enforce allegation vs verified labeling
440
+ chapter_structure() → identity, relationships, contracts, risk, timeline
441
+ api/routes/export.py — extend with:
442
+ GET /export/dossier/{entity_id}?format=pdf|json|md
443
+ Evidence-ranked output with confidence scores
444
+ Legal disclaimer on every output
445
+ frontend/js/app.js — download report button on entity profile
446
+ api/main.py — bump to v0.42.0
447
+
448
+ ### Phase 43 — Caching and Async Job Processing (v0.43.0)
449
+ Branch: feature/phase-43-performance | Priority: MEDIUM
450
+ Files to create:
451
+ api/cache.py
452
+ get(key) → Redis or in-memory lookup
453
+ set(key, value, ttl) → store with TTL
454
+ invalidate(entity_id) → clear on data update
455
+ api/job_queue.py
456
+ submit(task_fn, entity_id) → queue long-running task
457
+ status(job_id) → running | done | failed
458
+ result(job_id) → fetch result when ready
459
+ api/routes/investigation.py — return job_id immediately for long tasks
460
+ frontend/js/api.js — add pollJob(job_id) function
461
+ frontend/js/app.js — show progress bar for running investigations
462
+ api/main.py — bump to v0.43.0
463
+
464
+ ### Phase 44 — Full India Language Output Engine (v0.44.0)
465
+ Branch: feature/phase-44-language | Priority: HIGH
466
+ Files to extend:
467
+ config/languages.py — already has 22 languages, EXTEND:
468
+ add domain-specific vocabulary for all 22 languages
469
+ risk level translations for all 22 (currently only 9)
470
+ UI labels for all 22 (currently only 5)
471
+ ai/translator.py — ensure all 22 scheduled languages produce output
472
+ ai/transliteration.py — add transliteration for:
473
+ hi, ta, te, kn, ml, mr, bn, gu, pa, or, as, ur, sd, kok, mai, mni, sat, ks, ne, doi, sa
474
+ api/routes/multilingual.py — test all 22 language outputs
475
+ frontend/js/app.js — language selector already in (Phase 29)
476
+ Add: auto-detect browser language on load
477
+ Add: search in selected language, show results in same language
478
+ api/main.py — bump to v0.44.0
479
+
480
+ ### Phase 45 — Security Hardening and PII Protection (v0.45.0)
481
+ Branch: feature/phase-45-security | Priority: HIGH
482
+ Files to create/extend:
483
+ api/middleware/pii_filter.py
484
+ mask_aadhaar(text) → mask Aadhaar numbers in output
485
+ mask_phone(text) → mask phone numbers
486
+ strip_sensitive(record) → remove personally sensitive fields
487
+ api/middleware/input_validator.py — extend with:
488
+ injection_detect(query) → Cypher injection prevention
489
+ payload_size_limit(body) → block oversized requests
490
+ rate_limit_by_ip(request) → sliding window per IP
491
+ api/routes/export.py — add integrity hash to all exports
492
+ .github/workflows/ — add:
493
+ codeql.yml — static analysis
494
+ dependency-check.yml — vulnerable package scan
495
+ api/main.py — bump to v0.45.0
496
+
497
+ ### Phase 46 — Evidence Intelligence Graph Frontend (v0.46.0)
498
+ Branch: feature/phase-46-evidence-graph | Priority: HIGH
499
+ Files to create:
500
+ frontend/js/app.js — new investigation flow:
501
+ Step 1: Input entity search
502
+ Step 2: Multi-source data collection progress
503
+ Step 3: Graph construction with live nodes appearing
504
+ Step 4: Evidence ranked results with tabs
505
+ frontend/js/graph.js — upgrade:
506
+ Clustering for large graphs (> 50 nodes)
507
+ Level-of-detail rendering (zoom in = more detail)
508
+ Evidence strength as edge thickness
509
+ Confidence as node opacity
510
+ Time slider for temporal graph view
511
+ frontend/css/design-system.css — add:
512
+ .evidence-confirmed (green border)
513
+ .evidence-probable (orange border)
514
+ .evidence-weak (grey border)
515
+ .evidence-rejected (red border strikethrough)
516
+ api/main.py — bump to v0.46.0
517
+
518
+ ### Phase 47 — Dataset Sources Integration (v0.47.0)
519
+ Branch: feature/phase-47-sources-integration | Priority: MEDIUM
520
+ Files to create:
521
+ datasets/bharatgraph_sources.csv — DONE this session (367 sources)
522
+ scrapers/source_registry.py
523
+ SOURCE_REGISTRY: full dict of all 367 verified sources
524
+ get_by_category(category) → filtered source list
525
+ get_priority_sources() → top 30 most investigation-relevant
526
+ check_availability(url) → test if source is live
527
+ api/routes/sources.py — extend SCRAPER_META with all new sources
528
+ Sources page now shows all 367+ sources with category filter
529
+ frontend/js/app.js — sources page UI with:
530
+ Category tabs (Core, Finance, Environment, Defence, etc.)
531
+ Live status indicator per source
532
+ Link to source + data type
533
+ api/main.py — bump to v0.47.0
534
+
535
+ ### Phase 48 — Investigation Scoring and Confidence Framework (v0.48.0)
536
+ Branch: feature/phase-48-confidence | Priority: HIGH
537
+ Files to create:
538
+ ai/confidence_engine.py
539
+ score_claim(claim, evidence[]) → 0-100 confidence
540
+ propagate(graph, node) → uncertainty flows to connected nodes
541
+ decay(evidence, age_days) → older evidence loses weight
542
+ multi_source_boost(claim) → confirmed by 3+ sources = higher confidence
543
+ ai/evidence_ranker.py
544
+ rank(findings[]) → CONFIRMED > PROBABLE > WEAK > REJECTED
545
+ explain_rank(finding) → why this ranking was assigned
546
+ threshold: CONFIRMED >= 80, PROBABLE >= 50, WEAK >= 20, REJECTED < 20
547
+ graph/schema.py — add confidence field to all relationship types
548
+ api/routes/risk.py — extend with confidence breakdown
549
+ api/main.py — bump to v0.48.0
550
+
551
+ ### Phase 49 — Open Investigation Platform and User Workflows (v0.49.0)
552
+ Branch: feature/phase-49-workflows | Priority: MEDIUM
553
+ Files to create:
554
+ frontend/js/app.js — add:
555
+ Investigation workspace (save current state to storage API)
556
+ Resume investigation from saved state
557
+ Export investigation as shareable link
558
+ Bookmark entities for later
559
+ api/routes/investigation.py — extend with:
560
+ POST /investigation/save — save investigation state
561
+ GET /investigation/{id} — resume
562
+ GET /investigation/{id}/share — public shareable summary
563
+ api/main.py — bump to v0.49.0
564
+
565
+ ### Phase 50 — Full Production Hardening and Public Launch (v0.50.0)
566
+ Branch: feature/phase-50-production | Priority: PLANNED
567
+ Tasks:
568
+ Infrastructure:
569
+ CI/CD pipeline with automated testing
570
+ End-to-end test suite covering all 21 API routes
571
+ Load testing with 100 concurrent users
572
+ Graph query optimization: add composite indexes
573
+ Auto-restart scraper pipeline on schedule
574
+ Frontend:
575
+ Mobile responsive layout for all views
576
+ Accessibility: keyboard navigation, screen reader support
577
+ Progressive Web App (PWA) with offline capability
578
+ Error boundary components for graceful degradation
579
+ Documentation:
580
+ Full API documentation with examples
581
+ Data source citation guide
582
+ Contribution guide for new scrapers
583
+ Investigation methodology guide
584
+ Legal:
585
+ Comprehensive disclaimer on all entity pages
586
+ Correction request workflow (14-day processing)
587
+ DPDP Act 2023 compliance review
588
+ Defamation safeguard review
589
+ api/main.py — bump to v0.50.0 — Production Release
590
 
591
+ ---
 
 
 
 
 
592
 
593
+ ## CONTINUOUS IMPROVEMENT BACKLOG
594
+
595
+ ### CI-1 Indian Name Normalisation
596
+ processing/name_normaliser.py
597
+ Handle: honorifics (Sh., Smt., Dr.), transliterations across scripts,
598
+ ministry abbreviations, company name variants (Ltd/Pvt/LLP)
599
+
600
+ ### CI-2 — Government Ontology
601
+ config/india_ontology.py
602
+ Ministry hierarchy, department → ministry mapping,
603
+ PSU → ministry mapping, court → jurisdiction mapping
604
+
605
+ ### CI-3 — Pipeline Scheduler
606
+ Implement daily, weekly, monthly refresh schedules per source
607
+ Stale-detection alerts when source goes silent > 30 days
608
+
609
+ ### CI-4 — Graph Versioning
610
+ Snapshot graph state on every pipeline run
611
+ Allow time-travel queries: "what did the graph look like on date X"
612
+
613
+ ### CI-5 — Reproducibility Guarantee
614
+ Deterministic investigation IDs
615
+ Same entity + same date + same sources = same result hash
616
+
617
+ ### CI-6 — Edge Intelligence
618
+ Every graph edge should carry: source, date, confidence, method, raw_url
619
+ Edges without provenance flagged as UNVERIFIED
620
+
621
+ ### CI-7 — Mobile App
622
+ React Native or PWA wrapper for iOS and Android
623
+ Push notifications for watchlist alerts
624
+
625
+ ### CI-8 — API Public Documentation
626
+ OpenAPI spec with examples for every endpoint
627
+ Postman collection export
628
+ SDK in Python and JavaScript
629
 
630
  ---
631
 
632
+ ## PHASE SUMMARY TABLE
633
+
634
+ | Phase | Name | Status | Version |
635
+ |-------|------|--------|---------|
636
+ | 1-12 | Core Infrastructure | ✅ Complete | v0.12.0 |
637
+ | 13-18 | Production + ML | ✅ Complete | v0.18.0 |
638
+ | 19-28 | Investigation Modules | Complete | v0.28.0 |
639
+ | 29 | UX Overhaul + Evidence Panel | Complete | v0.29.0 |
640
+ | 30 | Source-Drift + Historical | 🔜 Next | v0.30.0 |
641
+ | 31 | Predictive Risk + Lead Rank | 🔜 Planned | v0.31.0 |
642
+ | 32 | Entity Resolution v2 | 🔜 Planned | v0.32.0 |
643
+ | 33 | Contradiction Engine | 🔜 Planned | v0.33.0 |
644
+ | 34 | Multi-Agent Orchestration | 🔜 Planned | v0.34.0 |
645
+ | 35 | Graph Intelligence | 🔜 Planned | v0.35.0 |
646
+ | 36 | Provenance + Audit Layer | 🔜 Planned | v0.36.0 |
647
+ | 37 | Watchlist + Alerts | 🔜 Planned | v0.37.0 |
648
+ | 38 | Data Pipeline 367+ Sources | 🔜 Planned | v0.38.0 |
649
+ | 39 | Geospatial Verification | 🔜 Planned | v0.39.0 |
650
+ | 40 | Identity Fusion + OSINT | 🔜 Planned | v0.40.0 |
651
+ | 41 | Observability + Reliability | 🔜 Planned | v0.41.0 |
652
+ | 42 | Report Export + Legal-Safe | 🔜 Planned | v0.42.0 |
653
+ | 43 | Caching + Async Jobs | 🔜 Planned | v0.43.0 |
654
+ | 44 | Full 22-Language Output | 🔜 Planned | v0.44.0 |
655
+ | 45 | Security Hardening + PII | 🔜 Planned | v0.45.0 |
656
+ | 46 | Evidence Graph Frontend | 🔜 Planned | v0.46.0 |
657
+ | 47 | 367+ Source Integration | 🔜 Planned | v0.47.0 |
658
+ | 48 | Confidence Framework | 🔜 Planned | v0.48.0 |
659
+ | 49 | User Workflows + Workspace | 🔜 Planned | v0.49.0 |
660
+ | 50 | Production Launch | 🔜 Future | v0.50.0 |
api/main.py CHANGED
@@ -76,6 +76,19 @@ app.include_router(adversarial.router, tags=["Adversarial"])
76
  app.include_router(debate.router, tags=["Debate"])
77
 
78
 
 
 
 
 
 
 
 
 
 
 
 
 
 
79
  @app.api_route("/health", methods=["GET", "HEAD"], response_model=HealthResponse)
80
  def health_check():
81
  driver = get_driver()
 
76
  app.include_router(debate.router, tags=["Debate"])
77
 
78
 
79
+
80
+ @app.get("/")
81
+ def root():
82
+ """API root — returns version and link to docs."""
83
+ return {
84
+ "name": "BharatGraph API",
85
+ "version": "0.28.0",
86
+ "status": "running",
87
+ "docs": "/docs",
88
+ "health": "/health",
89
+ "description": "Public transparency intelligence platform for India. All data from official government records.",
90
+ }
91
+
92
  @app.api_route("/health", methods=["GET", "HEAD"], response_model=HealthResponse)
93
  def health_check():
94
  driver = get_driver()
datasets/bharatgraph_sources.csv ADDED
@@ -0,0 +1,576 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ category,organization,source_name,source_url,source_type,coverage,notes
2
+ core,OGD India,data.gov.in,https://data.gov.in,data portal,"Main open data hub, 7 lakh+ datasets","Main open data hub, 7 lakh+ datasets"
3
+ core,OGD India,data.gov.in APIs,https://www.data.gov.in/apis,data portal,Machine-readable data APIs,Machine-readable data APIs
4
+ core,OGD India,data.gov.in Sector Index,https://www.data.gov.in/sector,data portal,Sectoral dataset index,Sectoral dataset index
5
+ core,OGD India,data.gov.in Metrics,https://www.data.gov.in/metrics,data portal,Publisher activity dashboard,Publisher activity dashboard
6
+ core,OGD India,India.gov.in,https://www.india.gov.in,data portal,National citizen portal,National citizen portal
7
+ core,OGD India,iGOD Organizations,https://igod.gov.in,data portal,Central govt directory,Central govt directory
8
+ core,OGD India,iGOD Full Org List,https://igod.gov.in/ug/E002/organizations,data portal,Full organization directory,Full organization directory
9
+ core,OGD India,MyGov,https://mygov.in,data portal,Citizen engagement platform,Citizen engagement platform
10
+ legislation,Parliament/Legislation,India Code,https://www.indiacode.nic.in,legal,"All central acts, constitution, rules","All central acts, constitution, rules"
11
+ legislation,Parliament/Legislation,Legislative Dept,https://legislative.gov.in,legal,"Acts, constitution, rules","Acts, constitution, rules"
12
+ legislation,Parliament/Legislation,eGazette of India,https://egazette.nic.in,legal,"Ordinances, notifications, acts","Ordinances, notifications, acts"
13
+ legislation,Parliament/Legislation,Lok Sabha Portal,https://loksabha.nic.in,legal,"Debates, questions, bills, members","Debates, questions, bills, members"
14
+ legislation,Parliament/Legislation,Rajya Sabha Portal,https://rajyasabha.nic.in,legal,"Debates, questions, bills","Debates, questions, bills"
15
+ legislation,Parliament/Legislation,Lok Sabha Questions Archive,https://loksabhadocs.nic.in,legal,Starred/unstarred questions,Starred/unstarred questions
16
+ legislation,Parliament/Legislation,MPA Bills List,https://mpa.gov.in/bills-list,legal,Government bills introduced,Government bills introduced
17
+ legislation,Parliament/Legislation,MPA Portal,https://mpa.gov.in,legal,Ministry of Parliamentary Affairs,Ministry of Parliamentary Affairs
18
+ legislation,Parliament/Legislation,PRS India Bill Tracker,https://prsindia.org/legislation,legal,"Bill status, summaries","Bill status, summaries"
19
+ legal_text,India Code,IPC 1860 Full Text,https://www.indiacode.nic.in/bitstream/123456789/2263/1/A1860-45.pdf,legislation,Indian Penal Code — all 511 sections,Indian Penal Code — all 511 sections
20
+ legal_text,India Code,Constitution of India,https://www.indiacode.nic.in/handle/123456789/15240,legislation,"All articles, schedules, amendments","All articles, schedules, amendments"
21
+ legal_text,India Code,CrPC Criminal Procedure Code,https://www.indiacode.nic.in/bitstream/123456789/1362/1/a1974-02.pdf,legislation,Code of Criminal Procedure,Code of Criminal Procedure
22
+ legal_text,India Code,PMLA 2002,https://www.indiacode.nic.in/handle/123456789/2036,legislation,Prevention of Money Laundering Act,Prevention of Money Laundering Act
23
+ legal_text,India Code,Prevention of Corruption Act,https://www.indiacode.nic.in/handle/123456789/2037,legislation,PCA 1988 with 2018 amendments,PCA 1988 with 2018 amendments
24
+ legal_text,India Code,RTI Act 2005,https://www.indiacode.nic.in/handle/123456789/1872,legislation,Right to Information Act full text,Right to Information Act full text
25
+ legal_text,India Code,Companies Act 2013,https://www.indiacode.nic.in/handle/123456789/2479,legislation,Corporate law provisions,Corporate law provisions
26
+ legal_text,India Code,Forest Conservation Act 1980,https://www.indiacode.nic.in/handle/123456789/13482,legislation,"Forest diversion rules, FCA 1980","Forest diversion rules, FCA 1980"
27
+ legal_text,India Code,Environment Protection Act 1986,https://www.indiacode.nic.in/handle/123456789/7654,legislation,EPA 1986 provisions,EPA 1986 provisions
28
+ legal_text,India Code,FEMA 1999,https://www.indiacode.nic.in/handle/123456789/4679,legislation,Foreign exchange violations,Foreign exchange violations
29
+ legal_text,India Code,Insolvency Bankruptcy Code IBC,https://ibbi.gov.in,legislation,IBC 2016 full text,IBC 2016 full text
30
+ legal_text,India Code,SEBI Act 1992,https://www.sebi.gov.in/legal/acts/jun-1992/the-securities-and-exchange-board-of-india-act-1992_1.html,legislation,Securities regulation,Securities regulation
31
+ legal_text,India Code,POCSO Act,https://www.indiacode.nic.in/handle/123456789/2132,legislation,Child protection act,Child protection act
32
+ legal_text,India Code,Competition Act 2002,https://www.cci.gov.in/sites/default/files/the_competition_act.pdf,legislation,Antitrust and monopoly law,Antitrust and monopoly law
33
+ legal_text,India Code,UAPA 1967,https://www.indiacode.nic.in/handle/123456789/2044,legislation,Unlawful activities prevention,Unlawful activities prevention
34
+ legal_text,India Code,Wildlife Protection Act,https://www.indiacode.nic.in/handle/123456789/1753,legislation,"Wildlife crime, species protection","Wildlife crime, species protection"
35
+ legal_text,India Code,DPDP Act 2023,https://www.meity.gov.in/writereaddata/files/Digital%20Personal%20Data%20Protection%20Act%202023.pdf,legislation,Digital personal data protection,Digital personal data protection
36
+ legal_text,India Code,Scheduled Castes Act 1989,https://www.indiacode.nic.in/handle/123456789/1252,legislation,SC/ST prevention of atrocities,SC/ST prevention of atrocities
37
+ judiciary,Courts/Judiciary,eCourts National Portal,https://ecourts.gov.in,court/legal,"Case status, orders, cause lists","Case status, orders, cause lists"
38
+ judiciary,Courts/Judiciary,NJDG National Judicial Data Grid,https://njdg.ecourts.gov.in,court/legal,"Pendency, institution, disposal","Pendency, institution, disposal"
39
+ judiciary,Courts/Judiciary,NJDG High Court Data,https://njdg.ecourts.gov.in/hcnjdg/,court/legal,HC pendency by case type,HC pendency by case type
40
+ judiciary,Courts/Judiciary,NJDG District Courts,https://njdg.ecourts.gov.in/njdg_public/,court/legal,District court pendency live,District court pendency live
41
+ judiciary,Courts/Judiciary,Supreme Court Judgments,https://www.sci.gov.in/judgements-case-no/,court/legal,All SC judgments searchable,All SC judgments searchable
42
+ judiciary,Courts/Judiciary,SCI Latest Orders,https://www.sci.gov.in/latest-orders/,court/legal,Daily orders,Daily orders
43
+ judiciary,Courts/Judiciary,SCI Landmark Judgments,https://www.sci.gov.in/landmark-judgment-summaries/,court/legal,Landmark case summaries,Landmark case summaries
44
+ judiciary,Courts/Judiciary,NGT Judgments,https://greentribunal.gov.in/judgementOrder/zonalbenchwise,court/legal,Environment court orders,Environment court orders
45
+ judiciary,Courts/Judiciary,eCourts Case Status API,https://services.ecourts.gov.in,court/legal,REST API for case tracking,REST API for case tracking
46
+ judiciary,Courts/Judiciary,NCLT Portal,https://nclt.gov.in,court/legal,"Company law, insolvency cases","Company law, insolvency cases"
47
+ judiciary,Courts/Judiciary,DRT Debt Recovery Tribunals,https://drtindia.gov.in,court/legal,"Debt recovery, NPA cases","Debt recovery, NPA cases"
48
+ judiciary,Courts/Judiciary,ITAT Income Tax Tribunal,https://itat.gov.in,court/legal,Income tax disputes,Income tax disputes
49
+ judiciary,Courts/Judiciary,CESTAT Tribunal,https://cestat.gov.in,court/legal,Customs and excise disputes,Customs and excise disputes
50
+ judiciary,Courts/Judiciary,TDSAT Telecom Tribunal,https://www.tdsat.gov.in,court/legal,Telecom disputes,Telecom disputes
51
+ judiciary,Courts/Judiciary,OGD Court Pendency Dataset,https://www.data.gov.in/resource/court-wise-number-pending-cases-district-and-subordinate-courts-high-courts-and-supreme,court/legal,Pendency stats dataset,Pendency stats dataset
52
+ judiciary,Courts/Judiciary,Allahabad HC,https://www.allahabadhighcourt.in,court/legal,UP High Court — largest in India,UP High Court — largest in India
53
+ judiciary,Courts/Judiciary,Bombay HC,https://bombayhighcourt.nic.in,court/legal,"Maharashtra, Goa, Dadra","Maharashtra, Goa, Dadra"
54
+ judiciary,Courts/Judiciary,Madras HC,https://www.hcmadras.tn.nic.in,court/legal,"Tamil Nadu, Puducherry","Tamil Nadu, Puducherry"
55
+ judiciary,Courts/Judiciary,Delhi HC,https://delhihighcourt.nic.in,court/legal,National capital territory,National capital territory
56
+ judiciary,Courts/Judiciary,Calcutta HC,https://calcuttahighcourt.gov.in,court/legal,"West Bengal, Andaman","West Bengal, Andaman"
57
+ judiciary,Courts/Judiciary,Karnataka HC,https://karnatakajudiciary.kar.nic.in,court/legal,Karnataka,Karnataka
58
+ judiciary,Courts/Judiciary,Telangana HC,https://hcts.gov.in,court/legal,Telangana,Telangana
59
+ judiciary,Courts/Judiciary,Kerala HC,https://www.hckerala.gov.in,court/legal,"Kerala, Lakshadweep","Kerala, Lakshadweep"
60
+ judiciary,Courts/Judiciary,Gujarat HC,https://gujarathighcourt.nic.in,court/legal,Gujarat,Gujarat
61
+ judiciary,Courts/Judiciary,Rajasthan HC,https://hcraj.nic.in,court/legal,Rajasthan — Jodhpur and Jaipur,Rajasthan — Jodhpur and Jaipur
62
+ judiciary,Courts/Judiciary,Punjab & Haryana HC,https://highcourtchd.gov.in,court/legal,"Punjab, Haryana, Chandigarh","Punjab, Haryana, Chandigarh"
63
+ judiciary,Courts/Judiciary,MP HC,https://mphc.gov.in,court/legal,Madhya Pradesh,Madhya Pradesh
64
+ judiciary,Courts/Judiciary,Gauhati HC,https://ghconline.gov.in,court/legal,Assam and all NE states,Assam and all NE states
65
+ judiciary,Courts/Judiciary,AP HC,https://hcap.nic.in,court/legal,Andhra Pradesh,Andhra Pradesh
66
+ judiciary,Courts/Judiciary,Chhattisgarh HC,https://highcourt.cg.gov.in,court/legal,Chhattisgarh,Chhattisgarh
67
+ judiciary,Courts/Judiciary,Jharkhand HC,https://jharkhandhighcourt.nic.in,court/legal,Jharkhand,Jharkhand
68
+ judiciary,Courts/Judiciary,Orissa HC,https://orissahighcourt.nic.in,court/legal,Odisha,Odisha
69
+ judiciary,Courts/Judiciary,Tripura HC,https://triphighcourt.gov.in,court/legal,Tripura,Tripura
70
+ judiciary,Courts/Judiciary,Uttarakhand HC,https://uttarakhandhighcourt.net.in,court/legal,Uttarakhand,Uttarakhand
71
+ judiciary,Courts/Judiciary,Himachal Pradesh HC,https://hphighcourt.nic.in,court/legal,Himachal Pradesh,Himachal Pradesh
72
+ judiciary,Courts/Judiciary,Sikkim HC,https://sikkim.gov.in/highcourt,court/legal,Sikkim,Sikkim
73
+ judiciary,Courts/Judiciary,Manipur HC,https://mhc.nic.in,court/legal,Manipur,Manipur
74
+ judiciary,Courts/Judiciary,Meghalaya HC,https://meghalayahighcourt.nic.in,court/legal,Meghalaya,Meghalaya
75
+ judiciary,Courts/Judiciary,Nagaland HC,https://nalhc.nic.in,court/legal,Nagaland,Nagaland
76
+ judiciary,Courts/Judiciary,Jammu & Kashmir HC,https://jkhighcourt.nic.in,court/legal,J&K and Ladakh,J&K and Ladakh
77
+ finance,Finance/Banking/Regulators,RBI DBIE Data Warehouse,https://data.rbi.org.in/DBIE/,financial data,"Macro, monetary, banking statistics","Macro, monetary, banking statistics"
78
+ finance,Finance/Banking/Regulators,RBI Statistics,https://www.rbi.org.in/Scripts/Statistics.aspx,financial data,RBI publications,RBI publications
79
+ finance,Finance/Banking/Regulators,RBI Enforcement Orders,https://www.rbi.org.in/Scripts/BS_PressReleaseDisplay.aspx,financial data,Bank penalties,Bank penalties
80
+ finance,Finance/Banking/Regulators,SEBI Statistics,https://www.sebi.gov.in/statistics/statistics.html,financial data,"Market stats, FPI, MF","Market stats, FPI, MF"
81
+ finance,Finance/Banking/Regulators,SEBI Enforcement Orders,https://www.sebi.gov.in/enforcement/orders/,financial data,"Penalties, bans by entity","Penalties, bans by entity"
82
+ finance,Finance/Banking/Regulators,SEBI Insider Trading Orders,https://www.sebi.gov.in/enforcement/orders/insider-trading/,financial data,Insider trading adjudications,Insider trading adjudications
83
+ finance,Finance/Banking/Regulators,MCA21 Portal,https://www.mca.gov.in,financial data,"Company master, filings, directors","Company master, filings, directors"
84
+ finance,Finance/Banking/Regulators,MCA Master Data Download,https://www.mca.gov.in/content/mca/global/hi/mca/master-data/MDS.html,financial data,Bulk company master data,Bulk company master data
85
+ finance,Finance/Banking/Regulators,MCA ROC e-Filings,https://efiling.mca.gov.in,financial data,"Balance sheets, P&L, directors","Balance sheets, P&L, directors"
86
+ finance,Finance/Banking/Regulators,Income Tax e-Filing,https://www.incometax.gov.in,financial data,"ITR filings, refunds, e-PAN","ITR filings, refunds, e-PAN"
87
+ finance,Finance/Banking/Regulators,CBIC Customs GST,https://www.cbic.gov.in,financial data,"GST, customs, excise","GST, customs, excise"
88
+ finance,Finance/Banking/Regulators,GST Portal,https://www.gst.gov.in,financial data,"GSTIN search, filing status","GSTIN search, filing status"
89
+ finance,Finance/Banking/Regulators,CGA Controller General,https://cga.nic.in,financial data,Government expenditure accounts,Government expenditure accounts
90
+ finance,Finance/Banking/Regulators,CAG Audit Reports,https://cag.gov.in,financial data,All CAG central/state audit reports,All CAG central/state audit reports
91
+ finance,Finance/Banking/Regulators,CAG Compliance Reports,https://cag.gov.in/cag_old/content/compliance-audit-reports,financial data,Scheme compliance audits,Scheme compliance audits
92
+ finance,Finance/Banking/Regulators,DEA Dept Economic Affairs,https://dea.gov.in,financial data,"Economic policy, debt, markets","Economic policy, debt, markets"
93
+ finance,Finance/Banking/Regulators,DOE Dept of Expenditure,https://doe.gov.in,financial data,"Budget, expenditure management","Budget, expenditure management"
94
+ finance,Finance/Banking/Regulators,DFS Financial Services,https://financialservices.gov.in,financial data,"Banking, insurance, pensions","Banking, insurance, pensions"
95
+ finance,Finance/Banking/Regulators,DIPAM Disinvestment,https://dipam.gov.in,financial data,"PSU disinvestment, shareholding","PSU disinvestment, shareholding"
96
+ finance,Finance/Banking/Regulators,Dept of Revenue,https://dor.gov.in,financial data,"Tax policy, enforcement","Tax policy, enforcement"
97
+ finance,Finance/Banking/Regulators,IRDAI Insurance Regulator,https://irdai.gov.in,financial data,Insurance sector regulation,Insurance sector regulation
98
+ finance,Finance/Banking/Regulators,PFRDA Pension Regulator,https://www.pfrda.org.in,financial data,"Pension funds, NPS data","Pension funds, NPS data"
99
+ finance,Finance/Banking/Regulators,Finance Commission,https://fincomindia.nic.in,financial data,"Federal transfers, state grants","Federal transfers, state grants"
100
+ finance,Finance/Banking/Regulators,FIU India,https://fiuindia.gov.in,financial data,"STR, anti-money laundering data","STR, anti-money laundering data"
101
+ finance,Finance/Banking/Regulators,Open Budgets India,https://openbudgetsindia.org,financial data,All state budget documents,All state budget documents
102
+ finance,Finance/Banking/Regulators,OGD Budget Datasets,https://www.data.gov.in/keywords/Budget,financial data,Year-wise budget datasets,Year-wise budget datasets
103
+ finance,Finance/Banking/Regulators,OGD NPA Data,https://www.data.gov.in/keywords/NPA,financial data,Bank bad loans by year,Bank bad loans by year
104
+ finance,Finance/Banking/Regulators,Ministry of Finance Portal,https://finmin.nic.in,financial data,Finance ministry portal,Finance ministry portal
105
+ environment,Environment/Forest/Climate,MoEFCC Portal,https://moef.gov.in,environment data,"Environment policy, notifications","Environment policy, notifications"
106
+ environment,Environment/Forest/Climate,PARIVESH Clearances,https://parivesh.nic.in,environment data,"Forest, wildlife, EC, CRZ clearances","Forest, wildlife, EC, CRZ clearances"
107
+ environment,Environment/Forest/Climate,PARIVESH Project Search,https://parivesh.nic.in/newupload/,environment data,Project-wise clearance status,Project-wise clearance status
108
+ environment,Environment/Forest/Climate,FSI Forest Survey India,https://fsi.nic.in,environment data,"Forest cover, fires, ISFR reports","Forest cover, fires, ISFR reports"
109
+ environment,Environment/Forest/Climate,FSI ISFR 2023 Report,https://fsi.nic.in/forest-report/india-state-of-forest-report-2023,environment data,Biennial forest cover assessment,Biennial forest cover assessment
110
+ environment,Environment/Forest/Climate,FSI Forest Fire Alerts,https://fsi.nic.in/forest-fire,environment data,MODIS/VIIRS real-time fire alerts,MODIS/VIIRS real-time fire alerts
111
+ environment,Environment/Forest/Climate,CPCB Central Pollution Board,https://cpcb.nic.in,environment data,"Pollution standards, compliance","Pollution standards, compliance"
112
+ environment,Environment/Forest/Climate,CPCB Real-time AQI,https://app.cpcbccr.com/AQI_India/,environment data,"PM2.5, PM10 city-wise live data","PM2.5, PM10 city-wise live data"
113
+ environment,Environment/Forest/Climate,CPCB Water Quality,https://cpcb.nic.in/water-quality-data/,environment data,River water quality parameters,River water quality parameters
114
+ environment,Environment/Forest/Climate,CPCB Industry Compliance,https://cpcb.nic.in/noc-for-industries/,environment data,Green/orange/red factory compliance,Green/orange/red factory compliance
115
+ environment,Environment/Forest/Climate,NGT Forest/Env Orders,https://greentribunal.gov.in,environment data,"Forest, mining, pollution orders","Forest, mining, pollution orders"
116
+ environment,Environment/Forest/Climate,CRZ Notifications MoEFCC,https://moef.gov.in/moef/index3.php?linkid=343&lang=1,environment data,"CRZ, mangrove protection orders","CRZ, mangrove protection orders"
117
+ environment,Environment/Forest/Climate,Maharashtra Mangrove Cell,https://www.mangroves.maharashtra.gov.in,environment data,"Mumbai mangroves, coastal ecology","Mumbai mangroves, coastal ecology"
118
+ environment,Environment/Forest/Climate,Maharashtra Forest Dept,https://mahaforest.gov.in,environment data,Western Ghats forest data,Western Ghats forest data
119
+ environment,Environment/Forest/Climate,WCCB Wildlife Crime,https://wccb.gov.in,environment data,"Trafficking, poaching statistics","Trafficking, poaching statistics"
120
+ environment,Environment/Forest/Climate,NTCA Tiger Authority,https://ntca.gov.in,environment data,"Tiger census, project tiger","Tiger census, project tiger"
121
+ environment,Environment/Forest/Climate,CWC Central Water Commission,https://cwc.gov.in,environment data,"Reservoir levels, flood data","Reservoir levels, flood data"
122
+ environment,Environment/Forest/Climate,India WRIS GIS Portal,https://indiawris.gov.in,environment data,GIS-based water resources,GIS-based water resources
123
+ environment,Environment/Forest/Climate,CAMPA Fund Data,https://www.data.gov.in/catalog/state-wise-campa-funds,environment data,Compensatory afforestation funds,Compensatory afforestation funds
124
+ environment,Environment/Forest/Climate,Bhuvan ISRO Geospatial,https://bhuvan.nrsc.gov.in,environment data,"India GIS portal, forest cover maps","India GIS portal, forest cover maps"
125
+ environment,Environment/Forest/Climate,NRSC Open Data Archive,https://www.nrsc.gov.in/NRSC_Open_Data_Archive,environment data,Satellite data download,Satellite data download
126
+ environment,Environment/Forest/Climate,MOSDAC Weather ISRO,https://www.mosdac.gov.in,environment data,INSAT-based weather data,INSAT-based weather data
127
+ environment,Environment/Forest/Climate,CGWB Groundwater Board,https://cgwb.gov.in,environment data,District-wise groundwater monitoring,District-wise groundwater monitoring
128
+ environment,Environment/Forest/Climate,OGD Environment Sector,https://www.data.gov.in/sector/Environment%20and%20Forest,environment data,All environment datasets,All environment datasets
129
+ environment,Environment/Forest/Climate,OGD MoEFCC Catalog,https://www.data.gov.in/catalogs?ministry=Ministry+of+Environment%2C+Forest+and+Climate+Change,environment data,MoEFCC datasets,MoEFCC datasets
130
+ environment,Environment/Forest/Climate,OGD Green India Mission,https://www.data.gov.in/catalog/green-india-mission-gim-data,environment data,"Afforestation, carbon sinks dataset","Afforestation, carbon sinks dataset"
131
+ pollution_board,Maharashtra PCB,Maharashtra Pollution Control Board,https://mpcb.gov.in,state regulator,"Pollution monitoring, industry compliance, mangrove violations","Industrial consent, enforcement orders"
132
+ pollution_board,Karnataka PCB,Karnataka Pollution Control Board,https://kspcb.karnataka.gov.in,state regulator,"Pollution board orders, consent management","Industrial consent, enforcement orders"
133
+ pollution_board,Tamil Nadu PCB,Tamil Nadu Pollution Control Board,https://tnpcb.gov.in,state regulator,"Air, water, noise compliance, SIPCOT zones","Industrial consent, enforcement orders"
134
+ pollution_board,Kerala PCB,Kerala Pollution Control Board,https://www.kspcb.kerala.gov.in,state regulator,"Kerala pollution data, coastal alerts","Industrial consent, enforcement orders"
135
+ pollution_board,Delhi PCB,Delhi Pollution Control Board,https://dpcc.delhigovt.nic.in,state regulator,"Delhi pollution control, odd-even data","Industrial consent, enforcement orders"
136
+ pollution_board,Gujarat PCB,Gujarat Pollution Control Board,https://gpcb.gujarat.gov.in,state regulator,"Industrial pollution, GIDC compliance","Industrial consent, enforcement orders"
137
+ pollution_board,Andhra Pradesh PCB,Andhra Pradesh Pollution Control Board,https://www.appcb.ap.gov.in,state regulator,AP pollution board orders,"Industrial consent, enforcement orders"
138
+ pollution_board,Telangana PCB,Telangana Pollution Control Board,https://tspcb.cgg.gov.in,state regulator,"TS pollution board, industry consents","Industrial consent, enforcement orders"
139
+ pollution_board,Rajasthan PCB,Rajasthan Pollution Control Board,https://www.rpcb.nic.in,state regulator,Rajasthan pollution compliance,"Industrial consent, enforcement orders"
140
+ pollution_board,West Bengal PCB,West Bengal Pollution Control Board,https://www.wbpcb.gov.in,state regulator,"WB pollution, tanneries, factories, Ganga","Industrial consent, enforcement orders"
141
+ pollution_board,Odisha PCB,Odisha Pollution Control Board,https://ospcb.gov.in,state regulator,"Odisha pollution board, mining areas","Industrial consent, enforcement orders"
142
+ pollution_board,Uttar Pradesh PCB,Uttar Pradesh Pollution Control Board,https://uppcb.com,state regulator,"UP pollution board, industrial zones","Industrial consent, enforcement orders"
143
+ pollution_board,Madhya Pradesh PCB,Madhya Pradesh Pollution Control Board,https://mppcb.mp.gov.in,state regulator,"MP pollution data, Bhopal legacy","Industrial consent, enforcement orders"
144
+ pollution_board,Punjab PCB,Punjab Pollution Control Board,https://www.ppcb.gov.in,state regulator,"Punjab pollution, Sutlej river data","Industrial consent, enforcement orders"
145
+ pollution_board,Haryana PCB,Haryana Pollution Control Board,https://hppcb.gov.in,state regulator,Haryana pollution compliance,"Industrial consent, enforcement orders"
146
+ pollution_board,Bihar PCB,Bihar Pollution Control Board,https://bspcb.bih.nic.in,state regulator,Bihar pollution board,"Industrial consent, enforcement orders"
147
+ pollution_board,Jharkhand PCB,Jharkhand Pollution Control Board,https://jpb.jharkhand.gov.in,state regulator,"Jharkhand pollution, mining zones","Industrial consent, enforcement orders"
148
+ pollution_board,Assam PCB,Assam Pollution Control Board,https://apcb.gov.in,state regulator,Assam pollution board,"Industrial consent, enforcement orders"
149
+ pollution_board,Chhattisgarh PCB,Chhattisgarh Pollution Control Board,https://cgpb.gov.in,state regulator,"CG pollution, coal and steel zones","Industrial consent, enforcement orders"
150
+ pollution_board,Uttarakhand PCB,Uttarakhand Pollution Control Board,https://ubpcb.uk.gov.in,state regulator,Uttarakhand pollution board,"Industrial consent, enforcement orders"
151
+ pollution_board,Goa PCB,Goa Pollution Control Board,https://gpcb.gov.in,state regulator,"Goa pollution, mining, coastal","Industrial consent, enforcement orders"
152
+ pollution_board,Nagaland PCB,Nagaland Pollution Control Board,https://nagalandpcb.gov.in,state regulator,Nagaland PCB,"Industrial consent, enforcement orders"
153
+ pollution_board,Manipur PCB,Manipur Pollution Control Board,https://manipurpcb.gov.in,state regulator,Manipur PCB,"Industrial consent, enforcement orders"
154
+ pollution_board,Meghalaya PCB,Meghalaya Pollution Control Board,https://meghalayapcb.gov.in,state regulator,Meghalaya PCB,"Industrial consent, enforcement orders"
155
+ pollution_board,Tripura PCB,Tripura Pollution Control Board,https://tripurapcb.gov.in,state regulator,Tripura PCB,"Industrial consent, enforcement orders"
156
+ pollution_board,Mizoram PCB,Mizoram Pollution Control Board,https://mizorampcb.gov.in,state regulator,Mizoram PCB,"Industrial consent, enforcement orders"
157
+ pollution_board,Sikkim PCB,Sikkim Pollution Control Board,https://sikkimpcb.gov.in,state regulator,Sikkim PCB,"Industrial consent, enforcement orders"
158
+ pollution_board,Arunachal Pradesh PCB,Arunachal Pradesh Pollution Control Board,https://arunachalpradeshpcb.gov.in,state regulator,Arunachal Pradesh PCB,"Industrial consent, enforcement orders"
159
+ state_forest,Karnataka Forest Dept,Karnataka Forest Department,https://aranya.gov.in,forest dept,"Forest management, permits, wildlife","Forest diversion, tree felling, wildlife data"
160
+ state_forest,Kerala Forest Dept,Kerala Forest Department,https://forest.kerala.gov.in,forest dept,"Western Ghats, eco-sensitive zones","Forest diversion, tree felling, wildlife data"
161
+ state_forest,Tamil Nadu Forest Dept,Tamil Nadu Forest Department,https://www.forests.tn.gov.in,forest dept,"TN forests, biosphere reserves","Forest diversion, tree felling, wildlife data"
162
+ state_forest,Andhra Pradesh Forest Dept,Andhra Pradesh Forest Department,https://forests.ap.gov.in,forest dept,AP forest management,"Forest diversion, tree felling, wildlife data"
163
+ state_forest,Telangana Forest Dept,Telangana Forest Department,https://forests.telangana.gov.in,forest dept,Telangana forest data,"Forest diversion, tree felling, wildlife data"
164
+ state_forest,Gujarat Forest Dept,Gujarat Forest Department,https://forests.gujarat.gov.in,forest dept,Gujarat forest dept,"Forest diversion, tree felling, wildlife data"
165
+ state_forest,Rajasthan Forest Dept,Rajasthan Forest Department,https://forest.rajasthan.gov.in,forest dept,"Rajasthan forests, desert ecology","Forest diversion, tree felling, wildlife data"
166
+ state_forest,Madhya Pradesh Forest Dept,Madhya Pradesh Forest Department,https://forest.mp.gov.in,forest dept,"MP forests, tiger reserves","Forest diversion, tree felling, wildlife data"
167
+ state_forest,Uttar Pradesh Forest Dept,Uttar Pradesh Forest Department,https://forest.up.gov.in,forest dept,"UP forest, Terai zone","Forest diversion, tree felling, wildlife data"
168
+ state_forest,Uttarakhand Forest Dept,Uttarakhand Forest Department,https://forests.uk.gov.in,forest dept,"Uttarakhand forests, Himalaya","Forest diversion, tree felling, wildlife data"
169
+ state_forest,Himachal Pradesh Forest Dept,Himachal Pradesh Forest Department,https://hpforest.nic.in,forest dept,"HP forests, apple belt","Forest diversion, tree felling, wildlife data"
170
+ state_forest,Odisha Forest Dept,Odisha Forest Department,https://forests.odisha.gov.in,forest dept,"Odisha forests, tribal forest rights","Forest diversion, tree felling, wildlife data"
171
+ state_forest,Bihar Forest Dept,Bihar Forest Department,https://forest.bih.nic.in,forest dept,Bihar forest dept,"Forest diversion, tree felling, wildlife data"
172
+ state_forest,West Bengal Forest Dept,West Bengal Forest Department,https://westbengalforest.gov.in,forest dept,"WB forests, Sundarbans","Forest diversion, tree felling, wildlife data"
173
+ state_forest,Assam Forest Dept,Assam Forest Department,https://assamforest.in,forest dept,"Assam forests, Kaziranga adjacent","Forest diversion, tree felling, wildlife data"
174
+ state_forest,Jharkhand Forest Dept,Jharkhand Forest Department,https://www.jharkhandforest.org,forest dept,"Jharkhand forest, mineral belt","Forest diversion, tree felling, wildlife data"
175
+ state_forest,Goa Forest Dept,Goa Forest Department,https://goaforest.com,forest dept,"Goa forests, Western Ghats, mining","Forest diversion, tree felling, wildlife data"
176
+ state_forest,Punjab Forest Dept,Punjab Forest Department,https://forests.punjab.gov.in,forest dept,Punjab forest dept,"Forest diversion, tree felling, wildlife data"
177
+ state_forest,Delhi Forest Dept,Delhi Forest Department,https://forest.delhi.gov.in,forest dept,"Delhi forest dept, ridges","Forest diversion, tree felling, wildlife data"
178
+ state_forest,Chhattisgarh Forest Dept,Chhattisgarh Forest Department,https://forest.cg.gov.in,forest dept,"CG forests, tribal areas","Forest diversion, tree felling, wildlife data"
179
+ state_forest,Haryana Forest Dept,Haryana Forest Department,https://haryanaforestsf.gov.in,forest dept,Haryana forest dept,"Forest diversion, tree felling, wildlife data"
180
+ state_forest,Manipur Forest Dept,Manipur Forest Department,https://forest.manipur.gov.in,forest dept,Manipur forest dept,"Forest diversion, tree felling, wildlife data"
181
+ state_forest,Nagaland Forest Dept,Nagaland Forest Department,https://forest.nagaland.gov.in,forest dept,"Nagaland forest, community forests","Forest diversion, tree felling, wildlife data"
182
+ state_forest,Tripura Forest Dept,Tripura Forest Department,https://forest.tripura.gov.in,forest dept,Tripura forest dept,"Forest diversion, tree felling, wildlife data"
183
+ state_forest,Meghalaya Forest Dept,Meghalaya Forest Department,https://forest.meghalaya.gov.in,forest dept,"Meghalaya forests, sacred groves","Forest diversion, tree felling, wildlife data"
184
+ state_forest,Mizoram Forest Dept,Mizoram Forest Department,https://forest.mizoram.gov.in,forest dept,Mizoram forests,"Forest diversion, tree felling, wildlife data"
185
+ state_forest,Sikkim Forest Dept,Sikkim Forest Department,https://forest.sikkim.gov.in,forest dept,Sikkim forests,"Forest diversion, tree felling, wildlife data"
186
+ state_forest,Arunachal Pradesh Forest Dept,Arunachal Pradesh Forest Department,https://forest.arunachalpradesh.gov.in,forest dept,Arunachal Pradesh forests,"Forest diversion, tree felling, wildlife data"
187
+ state_gazette,Tamil Nadu,Tamil Nadu e-Gazette,https://stationeryprinting.tn.gov.in/gazette/,official gazette,"TN official notifications, land orders","Government notifications, land/forest/revenue orders"
188
+ state_gazette,Maharashtra,Maharashtra e-Gazette,https://egazette.maharashtra.gov.in,official gazette,"MH gazette, environment orders","Government notifications, land/forest/revenue orders"
189
+ state_gazette,Karnataka,Karnataka e-Gazette,https://gazettedept.kar.nic.in,official gazette,"KA gazette, forest/land orders","Government notifications, land/forest/revenue orders"
190
+ state_gazette,Kerala,Kerala e-Gazette,https://egazette.kerala.gov.in,official gazette,"KL gazette, coastal orders","Government notifications, land/forest/revenue orders"
191
+ state_gazette,Andhra Pradesh,Andhra Pradesh e-Gazette,https://apgazette.ap.gov.in,official gazette,"AP gazette, revenue orders","Government notifications, land/forest/revenue orders"
192
+ state_gazette,Telangana,Telangana e-Gazette,https://gazette.telangana.gov.in,official gazette,"TS gazette, urban/env orders","Government notifications, land/forest/revenue orders"
193
+ state_gazette,Gujarat,Gujarat e-Gazette,https://gujgazette.gov.in,official gazette,"GJ gazette, industrial/port orders","Government notifications, land/forest/revenue orders"
194
+ state_gazette,Rajasthan,Rajasthan e-Gazette,https://rajpatra.rajasthan.gov.in,official gazette,"RJ gazette, mining orders","Government notifications, land/forest/revenue orders"
195
+ state_gazette,West Bengal,West Bengal e-Gazette,https://wb.gov.in/pages/view/69-wb-gazette,official gazette,"WB gazette, Sundarbans orders","Government notifications, land/forest/revenue orders"
196
+ state_gazette,Uttar Pradesh,Uttar Pradesh e-Gazette,https://upegazette.nic.in,official gazette,"UP gazette, revenue, forest orders","Government notifications, land/forest/revenue orders"
197
+ state_gazette,Madhya Pradesh,Madhya Pradesh e-Gazette,https://mpgazette.nic.in,official gazette,"MP gazette, environment orders","Government notifications, land/forest/revenue orders"
198
+ state_gazette,Bihar,Bihar e-Gazette,https://egazette.bih.nic.in,official gazette,Bihar gazette,"Government notifications, land/forest/revenue orders"
199
+ state_gazette,Punjab,Punjab e-Gazette,https://egazette.punjab.gov.in,official gazette,Punjab gazette,"Government notifications, land/forest/revenue orders"
200
+ state_gazette,Odisha,Odisha e-Gazette,https://odisha.gov.in/gazette,official gazette,Odisha gazette,"Government notifications, land/forest/revenue orders"
201
+ state_gazette,Chhattisgarh,Chhattisgarh e-Gazette,https://cggazette.nic.in,official gazette,"CG gazette, mining/forest","Government notifications, land/forest/revenue orders"
202
+ state_gazette,Delhi,Delhi e-Gazette,https://delhi.gov.in/page/delhi-gazette,official gazette,Delhi gazette,"Government notifications, land/forest/revenue orders"
203
+ state_gazette,Assam,Assam e-Gazette,https://www.assam.gov.in/documents/gazette,official gazette,Assam gazette,"Government notifications, land/forest/revenue orders"
204
+ state_gazette,Haryana,Haryana e-Gazette,https://haryana.gov.in/documents/gazette,official gazette,Haryana gazette,"Government notifications, land/forest/revenue orders"
205
+ state_gazette,Jharkhand,Jharkhand e-Gazette,https://egazette.jharkhand.gov.in,official gazette,Jharkhand gazette,"Government notifications, land/forest/revenue orders"
206
+ state_gazette,Himachal Pradesh,Himachal Pradesh e-Gazette,https://egazette.himachalpradesh.gov.in,official gazette,HP gazette,"Government notifications, land/forest/revenue orders"
207
+ state_gazette,Uttarakhand,Uttarakhand e-Gazette,https://egazette.uttarakhand.gov.in,official gazette,Uttarakhand gazette,"Government notifications, land/forest/revenue orders"
208
+ state_gazette,Goa,Goa e-Gazette,https://egazette.goa.gov.in,official gazette,"Goa gazette, coastal zone orders","Government notifications, land/forest/revenue orders"
209
+ state_gazette,Tripura,Tripura e-Gazette,https://egazette.tripura.gov.in,official gazette,Tripura gazette,"Government notifications, land/forest/revenue orders"
210
+ state_gazette,Manipur,Manipur e-Gazette,https://egazette.manipur.gov.in,official gazette,Manipur gazette,"Government notifications, land/forest/revenue orders"
211
+ state_gazette,Meghalaya,Meghalaya e-Gazette,https://egazette.meghalaya.gov.in,official gazette,Meghalaya gazette,"Government notifications, land/forest/revenue orders"
212
+ state_gazette,Nagaland,Nagaland e-Gazette,https://egazette.nagaland.gov.in,official gazette,Nagaland gazette,"Government notifications, land/forest/revenue orders"
213
+ state_gazette,Mizoram,Mizoram e-Gazette,https://egazette.mizoram.gov.in,official gazette,Mizoram gazette,"Government notifications, land/forest/revenue orders"
214
+ state_gazette,Sikkim,Sikkim e-Gazette,https://egazette.sikkim.gov.in,official gazette,Sikkim gazette,"Government notifications, land/forest/revenue orders"
215
+ state_gazette,Arunachal Pradesh,Arunachal Pradesh e-Gazette,https://egazette.arunachalpradesh.gov.in,official gazette,Arunachal gazette,"Government notifications, land/forest/revenue orders"
216
+ state_data,Andhra Pradesh,Andhra Pradesh Open Data/Portal,https://ap.data.gov.in,state portal,AP state open data,State government data and services
217
+ state_data,Karnataka,Karnataka Open Data/Portal,https://karnataka.data.gov.in,state portal,KA state open data,State government data and services
218
+ state_data,Kerala,Kerala Open Data/Portal,https://kerala.data.gov.in,state portal,KL state open data,State government data and services
219
+ state_data,Tamil Nadu,Tamil Nadu Open Data/Portal,https://tn.data.gov.in,state portal,TN state open data,State government data and services
220
+ state_data,Odisha,Odisha Open Data/Portal,https://odisha.data.gov.in,state portal,Odisha state open data,State government data and services
221
+ state_data,Punjab,Punjab Open Data/Portal,https://punjab.data.gov.in,state portal,Punjab state open data,State government data and services
222
+ state_data,Uttar Pradesh,Uttar Pradesh Open Data/Portal,https://up.data.gov.in,state portal,UP state open data,State government data and services
223
+ state_data,Jammu Kashmir,Jammu Kashmir Open Data/Portal,https://jk.data.gov.in,state portal,JK state open data,State government data and services
224
+ state_data,Telangana,Telangana Open Data/Portal,https://data.telangana.gov.in,state portal,Telangana open data,State government data and services
225
+ state_data,Sikkim,Sikkim Open Data/Portal,https://sikkim.data.gov.in,state portal,Sikkim open data,State government data and services
226
+ state_data,Maharashtra,Maharashtra Open Data/Portal,https://data.maharashtra.gov.in,state portal,Maharashtra open data,State government data and services
227
+ state_data,Rajasthan Jan Soochna,Rajasthan Jan Soochna Open Data/Portal,https://jansoochna.rajasthan.gov.in,state portal,Rajasthan RTI and open data,State government data and services
228
+ state_data,Bihar State Portal,Bihar State Portal Open Data/Portal,https://state.bihar.gov.in,state portal,Bihar state portal and data,State government data and services
229
+ state_data,West Bengal Portal,West Bengal Portal Open Data/Portal,https://wb.gov.in,state portal,West Bengal government portal,State government data and services
230
+ state_data,Delhi Portal,Delhi Portal Open Data/Portal,https://delhi.gov.in,state portal,Delhi government portal,State government data and services
231
+ state_data,Assam Portal,Assam Portal Open Data/Portal,https://assam.gov.in,state portal,Assam government portal,State government data and services
232
+ state_data,Chhattisgarh Portal,Chhattisgarh Portal Open Data/Portal,https://cgstate.gov.in,state portal,Chhattisgarh portal,State government data and services
233
+ state_data,Jharkhand Portal,Jharkhand Portal Open Data/Portal,https://jharkhand.gov.in,state portal,Jharkhand government portal,State government data and services
234
+ state_data,Himachal Pradesh Portal,Himachal Pradesh Portal Open Data/Portal,https://himachal.nic.in,state portal,HP government portal,State government data and services
235
+ state_data,Uttarakhand Portal,Uttarakhand Portal Open Data/Portal,https://uk.gov.in,state portal,Uttarakhand portal,State government data and services
236
+ state_data,Goa Portal,Goa Portal Open Data/Portal,https://goa.gov.in,state portal,Goa government portal,State government data and services
237
+ state_data,Haryana Portal,Haryana Portal Open Data/Portal,https://haryana.gov.in,state portal,Haryana portal,State government data and services
238
+ state_data,Tripura Portal,Tripura Portal Open Data/Portal,https://tripura.gov.in,state portal,Tripura portal,State government data and services
239
+ state_data,Meghalaya Portal,Meghalaya Portal Open Data/Portal,https://meghalaya.gov.in,state portal,Meghalaya portal,State government data and services
240
+ state_data,Manipur Portal,Manipur Portal Open Data/Portal,https://manipur.gov.in,state portal,Manipur portal,State government data and services
241
+ state_data,Nagaland Portal,Nagaland Portal Open Data/Portal,https://nagaland.gov.in,state portal,Nagaland portal,State government data and services
242
+ state_data,Arunachal Pradesh Portal,Arunachal Pradesh Portal Open Data/Portal,https://arunachalpradesh.gov.in,state portal,AP portal,State government data and services
243
+ state_data,Mizoram Portal,Mizoram Portal Open Data/Portal,https://mizoram.gov.in,state portal,Mizoram portal,State government data and services
244
+ state_data,Sikkim Portal,Sikkim Portal Open Data/Portal,https://sikkim.gov.in,state portal,Sikkim portal,State government data and services
245
+ state_data,Madhya Pradesh eDistrict,Madhya Pradesh eDistrict Open Data/Portal,https://mpedistrict.gov.in,state portal,MP e-district services,State government data and services
246
+ state_data,Gujarat Portal,Gujarat Portal Open Data/Portal,https://gujarat.gov.in,state portal,Gujarat government portal,State government data and services
247
+ ibef,India Brand Equity Foundation (IBEF),IBEF Home,https://www.ibef.org,economy data,India Brand Equity Foundation portal,IBEF sector analysis and investment data
248
+ ibef,India Brand Equity Foundation (IBEF),Indian Economy Overview,https://www.ibef.org/economy/indian-economy-overview,economy data,"Economy overview, GDP, trade",IBEF sector analysis and investment data
249
+ ibef,India Brand Equity Foundation (IBEF),Foreign Direct Investment,https://www.ibef.org/economy/foreign-direct-investment,economy data,FDI data and trends,IBEF sector analysis and investment data
250
+ ibef,India Brand Equity Foundation (IBEF),Government Schemes,https://www.ibef.org/economy/government-schemes,economy data,All major government schemes,IBEF sector analysis and investment data
251
+ ibef,India Brand Equity Foundation (IBEF),Make in India,https://www.ibef.org/economy/make-in-india,economy data,Make in India initiative data,IBEF sector analysis and investment data
252
+ ibef,India Brand Equity Foundation (IBEF),Union Budget 2025-26,https://www.ibef.org/economy/union-budget-2025-26,economy data,Budget analysis,IBEF sector analysis and investment data
253
+ ibef,India Brand Equity Foundation (IBEF),Union Budget 2026-27,https://www.ibef.org/economy/union-budget-2026-27,economy data,Budget analysis,IBEF sector analysis and investment data
254
+ ibef,India Brand Equity Foundation (IBEF),Economic Survey 2025-26,https://www.ibef.org/economy/economic-survey-2025-26,economy data,Economic survey,IBEF sector analysis and investment data
255
+ ibef,India Brand Equity Foundation (IBEF),Export By Products,https://www.ibef.org/export-products,economy data,Export product data,IBEF sector analysis and investment data
256
+ ibef,India Brand Equity Foundation (IBEF),Export By Country,https://www.ibef.org/indian-exports,economy data,Export country data,IBEF sector analysis and investment data
257
+ ibef,India Brand Equity Foundation (IBEF),Monthly Economic Report,https://www.ibef.org/economy/monthly-economic-report,economy data,Monthly economic data,IBEF sector analysis and investment data
258
+ ibef,India Brand Equity Foundation (IBEF),Startup India,https://www.ibef.org/economy/startup-india,economy data,Startup ecosystem data,IBEF sector analysis and investment data
259
+ ibef,India Brand Equity Foundation (IBEF),IBEF Agriculture Sector,https://www.ibef.org/industry/agriculture-india,industry report,IBEF sector analysis: Agriculture,Sector-wise investment and market data
260
+ ibef,India Brand Equity Foundation (IBEF),IBEF Automobiles Sector,https://www.ibef.org/industry/automobiles,industry report,IBEF sector analysis: Automobiles,Sector-wise investment and market data
261
+ ibef,India Brand Equity Foundation (IBEF),IBEF Aviation Sector,https://www.ibef.org/industry/aviation,industry report,IBEF sector analysis: Aviation,Sector-wise investment and market data
262
+ ibef,India Brand Equity Foundation (IBEF),IBEF Banking Sector,https://www.ibef.org/industry/banking,industry report,IBEF sector analysis: Banking,Sector-wise investment and market data
263
+ ibef,India Brand Equity Foundation (IBEF),IBEF Biotechnology Sector,https://www.ibef.org/industry/biotechnology,industry report,IBEF sector analysis: Biotechnology,Sector-wise investment and market data
264
+ ibef,India Brand Equity Foundation (IBEF),IBEF Defence Manufacturing Sector,https://www.ibef.org/industry/defence-manufacturing,industry report,IBEF sector analysis: Defence Manufacturing,Sector-wise investment and market data
265
+ ibef,India Brand Equity Foundation (IBEF),IBEF E-Commerce Sector,https://www.ibef.org/industry/e-commerce,industry report,IBEF sector analysis: E-Commerce,Sector-wise investment and market data
266
+ ibef,India Brand Equity Foundation (IBEF),IBEF Education Sector,https://www.ibef.org/industry/education-and-training,industry report,IBEF sector analysis: Education,Sector-wise investment and market data
267
+ ibef,India Brand Equity Foundation (IBEF),IBEF Electric Vehicles Sector,https://www.ibef.org/industry/electric-vehicle,industry report,IBEF sector analysis: Electric Vehicles,Sector-wise investment and market data
268
+ ibef,India Brand Equity Foundation (IBEF),IBEF Electronics ESDM Sector,https://www.ibef.org/industry/electronics-system-design-manufacturing,industry report,IBEF sector analysis: Electronics ESDM,Sector-wise investment and market data
269
+ ibef,India Brand Equity Foundation (IBEF),IBEF Financial Services Sector,https://www.ibef.org/industry/financial-services,industry report,IBEF sector analysis: Financial Services,Sector-wise investment and market data
270
+ ibef,India Brand Equity Foundation (IBEF),IBEF Food Processing Sector,https://www.ibef.org/industry/food-processing,industry report,IBEF sector analysis: Food Processing,Sector-wise investment and market data
271
+ ibef,India Brand Equity Foundation (IBEF),IBEF Healthcare Sector,https://www.ibef.org/industry/healthcare,industry report,IBEF sector analysis: Healthcare,Sector-wise investment and market data
272
+ ibef,India Brand Equity Foundation (IBEF),IBEF Infrastructure Sector,https://www.ibef.org/industry/infrastructure,industry report,IBEF sector analysis: Infrastructure,Sector-wise investment and market data
273
+ ibef,India Brand Equity Foundation (IBEF),IBEF IT & BPM Sector,https://www.ibef.org/industry/it-bpm,industry report,IBEF sector analysis: IT & BPM,Sector-wise investment and market data
274
+ ibef,India Brand Equity Foundation (IBEF),IBEF Manufacturing Sector,https://www.ibef.org/industry/manufacturing-sector-india,industry report,IBEF sector analysis: Manufacturing,Sector-wise investment and market data
275
+ ibef,India Brand Equity Foundation (IBEF),IBEF Metals and Mining Sector,https://www.ibef.org/industry/metals-and-mining,industry report,IBEF sector analysis: Metals and Mining,Sector-wise investment and market data
276
+ ibef,India Brand Equity Foundation (IBEF),IBEF MSME Sector,https://www.ibef.org/industry/msme,industry report,IBEF sector analysis: MSME,Sector-wise investment and market data
277
+ ibef,India Brand Equity Foundation (IBEF),IBEF Oil and Gas Sector,https://www.ibef.org/industry/oil-and-gas,industry report,IBEF sector analysis: Oil and Gas,Sector-wise investment and market data
278
+ ibef,India Brand Equity Foundation (IBEF),IBEF Pharmaceuticals Sector,https://www.ibef.org/industry/pharmaceuticals,industry report,IBEF sector analysis: Pharmaceuticals,Sector-wise investment and market data
279
+ ibef,India Brand Equity Foundation (IBEF),IBEF Power Sector,https://www.ibef.org/industry/power,industry report,IBEF sector analysis: Power,Sector-wise investment and market data
280
+ ibef,India Brand Equity Foundation (IBEF),IBEF Railways Sector,https://www.ibef.org/industry/railways,industry report,IBEF sector analysis: Railways,Sector-wise investment and market data
281
+ ibef,India Brand Equity Foundation (IBEF),IBEF Real Estate Sector,https://www.ibef.org/industry/real-estate,industry report,IBEF sector analysis: Real Estate,Sector-wise investment and market data
282
+ ibef,India Brand Equity Foundation (IBEF),IBEF Renewable Energy Sector,https://www.ibef.org/industry/renewable-energy,industry report,IBEF sector analysis: Renewable Energy,Sector-wise investment and market data
283
+ ibef,India Brand Equity Foundation (IBEF),IBEF Retail Sector,https://www.ibef.org/industry/retail,industry report,IBEF sector analysis: Retail,Sector-wise investment and market data
284
+ ibef,India Brand Equity Foundation (IBEF),IBEF Roads Sector,https://www.ibef.org/industry/roads,industry report,IBEF sector analysis: Roads,Sector-wise investment and market data
285
+ ibef,India Brand Equity Foundation (IBEF),IBEF Steel Sector,https://www.ibef.org/industry/steel,industry report,IBEF sector analysis: Steel,Sector-wise investment and market data
286
+ ibef,India Brand Equity Foundation (IBEF),IBEF Telecommunications Sector,https://www.ibef.org/industry/telecommunications,industry report,IBEF sector analysis: Telecommunications,Sector-wise investment and market data
287
+ ibef,India Brand Equity Foundation (IBEF),IBEF Textiles Sector,https://www.ibef.org/industry/textiles,industry report,IBEF sector analysis: Textiles,Sector-wise investment and market data
288
+ ibef,India Brand Equity Foundation (IBEF),IBEF Tourism and Hospitality Sector,https://www.ibef.org/industry/tourism-and-hospitality,industry report,IBEF sector analysis: Tourism and Hospitality,Sector-wise investment and market data
289
+ ibef,India Brand Equity Foundation (IBEF),IBEF Andhra Pradesh,https://www.ibef.org/states/andhra-pradesh,state investment profile,State economy and investment profile: Andhra Pradesh,State-wise economy overview
290
+ ibef,India Brand Equity Foundation (IBEF),IBEF Arunachal Pradesh,https://www.ibef.org/states/arunachal-pradesh,state investment profile,State economy and investment profile: Arunachal Pradesh,State-wise economy overview
291
+ ibef,India Brand Equity Foundation (IBEF),IBEF Assam,https://www.ibef.org/states/assam,state investment profile,State economy and investment profile: Assam,State-wise economy overview
292
+ ibef,India Brand Equity Foundation (IBEF),IBEF Bihar,https://www.ibef.org/states/bihar,state investment profile,State economy and investment profile: Bihar,State-wise economy overview
293
+ ibef,India Brand Equity Foundation (IBEF),IBEF Chhattisgarh,https://www.ibef.org/states/chhattisgarh,state investment profile,State economy and investment profile: Chhattisgarh,State-wise economy overview
294
+ ibef,India Brand Equity Foundation (IBEF),IBEF Delhi,https://www.ibef.org/states/delhi,state investment profile,State economy and investment profile: Delhi,State-wise economy overview
295
+ ibef,India Brand Equity Foundation (IBEF),IBEF Goa,https://www.ibef.org/states/goa,state investment profile,State economy and investment profile: Goa,State-wise economy overview
296
+ ibef,India Brand Equity Foundation (IBEF),IBEF Gujarat,https://www.ibef.org/states/gujarat,state investment profile,State economy and investment profile: Gujarat,State-wise economy overview
297
+ ibef,India Brand Equity Foundation (IBEF),IBEF Haryana,https://www.ibef.org/states/haryana,state investment profile,State economy and investment profile: Haryana,State-wise economy overview
298
+ ibef,India Brand Equity Foundation (IBEF),IBEF Himachal Pradesh,https://www.ibef.org/states/himachal-pradesh,state investment profile,State economy and investment profile: Himachal Pradesh,State-wise economy overview
299
+ ibef,India Brand Equity Foundation (IBEF),IBEF Jammu and Kashmir,https://www.ibef.org/states/jammu-and-kashmir,state investment profile,State economy and investment profile: Jammu and Kashmir,State-wise economy overview
300
+ ibef,India Brand Equity Foundation (IBEF),IBEF Jharkhand,https://www.ibef.org/states/jharkhand,state investment profile,State economy and investment profile: Jharkhand,State-wise economy overview
301
+ ibef,India Brand Equity Foundation (IBEF),IBEF Karnataka,https://www.ibef.org/states/karnataka,state investment profile,State economy and investment profile: Karnataka,State-wise economy overview
302
+ ibef,India Brand Equity Foundation (IBEF),IBEF Kerala,https://www.ibef.org/states/kerala,state investment profile,State economy and investment profile: Kerala,State-wise economy overview
303
+ ibef,India Brand Equity Foundation (IBEF),IBEF Ladakh,https://www.ibef.org/states/ladakh,state investment profile,State economy and investment profile: Ladakh,State-wise economy overview
304
+ ibef,India Brand Equity Foundation (IBEF),IBEF Madhya Pradesh,https://www.ibef.org/states/madhya-pradesh,state investment profile,State economy and investment profile: Madhya Pradesh,State-wise economy overview
305
+ ibef,India Brand Equity Foundation (IBEF),IBEF Maharashtra,https://www.ibef.org/states/maharashtra,state investment profile,State economy and investment profile: Maharashtra,State-wise economy overview
306
+ ibef,India Brand Equity Foundation (IBEF),IBEF Manipur,https://www.ibef.org/states/manipur,state investment profile,State economy and investment profile: Manipur,State-wise economy overview
307
+ ibef,India Brand Equity Foundation (IBEF),IBEF Meghalaya,https://www.ibef.org/states/meghalaya,state investment profile,State economy and investment profile: Meghalaya,State-wise economy overview
308
+ ibef,India Brand Equity Foundation (IBEF),IBEF Mizoram,https://www.ibef.org/states/mizoram,state investment profile,State economy and investment profile: Mizoram,State-wise economy overview
309
+ ibef,India Brand Equity Foundation (IBEF),IBEF Nagaland,https://www.ibef.org/states/nagaland,state investment profile,State economy and investment profile: Nagaland,State-wise economy overview
310
+ ibef,India Brand Equity Foundation (IBEF),IBEF Odisha,https://www.ibef.org/states/odisha,state investment profile,State economy and investment profile: Odisha,State-wise economy overview
311
+ ibef,India Brand Equity Foundation (IBEF),IBEF Punjab,https://www.ibef.org/states/punjab,state investment profile,State economy and investment profile: Punjab,State-wise economy overview
312
+ ibef,India Brand Equity Foundation (IBEF),IBEF Rajasthan,https://www.ibef.org/states/rajasthan,state investment profile,State economy and investment profile: Rajasthan,State-wise economy overview
313
+ ibef,India Brand Equity Foundation (IBEF),IBEF Sikkim,https://www.ibef.org/states/sikkim,state investment profile,State economy and investment profile: Sikkim,State-wise economy overview
314
+ ibef,India Brand Equity Foundation (IBEF),IBEF Tamil Nadu,https://www.ibef.org/states/tamil-nadu,state investment profile,State economy and investment profile: Tamil Nadu,State-wise economy overview
315
+ ibef,India Brand Equity Foundation (IBEF),IBEF Telangana,https://www.ibef.org/states/telangana,state investment profile,State economy and investment profile: Telangana,State-wise economy overview
316
+ ibef,India Brand Equity Foundation (IBEF),IBEF Tripura,https://www.ibef.org/states/tripura,state investment profile,State economy and investment profile: Tripura,State-wise economy overview
317
+ ibef,India Brand Equity Foundation (IBEF),IBEF Uttar Pradesh,https://www.ibef.org/states/uttar-pradesh,state investment profile,State economy and investment profile: Uttar Pradesh,State-wise economy overview
318
+ ibef,India Brand Equity Foundation (IBEF),IBEF Uttarakhand,https://www.ibef.org/states/uttarakhand,state investment profile,State economy and investment profile: Uttarakhand,State-wise economy overview
319
+ ibef,India Brand Equity Foundation (IBEF),IBEF West Bengal,https://www.ibef.org/states/west-bengal,state investment profile,State economy and investment profile: West Bengal,State-wise economy overview
320
+ ibef,India Brand Equity Foundation (IBEF),IBEF Andaman & Nicobar,https://www.ibef.org/states/andaman-nicobar,state investment profile,State economy and investment profile: Andaman & Nicobar,State-wise economy overview
321
+ ibef,India Brand Equity Foundation (IBEF),IBEF Chandigarh,https://www.ibef.org/states/chandigarh,state investment profile,State economy and investment profile: Chandigarh,State-wise economy overview
322
+ ibef,India Brand Equity Foundation (IBEF),IBEF Puducherry,https://www.ibef.org/states/puducherry,state investment profile,State economy and investment profile: Puducherry,State-wise economy overview
323
+ ibef,India Brand Equity Foundation (IBEF),IBEF Lakshadweep,https://www.ibef.org/states/lakshadweep,state investment profile,State economy and investment profile: Lakshadweep,State-wise economy overview
324
+ ibef,India Brand Equity Foundation (IBEF),IBEF Dadra Nagar Haveli,https://www.ibef.org/states/dadra-nagar-haveli-and-daman-diu,state investment profile,State economy and investment profile: Dadra Nagar Haveli,State-wise economy overview
325
+ defence,Defence/DRDO/DPSUs,MoD Portal,https://mod.gov.in,defence data,"Defence policy, procurement","Defence policy, procurement"
326
+ defence,Defence/DRDO/DPSUs,DRDO Portal,https://drdo.gov.in,defence data,"Defence R&D, labs, projects","Defence R&D, labs, projects"
327
+ defence,Defence/DRDO/DPSUs,DRDO Annual Report,https://drdo.gov.in/annual-reports,defence data,Defence R&D budget and projects,Defence R&D budget and projects
328
+ defence,Defence/DRDO/DPSUs,Defence Acquisition Portal DAP,https://dap.mod.gov.in,defence data,"DAP 2020 acquisitions, vendor lists","DAP 2020 acquisitions, vendor lists"
329
+ defence,Defence/DRDO/DPSUs,Dept of Defence Production,https://ddpmod.gov.in,defence data,"Make-in-India defence, DPSUs","Make-in-India defence, DPSUs"
330
+ defence,Defence/DRDO/DPSUs,HAL Hindustan Aeronautics,https://hal-india.co.in,defence data,"Aircraft, helicopters, LCA Tejas","Aircraft, helicopters, LCA Tejas"
331
+ defence,Defence/DRDO/DPSUs,BEL Bharat Electronics,https://bel-india.in,defence data,"Electronics, radars, tenders","Electronics, radars, tenders"
332
+ defence,Defence/DRDO/DPSUs,BEML Limited,https://www.beml.co.in,defence data,"Mining, construction, defence vehicles","Mining, construction, defence vehicles"
333
+ defence,Defence/DRDO/DPSUs,BDL Bharat Dynamics,https://bdl-india.in,defence data,"Missiles, weapon systems","Missiles, weapon systems"
334
+ defence,Defence/DRDO/DPSUs,MDL Mazagon Dock,https://mazdocklimited.org,defence data,"Submarine, warship building","Submarine, warship building"
335
+ defence,Defence/DRDO/DPSUs,GRSE Naval Shipyard,https://www.grse.in,defence data,Naval ship construction,Naval ship construction
336
+ defence,Defence/DRDO/DPSUs,OFB Ordnance Factory Board,https://ofbindia.gov.in,defence data,"Ordnance, ammunition production","Ordnance, ammunition production"
337
+ defence,Defence/DRDO/DPSUs,OGD Defence Production Dataset,https://www.data.gov.in/catalog/defence-production-and-export,defence data,Year-wise production and exports,Year-wise production and exports
338
+ defence,Defence/DRDO/DPSUs,OGD DRDO Manpower,https://www.data.gov.in/catalog/manpower-details-drdo,defence data,DRDO staffing data,DRDO staffing data
339
+ defence,Defence/DRDO/DPSUs,CBI MES Corruption Cases,https://www.data.gov.in/resource/year-wise-details-corruption-cases-registered-cbi-under-prevention-corruption-act-1988,defence data,Defence corruption cases,Defence corruption cases
340
+ defence,Defence/DRDO/DPSUs,OGD MoD Ministry Page,https://www.data.gov.in/ministrydepartment/Ministry%20of%20Defence,defence data,All MoD datasets,All MoD datasets
341
+ defence,Defence/DRDO/DPSUs,Dept Ex-Servicemen Welfare,https://desw.gov.in,defence data,Veterans welfare data,Veterans welfare data
342
+ security,Security/Law Enforcement,NCRB Crime Statistics,https://ncrb.gov.in,law enforcement,"Crime in India by IPC section, state","Crime in India by IPC section, state"
343
+ security,Security/Law Enforcement,NCRB Prison Statistics,https://ncrb.gov.in/en/prison-statistics-india,law enforcement,"Prison data, undertrial details","Prison data, undertrial details"
344
+ security,Security/Law Enforcement,CBI Portal,https://cbi.gov.in,law enforcement,"Cases, press releases, fugitives","Cases, press releases, fugitives"
345
+ security,Security/Law Enforcement,CVC Vigilance Commission,https://cvc.gov.in,law enforcement,"Vigilance circulars, orders, penalties","Vigilance circulars, orders, penalties"
346
+ security,Security/Law Enforcement,CVC Tender Scrutiny,https://cvc.gov.in/tenders.php,law enforcement,Single-bid tender oversight,Single-bid tender oversight
347
+ security,Security/Law Enforcement,CVC Major Penalty Orders,https://cvc.gov.in/major-penalties.htm,law enforcement,IAS/IPS corruption actions,IAS/IPS corruption actions
348
+ security,Security/Law Enforcement,CIC RTI Orders,https://cic.gov.in,law enforcement,"RTI appeals, orders, compliance","RTI appeals, orders, compliance"
349
+ security,Security/Law Enforcement,NIA Portal,https://nia.gov.in,law enforcement,"Terror cases, chargesheets, notices","Terror cases, chargesheets, notices"
350
+ security,Security/Law Enforcement,ED Enforcement Directorate,https://enforcementdirectorate.gov.in,law enforcement,"PMLA, FEMA, attachments","PMLA, FEMA, attachments"
351
+ security,Security/Law Enforcement,SFIO Serious Fraud Office,https://sfio.nic.in,law enforcement,Corporate fraud investigations,Corporate fraud investigations
352
+ security,Security/Law Enforcement,MHA Portal,https://www.mha.gov.in,law enforcement,"Home affairs, internal security","Home affairs, internal security"
353
+ security,Security/Law Enforcement,MHA Annual Report,https://www.mha.gov.in/MHA1/AnnualReports.aspx,law enforcement,Comprehensive home affairs data,Comprehensive home affairs data
354
+ security,Security/Law Enforcement,UIDAI Statistics,https://uidai.gov.in/en/my-aadhaar/about-your-aadhaar/statistics.html,law enforcement,Aadhaar enrolment by state,Aadhaar enrolment by state
355
+ security,Security/Law Enforcement,BPR&D Police Research,https://bprd.nic.in,law enforcement,"Police research, training data","Police research, training data"
356
+ security,Security/Law Enforcement,Assam Rifles,https://www.assamrifles.gov.in,law enforcement,NE paramilitary force,NE paramilitary force
357
+ security,Security/Law Enforcement,BSF Border Security Force,https://bsf.gov.in,law enforcement,Border security data,Border security data
358
+ security,Security/Law Enforcement,CISF Central Industrial Security,https://cisf.gov.in,law enforcement,Industrial security force,Industrial security force
359
+ security,Security/Law Enforcement,CRPF Central Reserve Police,https://crpf.gov.in,law enforcement,Internal security force,Internal security force
360
+ security,Security/Law Enforcement,ITBP Indo-Tibetan Border Police,https://itbpolice.nic.in,law enforcement,Himalayan border force,Himalayan border force
361
+ security,Security/Law Enforcement,NSG National Security Guard,https://nsg.gov.in,law enforcement,Counter-terrorism force,Counter-terrorism force
362
+ security,Security/Law Enforcement,SSB Sashastra Seema Bal,https://ssb.gov.in,law enforcement,Nepal/Bhutan border force,Nepal/Bhutan border force
363
+ security,Security/Law Enforcement,SVPNPA Police Academy,https://svpnpa.gov.in,law enforcement,Police training institute,Police training institute
364
+ security,Security/Law Enforcement,NICFS Forensic Science,https://nicfs.gov.in,law enforcement,Criminology and forensics,Criminology and forensics
365
+ security,Security/Law Enforcement,DCPW Police Wireless,https://dcpw.gov.in,law enforcement,Police wireless coordination,Police wireless coordination
366
+ security,Security/Law Enforcement,SEBI SCORES Investor Portal,https://scores.sebi.gov.in,law enforcement,Investor complaints tracking,Investor complaints tracking
367
+ energy,Energy/Oil/Mining,CEA Central Electricity Authority,https://cea.nic.in,energy data,"Generation, transmission, grid stats","Generation, transmission, grid stats"
368
+ energy,Energy/Oil/Mining,National Power Portal,https://npp.gov.in,energy data,Real-time power system data,Real-time power system data
369
+ energy,Energy/Oil/Mining,Grid-India Grid Controller,https://grid-india.in,energy data,"Grid operation, merit order","Grid operation, merit order"
370
+ energy,Energy/Oil/Mining,MNRE Renewables Ministry,https://mnre.gov.in,energy data,"Solar, wind, hydro capacity by state","Solar, wind, hydro capacity by state"
371
+ energy,Energy/Oil/Mining,PPAC Petroleum Stats,https://ppac.gov.in,energy data,"Oil prices, consumption, reserves","Oil prices, consumption, reserves"
372
+ energy,Energy/Oil/Mining,Coal India Limited,https://www.coalindia.in,energy data,"Coal production, dispatch, financials","Coal production, dispatch, financials"
373
+ energy,Energy/Oil/Mining,Coal Ministry Portal,https://www.coal.nic.in,energy data,"Coal production, auctions, policy","Coal production, auctions, policy"
374
+ energy,Energy/Oil/Mining,MoPNG Petroleum Ministry,https://mopng.gov.in,energy data,"Oil and gas policy, E&P blocks","Oil and gas policy, E&P blocks"
375
+ energy,Energy/Oil/Mining,ONGC Portal,https://ongcindia.com,energy data,"Oil production, reserves, annual reports","Oil production, reserves, annual reports"
376
+ energy,Energy/Oil/Mining,DGH Directorate Hydrocarbons,https://www.dghindia.gov.in,energy data,"Upstream oil, gas blocks, OALP","Upstream oil, gas blocks, OALP"
377
+ energy,Energy/Oil/Mining,CERC Electricity Regulator,https://cercind.gov.in,energy data,"Tariff orders, open access","Tariff orders, open access"
378
+ energy,Energy/Oil/Mining,IOCL Indian Oil,https://iocl.com,energy data,"Fuel distribution, retail, finance","Fuel distribution, retail, finance"
379
+ energy,Energy/Oil/Mining,BPCL Bharat Petroleum,https://www.bharatpetroleum.in,energy data,Oil retail and distribution,Oil retail and distribution
380
+ energy,Energy/Oil/Mining,HPCL Hindustan Petroleum,https://www.hindustanpetroleum.com,energy data,Oil retail and distribution,Oil retail and distribution
381
+ energy,Energy/Oil/Mining,OALP Round Oil Blocks,https://oalp.petrosoftindia.com,energy data,"Oil block allocation, bidder data","Oil block allocation, bidder data"
382
+ energy,Energy/Oil/Mining,Coal Block Auctions,https://www.coal.nic.in/content/commercial-mining,energy data,Commercial coal mine auctions,Commercial coal mine auctions
383
+ energy,Energy/Oil/Mining,IBM Mining Statistics,https://ibm.gov.in/index.php?c=pages&m=index&id=444,energy data,Mineral production by mine,Mineral production by mine
384
+ energy,Energy/Oil/Mining,PMKKKY DMF Portal,https://pmkkky.gov.in,energy data,District Mineral Fund utilisation,District Mineral Fund utilisation
385
+ energy,Energy/Oil/Mining,Ministry of Mines,https://mines.gov.in,energy data,Mineral policy and data,Mineral policy and data
386
+ energy,Energy/Oil/Mining,OGD Power Generation,https://www.data.gov.in/catalog/power-generation,energy data,Station-wise generation dataset,Station-wise generation dataset
387
+ energy,Energy/Oil/Mining,OGD Power Sector,https://www.data.gov.in/sector/Power%20and%20Energy,energy data,All power/energy datasets,All power/energy datasets
388
+ energy,Energy/Oil/Mining,Indian Bureau of Mines IBM,https://ibm.gov.in,energy data,"Mining statistics, regulation","Mining statistics, regulation"
389
+ energy,Energy/Oil/Mining,Ministry of Steel,https://steel.gov.in,energy data,"Steel production, policy","Steel production, policy"
390
+ health,Health/Medical,HMIS Health Management Info,https://hmis.mohfw.gov.in,health data,"PHC, CHC, hospital data by state","PHC, CHC, hospital data by state"
391
+ health,Health/Medical,IHIP Disease Surveillance,https://ihip.mohfw.gov.in,health data,"Notifiable disease tracking, outbreaks","Notifiable disease tracking, outbreaks"
392
+ health,Health/Medical,NFHS-5 National Health Survey,https://rchiips.org/nfhs/nfhs5.shtml,health data,District-level health/nutrition data,District-level health/nutrition data
393
+ health,Health/Medical,PM-JAY Ayushman Bharat,https://pmjay.gov.in,health data,Health insurance scheme data,Health insurance scheme data
394
+ health,Health/Medical,NPPA Drug Pricing,https://nppa.gov.in,health data,"Drug price ceiling, DPCO orders","Drug price ceiling, DPCO orders"
395
+ health,Health/Medical,CDSCO Drug Regulator,https://cdsco.gov.in,health data,"Drug approvals, alerts, recalls","Drug approvals, alerts, recalls"
396
+ health,Health/Medical,NMC Medical Council,https://www.nmc.org.in,health data,"Doctor registration, college data","Doctor registration, college data"
397
+ health,Health/Medical,ICMR Medical Research,https://www.icmr.gov.in,health data,"Medical research, disease studies","Medical research, disease studies"
398
+ health,Health/Medical,MoHFW Portal,https://mohfw.gov.in,health data,"Health policy, programs, COVID data","Health policy, programs, COVID data"
399
+ health,Health/Medical,DHR Dept Health Research,https://dhr.gov.in,health data,Research funding and programs,Research funding and programs
400
+ health,Health/Medical,OGD Health Infrastructure,https://www.data.gov.in/catalog/public-health-facilities-india,health data,Facility count dataset,Facility count dataset
401
+ health,Health/Medical,OGD Health Sector,https://www.data.gov.in/sector/Health,health data,All health datasets,All health datasets
402
+ health,Health/Medical,AYUSH Ministry,https://www.ayush.gov.in,health data,Traditional medicine data,Traditional medicine data
403
+ science,ISRO/Science/Technology,ISRO Portal,https://www.isro.gov.in,science data,"Space missions, tech transfer","Space missions, tech transfer"
404
+ science,ISRO/Science/Technology,ISRO Technology Transfer,https://www.isro.gov.in/technology-transfer,science data,ISRO tech deals — track undervalued transfers,ISRO tech deals — track undervalued transfers
405
+ science,ISRO/Science/Technology,ISRO Annual Reports,https://www.isro.gov.in/annual-reports,science data,"Missions, budget, programme status","Missions, budget, programme status"
406
+ science,ISRO/Science/Technology,Antrix ISRO Commercial,https://www.antrix.gov.in,science data,"ISRO commercial launches, revenue","ISRO commercial launches, revenue"
407
+ science,ISRO/Science/Technology,SAC Space Applications,https://www.sac.gov.in,science data,"Space applications, reports","Space applications, reports"
408
+ science,ISRO/Science/Technology,IIRS Remote Sensing Edu,https://www.iirs.gov.in,science data,Remote sensing training data,Remote sensing training data
409
+ science,ISRO/Science/Technology,DST Science Statistics,https://dst.gov.in/statistical-data,science data,"R&D expenditure, patents","R&D expenditure, patents"
410
+ science,ISRO/Science/Technology,NSTMIS R&D Data,https://www.nstmis-dst.org,science data,"India S&T indicators, GERD","India S&T indicators, GERD"
411
+ science,ISRO/Science/Technology,DBT Biotechnology Dept,https://dbtindia.gov.in,science data,Biotech programs and funding,Biotech programs and funding
412
+ science,ISRO/Science/Technology,DSIR Industrial Research,https://dsir.gov.in,science data,"Research labs, projects","Research labs, projects"
413
+ science,ISRO/Science/Technology,Department of Space DOS,https://dos.gov.in,science data,Space program policy,Space program policy
414
+ science,ISRO/Science/Technology,IMD Meteorological Dept,https://mausam.imd.gov.in,science data,"Weather, cyclone, rainfall data","Weather, cyclone, rainfall data"
415
+ science,ISRO/Science/Technology,MoES Earth Sciences,https://moes.gov.in,science data,"Ocean, atmosphere, seismic data","Ocean, atmosphere, seismic data"
416
+ science,ISRO/Science/Technology,DAE Atomic Energy,https://dae.gov.in,science data,"Nuclear energy, BARC data","Nuclear energy, BARC data"
417
+ governance,Governance/Elections/Transparency,RTI Online Portal,https://rtionline.gov.in,governance data,"File RTI, track status","File RTI, track status"
418
+ governance,Governance/Elections/Transparency,CIC RTI Orders,https://cic.gov.in/cic-decisions,governance data,Searchable CIC decisions,Searchable CIC decisions
419
+ governance,Governance/Elections/Transparency,CPGRAMS Grievances,https://pgportal.gov.in,governance data,Citizen grievances portal,Citizen grievances portal
420
+ governance,Governance/Elections/Transparency,DARPG Admin Reforms,https://darpg.gov.in,governance data,"Administrative reforms, e-governance","Administrative reforms, e-governance"
421
+ governance,Governance/Elections/Transparency,NITI Aayog Data Hub,https://www.niti.gov.in/data,governance data,"SDG, health, district data","SDG, health, district data"
422
+ governance,Governance/Elections/Transparency,Aspirational Districts,https://aim.gov.in/aspirational-districts,governance data,115 underdeveloped districts,115 underdeveloped districts
423
+ governance,Governance/Elections/Transparency,ECI Election Commission,https://eci.gov.in,governance data,"Elections, candidates, parties, EVM","Elections, candidates, parties, EVM"
424
+ governance,Governance/Elections/Transparency,ECI Electoral Bond Data,https://eci.gov.in/files/file/14491-state-bank-of-india-details-of-electoral-bonds-purchased-and-redeemed/,governance data,Donor-party transactions (SC order),Donor-party transactions (SC order)
425
+ governance,Governance/Elections/Transparency,ECI Election Results,https://results.eci.gov.in,governance data,All election results by constituency,All election results by constituency
426
+ governance,Governance/Elections/Transparency,MyNeta ADR,https://myneta.info,governance data,"Politician assets, criminal records","Politician assets, criminal records"
427
+ governance,Governance/Elections/Transparency,PFMS Fund Flows,https://pfms.nic.in,governance data,"Scheme-wise fund flows, DBT","Scheme-wise fund flows, DBT"
428
+ governance,Governance/Elections/Transparency,DBT Direct Benefits,https://dbtbharat.gov.in,governance data,"All DBT schemes, beneficiaries","All DBT schemes, beneficiaries"
429
+ governance,Governance/Elections/Transparency,GeM Government Marketplace,https://gem.gov.in,governance data,All central govt contracts,All central govt contracts
430
+ governance,Governance/Elections/Transparency,GeM Open Data Reports,https://gem.gov.in/resources/download/report,governance data,Monthly procurement analytics,Monthly procurement analytics
431
+ governance,Governance/Elections/Transparency,CPPP Central Procurement,https://eprocure.gov.in,governance data,All central govt tenders,All central govt tenders
432
+ governance,Governance/Elections/Transparency,DISHA Scheme Dashboard,https://disha.gov.in,governance data,District-level fund utilisation,District-level fund utilisation
433
+ governance,Governance/Elections/Transparency,MyScheme Portal,https://www.myscheme.gov.in,governance data,All central and state schemes,All central and state schemes
434
+ governance,Governance/Elections/Transparency,ADR MP Asset Declarations,https://adrindia.org/research-and-support/lok-sabha-mp-profile,governance data,MP asset declarations,MP asset declarations
435
+ governance,Governance/Elections/Transparency,OGD RTI Disposal,https://www.data.gov.in/keywords/RTI,governance data,Ministry-wise RTI disposal rates,Ministry-wise RTI disposal rates
436
+ governance,Governance/Elections/Transparency,PMO Portal,https://www.pmo.gov.in,governance data,Prime Minister's Office,Prime Minister's Office
437
+ governance,Governance/Elections/Transparency,Cabinet Secretariat,https://cabsec.gov.in,governance data,"Cabinet decisions, coordination","Cabinet decisions, coordination"
438
+ governance,Governance/Elections/Transparency,President of India,https://presidentofindia.nic.in,governance data,"Acts, notifications, speeches","Acts, notifications, speeches"
439
+ governance,Governance/Elections/Transparency,Vice President of India,https://vicepresidentofindia.nic.in,governance data,"Speeches, office","Speeches, office"
440
+ governance,Governance/Elections/Transparency,UPSC Results,https://upsc.gov.in,governance data,"Civil service results, marks","Civil service results, marks"
441
+ governance,Governance/Elections/Transparency,Pensioners Portal,https://pensionersportal.gov.in,governance data,Pension data,Pension data
442
+ governance,Governance/Elections/Transparency,PSA Principal Scientific Adviser,https://psa.gov.in,governance data,Science policy advice,Science policy advice
443
+ agriculture,Agriculture/Food,AGMARKNET Mandi Prices,https://agmarknet.gov.in,agriculture data,Daily mandi prices by crop/state,Daily mandi prices by crop/state
444
+ agriculture,Agriculture/Food,eNAM National Agri Market,https://enam.gov.in,agriculture data,Electronic national agriculture market,Electronic national agriculture market
445
+ agriculture,Agriculture/Food,PM-KISAN OGD,https://www.data.gov.in/keywords/PM-KISAN,agriculture data,"PM-KISAN beneficiaries, disbursement","PM-KISAN beneficiaries, disbursement"
446
+ agriculture,Agriculture/Food,MGNREGA Dataset,https://www.data.gov.in/catalog/mahatma-gandhi-national-rural-employment-guarantee-scheme,agriculture data,"MGNREGA works, funds, employment","MGNREGA works, funds, employment"
447
+ agriculture,Agriculture/Food,MGNREGA MIS Live,https://mnregaweb4.nic.in/netnrega/home.aspx,agriculture data,Real-time MGNREGA state data,Real-time MGNREGA state data
448
+ agriculture,Agriculture/Food,ICAR Research Portal,https://icar.gov.in,agriculture data,"Crop varieties, farming research","Crop varieties, farming research"
449
+ agriculture,Agriculture/Food,Land Use Statistics OGD,https://www.data.gov.in/catalog/land-use-statistics-lus,agriculture data,"Crop area, cultivated land","Crop area, cultivated land"
450
+ agriculture,Agriculture/Food,Agricultural Census OGD,https://www.data.gov.in/catalog/agricultural-census,agriculture data,"Farm size, ownership, irrigation","Farm size, ownership, irrigation"
451
+ agriculture,Agriculture/Food,APEDA Agri Exports,https://apeda.gov.in,agriculture data,Agricultural exports data,Agricultural exports data
452
+ agriculture,Agriculture/Food,Fertilizer Ministry,https://fert.nic.in,agriculture data,"Fertilizer policy, subsidies","Fertilizer policy, subsidies"
453
+ agriculture,Agriculture/Food,DMI Agri Marketing,https://dmi.gov.in,agriculture data,"Wholesale price index, market prices","Wholesale price index, market prices"
454
+ agriculture,Agriculture/Food,OGD MSP Data,https://www.data.gov.in/keywords/MSP,agriculture data,Minimum support price by crop/year,Minimum support price by crop/year
455
+ agriculture,Agriculture/Food,FCI Food Corporation,https://fci.gov.in,agriculture data,"Procurement, storage, movement","Procurement, storage, movement"
456
+ agriculture,Agriculture/Food,NFSA PDS Portal,https://nfsa.gov.in,agriculture data,"Ration cards, PDS data","Ration cards, PDS data"
457
+ agriculture,Agriculture/Food,Dept Food Distribution,https://dfpd.gov.in,agriculture data,"Food stocks, distribution, subsidies","Food stocks, distribution, subsidies"
458
+ transport,Transport/Roads/Railways,Indian Railways Official,https://indianrailways.gov.in,transport data,"Railway statistics, annual report","Railway statistics, annual report"
459
+ transport,Transport/Roads/Railways,Parivahan Vehicle Registration,https://parivahan.gov.in,transport data,"Vehicle registration, DL, traffic","Vehicle registration, DL, traffic"
460
+ transport,Transport/Roads/Railways,Vahan National Register,https://vahan.nic.in,transport data,National vehicle register data,National vehicle register data
461
+ transport,Transport/Roads/Railways,NHAI Highway Authority,https://nhai.gov.in,transport data,"Highway projects, tenders, tolls","Highway projects, tenders, tolls"
462
+ transport,Transport/Roads/Railways,DGCA Aviation Regulator,https://dgca.gov.in,transport data,"Aircraft, airline, accident data","Aircraft, airline, accident data"
463
+ transport,Transport/Roads/Railways,AAI Airports Authority,https://www.aai.aero,transport data,"Airport traffic, infrastructure","Airport traffic, infrastructure"
464
+ transport,Transport/Roads/Railways,DG Shipping Maritime,https://dgps.gov.in,transport data,"Maritime safety, compliance","Maritime safety, compliance"
465
+ transport,Transport/Roads/Railways,MoRTH Roads Ministry,https://morth.nic.in,transport data,"Roads, vehicle policy","Roads, vehicle policy"
466
+ transport,Transport/Roads/Railways,OGD Road Accidents,https://www.data.gov.in/catalog/road-accidents-india,transport data,"Accident deaths, causes, states","Accident deaths, causes, states"
467
+ transport,Transport/Roads/Railways,OGD Port Traffic,https://www.data.gov.in/keywords/port,transport data,Major port traffic data,Major port traffic data
468
+ transport,Transport/Roads/Railways,Ports Shipping Ministry,https://shipmin.gov.in,transport data,"Ports, shipping, waterways","Ports, shipping, waterways"
469
+ transport,Transport/Roads/Railways,CRIS Railway IT,https://cris.org.in,transport data,Rail IT systems,Rail IT systems
470
+ statistics,Statistics/Census/MoSPI,MoSPI Portal,https://mospi.gov.in,statistics,"GDP, NSS, CPI, IIP, NAS","GDP, NSS, CPI, IIP, NAS"
471
+ statistics,Statistics/Census/MoSPI,NSO Statistical Yearbook,https://www.mospi.gov.in/statistical-year-book-india,statistics,Annual comprehensive statistics,Annual comprehensive statistics
472
+ statistics,Statistics/Census/MoSPI,Census of India,https://censusindia.gov.in,statistics,2011 census data by district/state,2011 census data by district/state
473
+ statistics,Statistics/Census/MoSPI,PLFS Employment Survey,https://mospi.gov.in/periodic-labour-force-survey-plfs,statistics,"Quarterly employment, wages","Quarterly employment, wages"
474
+ statistics,Statistics/Census/MoSPI,SRS Vital Statistics,https://censusindia.gov.in/vital_statistics/SRS_Reports.html,statistics,"Birth, death, fertility rates","Birth, death, fertility rates"
475
+ statistics,Statistics/Census/MoSPI,OGD GDP Datasets,https://www.data.gov.in/keywords/GDP,statistics,"GDP growth, sector-wise","GDP growth, sector-wise"
476
+ statistics,Statistics/Census/MoSPI,OGD CPI Inflation,https://www.data.gov.in/keywords/CPI,statistics,Consumer price index by state,Consumer price index by state
477
+ statistics,Statistics/Census/MoSPI,OGD IIP Industrial,https://www.data.gov.in/keywords/IIP,statistics,Industrial production index monthly,Industrial production index monthly
478
+ statistics,Statistics/Census/MoSPI,NSSO Household Survey,https://mospi.gov.in/national-sample-survey-nss,statistics,"Household income, employment, poverty","Household income, employment, poverty"
479
+ labour,Labour/Employment,EPFO Payroll Data,https://www.epfindia.gov.in/site_en/Media_EPFO_Payroll_Data.php,labour data,Monthly payroll additions indicator,Monthly payroll additions indicator
480
+ labour,Labour/Employment,ESIC Employee Insurance,https://www.esic.gov.in,labour data,Workers in organized sector,Workers in organized sector
481
+ labour,Labour/Employment,NCS Jobs Portal,https://www.ncs.gov.in,labour data,"Jobs, employment exchange","Jobs, employment exchange"
482
+ labour,Labour/Employment,Labour Bureau Stats,https://labourbureau.gov.in,labour data,"Wages, CPI-IW, employment","Wages, CPI-IW, employment"
483
+ labour,Labour/Employment,OGD Labour Sector,https://www.data.gov.in/sector/Labour,labour data,"PLFS, wages, employment data","PLFS, wages, employment data"
484
+ labour,Labour/Employment,Ministry of Labour,https://labour.gov.in,labour data,"Labour policy, reports","Labour policy, reports"
485
+ education,Education,UDISE+ School Data,https://udiseplus.gov.in,education data,"School infrastructure, enrolment","School infrastructure, enrolment"
486
+ education,Education,AISHE Higher Education,https://aishe.gov.in,education data,"Colleges, enrolment, faculty","Colleges, enrolment, faculty"
487
+ education,Education,NAAC Accreditation,https://naac.gov.in,education data,College and university grades,College and university grades
488
+ education,Education,NIRF Rankings,https://www.nirfindia.org,education data,Institution performance metrics,Institution performance metrics
489
+ education,Education,CBSE Board Exams,https://www.cbse.gov.in,education data,"Board exams, school data","Board exams, school data"
490
+ education,Education,UGC University Grants,https://www.ugc.gov.in,education data,"University recognition, grants","University recognition, grants"
491
+ education,Education,NCERT Textbooks,https://ncert.nic.in,education data,"Curriculum, textbooks","Curriculum, textbooks"
492
+ education,Education,OGD Education Sector,https://www.data.gov.in/sector/Education,education data,All education datasets,All education datasets
493
+ schemes,Government Schemes/Welfare,PMAY Gramin Rural Housing,https://pmayg.nic.in,schemes,Rural house construction progress,Rural house construction progress
494
+ schemes,Government Schemes/Welfare,PMAY Urban Housing,https://pmay-urban.gov.in,schemes,"Urban housing sanctions, completions","Urban housing sanctions, completions"
495
+ schemes,Government Schemes/Welfare,Jal Jeevan Dashboard,https://ejalshakti.gov.in/jjmreport/JJMIndia.aspx,schemes,Tap water village-wise progress,Tap water village-wise progress
496
+ schemes,Government Schemes/Welfare,AMRUT Urban Dashboard,https://amrut.gov.in,schemes,Urban infrastructure project status,Urban infrastructure project status
497
+ schemes,Government Schemes/Welfare,Smart Cities Mission,https://smartcities.gov.in,schemes,100 smart cities scores,100 smart cities scores
498
+ schemes,Government Schemes/Welfare,NMCG Clean Ganga,https://nmcg.nic.in,schemes,"Ganga cleaning projects, STPs","Ganga cleaning projects, STPs"
499
+ schemes,Government Schemes/Welfare,PMGSY Rural Roads,https://ommas.nic.in,schemes,Rural road habitation coverage,Rural road habitation coverage
500
+ schemes,Government Schemes/Welfare,Swachh Bharat SBM,https://sbmurban.org,schemes,"ODF towns, toilet data","ODF towns, toilet data"
501
+ schemes,Government Schemes/Welfare,eGramSwaraj Panchayat,https://egramswaraj.gov.in,schemes,"Panchayat accounts, planning","Panchayat accounts, planning"
502
+ schemes,Government Schemes/Welfare,Aajeevika NRLM,https://aajeevika.gov.in,schemes,SHG livelihoods data,SHG livelihoods data
503
+ schemes,Government Schemes/Welfare,UMANG App Services,https://web.umang.gov.in,schemes,All govt scheme services,All govt scheme services
504
+ commerce,Commerce/Trade/Industry,DGFT Trade Portal,https://dgft.gov.in,commerce data,"Export-import, IEC licences","Export-import, IEC licences"
505
+ commerce,Commerce/Trade/Industry,SEZ India Portal,https://sezindia.nic.in,commerce data,"SEZ approvals, units, exports","SEZ approvals, units, exports"
506
+ commerce,Commerce/Trade/Industry,DPIIT Industrial Policy,https://dpiit.gov.in,commerce data,"FDI, industrial policy, reforms","FDI, industrial policy, reforms"
507
+ commerce,Commerce/Trade/Industry,CCI Competition Authority,https://www.cci.gov.in,commerce data,"Anti-trust, mergers, market dominance","Anti-trust, mergers, market dominance"
508
+ commerce,Commerce/Trade/Industry,TRAI Telecom Regulator,https://trai.gov.in,commerce data,"Telecom regulation, tariffs","Telecom regulation, tariffs"
509
+ commerce,Commerce/Trade/Industry,OGD Export Data,https://www.data.gov.in/keywords/export,commerce data,Monthly trade statistics,Monthly trade statistics
510
+ commerce,Commerce/Trade/Industry,IP India Patents,https://ipindia.gov.in,commerce data,"Patents, trademarks, GI data","Patents, trademarks, GI data"
511
+ commerce,Commerce/Trade/Industry,MSME Portal,https://msme.gov.in,commerce data,"MSME schemes, statistics","MSME schemes, statistics"
512
+ commerce,Commerce/Trade/Industry,DCA Consumer Affairs,https://consumeraffairs.nic.in,commerce data,"Consumer protection, pricing","Consumer protection, pricing"
513
+ commerce,Commerce/Trade/Industry,MOFPI Food Processing,https://mofpi.gov.in,commerce data,Food processing industry data,Food processing industry data
514
+ commerce,Commerce/Trade/Industry,MEITY Electronics IT,https://www.meity.gov.in,commerce data,IT/electronics policy,IT/electronics policy
515
+ commerce,Commerce/Trade/Industry,DoT Telecom Policy,https://dot.gov.in,commerce data,"Telecom policy, licensing","Telecom policy, licensing"
516
+ commerce,Commerce/Trade/Industry,India Post Postal Dept,https://www.indiapost.gov.in,commerce data,"Postal services, tracking","Postal services, tracking"
517
+ commerce,Commerce/Trade/Industry,NIC Govt IT,https://www.nic.in,commerce data,Government IT infrastructure,Government IT infrastructure
518
+ commerce,Commerce/Trade/Industry,Digital India Portal,https://www.digitalindia.gov.in,commerce data,Digital initiatives,Digital initiatives
519
+ investigative,Investigative/Civil Society,ICIJ Offshore Leaks,https://offshoreleaks.icij.org,investigative source,"Panama, Paradise, Pandora Papers","Panama, Paradise, Pandora Papers"
520
+ investigative,Investigative/Civil Society,OpenSanctions India,https://www.opensanctions.org/datasets/in_mha_banned_entities/,investigative source,"MHA banned entities, terror lists","MHA banned entities, terror lists"
521
+ investigative,Investigative/Civil Society,FATF India Assessment,https://www.fatf-gafi.org/en/countries/detail/India.html,investigative source,"PMLA compliance, FIU assessment","PMLA compliance, FIU assessment"
522
+ investigative,Investigative/Civil Society,ED PMLA Press Releases,https://enforcementdirectorate.gov.in/press_release,investigative source,"Attached properties, arrests","Attached properties, arrests"
523
+ investigative,Investigative/Civil Society,SFIO Corporate Fraud Reports,https://sfio.nic.in/sites/default/files/reports.html,investigative source,Corporate fraud investigations,Corporate fraud investigations
524
+ investigative,Investigative/Civil Society,MCA Struck-off Companies,https://www.mca.gov.in/content/mca/global/en/mca/master-data/MDS.html,investigative source,"Shell companies, struck-off list","Shell companies, struck-off list"
525
+ investigative,Investigative/Civil Society,ADR India Asset Analysis,https://adrindia.org,investigative source,"Politician assets, criminal records","Politician assets, criminal records"
526
+ investigative,Investigative/Civil Society,Factly Data Journalism,https://factly.in,investigative source,"Fact-checks, government data stories","Fact-checks, government data stories"
527
+ investigative,Investigative/Civil Society,IndiaSpend Data Journalism,https://indiaspend.com,investigative source,"Budget, health, crime analysis","Budget, health, crime analysis"
528
+ investigative,Investigative/Civil Society,Vidhi Legal Research,https://vidhilegalpolicy.in,investigative source,"Bills analysis, constitutional issues","Bills analysis, constitutional issues"
529
+ investigative,Investigative/Civil Society,Land Conflict Watch,https://www.landconflictwatch.org,investigative source,"Land acquisition disputes, adivasi","Land acquisition disputes, adivasi"
530
+ investigative,Investigative/Civil Society,IFF Digital Rights,https://internetfreedom.in,investigative source,"Internet shutdowns, surveillance tracker","Internet shutdowns, surveillance tracker"
531
+ investigative,Investigative/Civil Society,Wikidata India Entities,https://www.wikidata.org,investigative source,"Entity enrichment, career data","Entity enrichment, career data"
532
+ investigative,Investigative/Civil Society,OpenCorporates India,https://opencorporates.com/companies/in,investigative source,Company search and registration,Company search and registration
533
+ investigative,Investigative/Civil Society,India Climate Dialogue,https://indiaclimatedialogue.net,investigative source,"Climate policy, coal plant data","Climate policy, coal plant data"
534
+ investigative,Investigative/Civil Society,OGD CBI Cases,https://www.data.gov.in/keywords/CBI,investigative source,CBI registered cases dataset,CBI registered cases dataset
535
+ social,Social/Welfare,NCW Women Commission,https://ncw.nic.in,social data,"Women's complaints, reports","Women's complaints, reports"
536
+ social,Social/Welfare,NCPCR Child Rights,https://ncpcr.gov.in,social data,"Child rights, violations, POCSO","Child rights, violations, POCSO"
537
+ social,Social/Welfare,NHRC Human Rights,https://nhrc.nic.in,social data,"Rights complaints, annual reports","Rights complaints, annual reports"
538
+ social,Social/Welfare,NALSA Legal Aid,https://nalsa.gov.in,social data,"Legal aid, undertrials data","Legal aid, undertrials data"
539
+ social,Social/Welfare,NGO Darpan,https://ngodarpan.gov.in,social data,NGO registration and funding,NGO registration and funding
540
+ social,Social/Welfare,Tribal Affairs Ministry,https://tribal.nic.in,social data,"Tribal welfare, PESA, FRA data","Tribal welfare, PESA, FRA data"
541
+ social,Social/Welfare,Minority Affairs,https://minorityaffairs.gov.in,social data,Minority welfare data,Minority welfare data
542
+ social,Social/Welfare,NCM Minorities Commission,https://minoritycommission.nic.in,social data,"Minority issues, complaints","Minority issues, complaints"
543
+ social,Social/Welfare,NCST Scheduled Tribes,https://ncst.nic.in,social data,"ST issues, reports","ST issues, reports"
544
+ social,Social/Welfare,OGD SC/ST Welfare,https://www.data.gov.in/keywords/scheduled-caste,social data,SC/ST population and welfare data,SC/ST population and welfare data
545
+ external,Ministry of External Affairs,MEA External Affairs,https://www.mea.gov.in,external affairs,"Foreign affairs, passports, visas","Foreign affairs, passports, visas"
546
+ external,Ministry of External Affairs,Passport Seva Portal,https://www.passportindia.gov.in,external affairs,Passport services,Passport services
547
+ external,Ministry of External Affairs,Indian Visa Online,https://indianvisaonline.gov.in,external affairs,Visa services,Visa services
548
+ ministry_portal,Ministry of Agriculture,Ministry of Agriculture Portal,https://agriwelfare.gov.in,portal,"Agriculture policy, schemes",Official ministry portal
549
+ ministry_portal,Dept Agricultural Research,Dept Agricultural Research Portal,https://www.data.gov.in/catalogs?ministry=Department+of+Agricultural+Research+and+Education+%28DARE%29,portal,DARE datasets,Official ministry portal
550
+ ministry_portal,Min of Chemicals and Fertilizers,Min of Chemicals and Fertilizers Portal,https://chemicals.nic.in,portal,"Chemicals, fertilizer policy",Official ministry portal
551
+ ministry_portal,Dept of Pharmaceuticals,Dept of Pharmaceuticals Portal,https://pharmaceuticals.gov.in,portal,"Drug policy, pharma",Official ministry portal
552
+ ministry_portal,Ministry of Culture,Ministry of Culture Portal,https://www.indiaculture.gov.in,portal,"Culture, heritage",Official ministry portal
553
+ ministry_portal,Ministry Dev North Eastern Region,Ministry Dev North Eastern Region Portal,https://doner.gov.in,portal,NE development data,Official ministry portal
554
+ ministry_portal,Min Fisheries Animal Husbandry,Min Fisheries Animal Husbandry Portal,https://dof.gov.in,portal,Fisheries policy,Official ministry portal
555
+ ministry_portal,Dept Animal Husbandry Dairying,Dept Animal Husbandry Dairying Portal,https://dahd.nic.in,portal,"Livestock, dairying",Official ministry portal
556
+ ministry_portal,Min of Heavy Industries,Min of Heavy Industries Portal,https://heavyindustries.gov.in,portal,"Industry policy, schemes",Official ministry portal
557
+ ministry_portal,Dept of Public Enterprises,Dept of Public Enterprises Portal,https://dpe.gov.in,portal,"PSU policy, data",Official ministry portal
558
+ ministry_portal,Housing Urban Affairs,Housing Urban Affairs Portal,https://mohua.gov.in,portal,Urban policy,Official ministry portal
559
+ ministry_portal,Ministry of Education,Ministry of Education Portal,https://education.gov.in,portal,Education policy,Official ministry portal
560
+ ministry_portal,Information and Broadcasting,Information and Broadcasting Portal,https://mib.gov.in,portal,"Broadcasting, media",Official ministry portal
561
+ ministry_portal,Ministry of Jal Shakti,Ministry of Jal Shakti Portal,https://jalshakti-dowr.gov.in,portal,Water resources,Official ministry portal
562
+ ministry_portal,Dept Drinking Water Sanitation,Dept Drinking Water Sanitation Portal,https://jaljeevanmission.gov.in,portal,"Sanitation, tap water",Official ministry portal
563
+ ministry_portal,Ministry of Law and Justice,Ministry of Law and Justice Portal,https://lawmin.gov.in,portal,Legal affairs,Official ministry portal
564
+ ministry_portal,Dept of Justice,Dept of Justice Portal,https://doj.gov.in,portal,"Justice delivery, e-courts",Official ministry portal
565
+ ministry_portal,Ministry of Panchayati Raj,Ministry of Panchayati Raj Portal,https://panchayat.gov.in,portal,Local governance,Official ministry portal
566
+ ministry_portal,Dept Personnel Training,Dept Personnel Training Portal,https://dopt.gov.in,portal,"Civil services, personnel",Official ministry portal
567
+ ministry_portal,Ministry of Power,Ministry of Power Portal,https://powermin.gov.in,portal,Power policy,Official ministry portal
568
+ ministry_portal,Min of Rural Development,Min of Rural Development Portal,https://rural.gov.in,portal,Rural welfare,Official ministry portal
569
+ ministry_portal,Ministry of Science Technology,Ministry of Science Technology Portal,https://dst.gov.in,portal,Science policy,Official ministry portal
570
+ ministry_portal,Skill Development Ministry,Skill Development Ministry Portal,https://www.msde.gov.in,portal,"Skills, training",Official ministry portal
571
+ ministry_portal,Min Social Justice,Min Social Justice Portal,https://socialjustice.gov.in,portal,Welfare schemes,Official ministry portal
572
+ ministry_portal,Dept Disability Empowerment,Dept Disability Empowerment Portal,https://depwd.gov.in,portal,Disability schemes,Official ministry portal
573
+ ministry_portal,Ministry of Textiles,Ministry of Textiles Portal,https://texmin.nic.in,portal,"Textile schemes, stats",Official ministry portal
574
+ ministry_portal,Ministry of Tourism,Ministry of Tourism Portal,https://tourism.gov.in,portal,Tourism statistics,Official ministry portal
575
+ ministry_portal,Min Women Child Dev,Min Women Child Dev Portal,https://wcd.nic.in,portal,"Women, child welfare",Official ministry portal
576
+ ministry_portal,Min Youth Affairs Sports,Min Youth Affairs Sports Portal,https://yas.nic.in,portal,"Youth, sports",Official ministry portal
frontend/index.html CHANGED
@@ -134,13 +134,29 @@
134
  <script src="js/evidence_panel.js"></script>
135
  <script src="js/app.js"></script>
136
  <script>
137
- Api.health().then(() => {
138
- document.getElementById("api-status-dot").style.background = "var(--color-risk-low)";
139
- document.getElementById("api-status-text").textContent = "Connected";
140
- }).catch(() => {
141
- document.getElementById("api-status-dot").style.background = "var(--color-risk-very-high)";
142
- document.getElementById("api-status-text").textContent = "Offline";
143
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
144
  </script>
145
  <script>
146
  if ("serviceWorker" in navigator) {
 
134
  <script src="js/evidence_panel.js"></script>
135
  <script src="js/app.js"></script>
136
  <script>
137
+ // Retry health check up to 3 times (HF Space cold-starts can take 10-15s)
138
+ (function checkHealth(attempt) {
139
+ Api.health().then(data => {
140
+ var dot = document.getElementById("api-status-dot");
141
+ var text = document.getElementById("api-status-text");
142
+ if (dot && text) {
143
+ dot.style.background = "var(--color-risk-low)";
144
+ text.textContent = data.neo4j_connected ? "Connected" : "API Only";
145
+ text.title = "v" + (data.version || "?") + " | Neo4j: " + data.neo4j_connected;
146
+ }
147
+ }).catch(function() {
148
+ if (attempt < 3) {
149
+ setTimeout(function() { checkHealth(attempt + 1); }, 5000);
150
+ } else {
151
+ var dot = document.getElementById("api-status-dot");
152
+ var text = document.getElementById("api-status-text");
153
+ if (dot && text) {
154
+ dot.style.background = "var(--color-risk-very-high)";
155
+ text.textContent = "Offline";
156
+ }
157
+ }
158
+ });
159
+ })(1);
160
  </script>
161
  <script>
162
  if ("serviceWorker" in navigator) {
frontend/js/app.js CHANGED
@@ -5,12 +5,6 @@ function sanitize(str) {
5
  }
6
 
7
  const State = {
8
- // Sanitize untrusted strings before inserting into innerHTML
9
- function sanitize(str) {
10
- const d = document.createElement('div');
11
- d.textContent = str;
12
- return d.innerHTML;
13
- }
14
  theme: localStorage.getItem("bg-theme") || "dark",
15
  language: "en",
16
  searchResults: [],
@@ -214,6 +208,37 @@ const Views = {
214
  <button class="search-bar__btn" id="search-btn">Search</button>
215
  </div>
216
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
217
  <div style="display:flex;align-items:center;gap:var(--space-2);
218
  margin-bottom:var(--space-6);flex-wrap:wrap">
219
  <span style="font-size:var(--font-size-sm);color:var(--text-muted)">Filter:</span>
@@ -542,6 +567,184 @@ const Views = {
542
  }
543
  },
544
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
545
  about: () => {
546
  const main = document.getElementById("app-main");
547
  main.innerHTML = `
@@ -592,6 +795,7 @@ function initApp() {
592
  Router.register("/", Views.home);
593
  Router.register("/search", Views.search);
594
  Router.register("/entity/:id", Views.entity);
 
595
  Router.register("/live-feed", Views.liveFeed);
596
  Router.register("/about", Views.about);
597
 
 
5
  }
6
 
7
  const State = {
 
 
 
 
 
 
8
  theme: localStorage.getItem("bg-theme") || "dark",
9
  language: "en",
10
  searchResults: [],
 
208
  <button class="search-bar__btn" id="search-btn">Search</button>
209
  </div>
210
 
211
+ <div style="display:flex;align-items:center;gap:var(--space-3);
212
+ margin-bottom:var(--space-3);flex-wrap:wrap">
213
+ <select id="lang-select" style="font-size:var(--font-size-xs);padding:4px 8px;
214
+ background:var(--bg-secondary);color:var(--text-primary);
215
+ border:1px solid var(--border-color);border-radius:6px;cursor:pointer"
216
+ onchange="State.language=this.value">
217
+ <option value="en">🇮🇳 English</option>
218
+ <option value="hi">हिन्दी</option>
219
+ <option value="ta">தமிழ்</option>
220
+ <option value="te">తెలుగు</option>
221
+ <option value="kn">ಕನ್ನಡ</option>
222
+ <option value="ml">മലയാളം</option>
223
+ <option value="mr">मराठी</option>
224
+ <option value="bn">বাংলা</option>
225
+ <option value="gu">ગુજરાતી</option>
226
+ <option value="pa">ਪੰਜਾਬੀ</option>
227
+ <option value="or">ଓଡ଼ିଆ</option>
228
+ <option value="as">অসমীয়া</option>
229
+ <option value="ur">اردو</option>
230
+ <option value="kok">कोंकणी</option>
231
+ <option value="mai">मैथिली</option>
232
+ <option value="mni">ꯃꯩꯇꯩꯂꯣꯟ</option>
233
+ <option value="sat">ᱥᱟᱱᱛᱟᱲᱤ</option>
234
+ <option value="ks">كٲشُر</option>
235
+ <option value="ne">नेपाली</option>
236
+ <option value="doi">डोगरी</option>
237
+ <option value="sa">संस्कृतम्</option>
238
+ <option value="sd">سنڌي</option>
239
+ </select>
240
+ </div>
241
+
242
  <div style="display:flex;align-items:center;gap:var(--space-2);
243
  margin-bottom:var(--space-6);flex-wrap:wrap">
244
  <span style="font-size:var(--font-size-sm);color:var(--text-muted)">Filter:</span>
 
567
  }
568
  },
569
 
570
+
571
+ "connection-map": (params) => {
572
+ const urlParams = new URLSearchParams(window.location.hash.split("?")[1] || "");
573
+ const entityId = urlParams.get("entity") || "";
574
+ const entityName = urlParams.get("name") || entityId;
575
+ const main = document.getElementById("app-main");
576
+ main.innerHTML = `
577
+ <div style="padding:var(--space-8) 0">
578
+ <div class="container">
579
+ <h2 style="font-size:var(--font-size-xl);font-weight:700;color:var(--text-primary);margin-bottom:4px">
580
+ Connection Map
581
+ </h2>
582
+ <p style="font-size:var(--font-size-sm);color:var(--text-secondary);margin-bottom:var(--space-6)">
583
+ Evidence-based relationship map for: <strong>${sanitize(entityName)}</strong>
584
+ </p>
585
+
586
+ <div style="display:grid;grid-template-columns:1fr 340px;gap:var(--space-6)">
587
+ <!-- Graph area -->
588
+ <div style="background:var(--bg-secondary);border-radius:12px;
589
+ border:1px solid var(--border-color);min-height:500px;
590
+ display:flex;flex-direction:column">
591
+ <div style="padding:12px 16px;border-bottom:1px solid var(--border-color);
592
+ display:flex;align-items:center;justify-content:space-between">
593
+ <span style="font-size:12px;font-weight:600;color:var(--text-secondary)">
594
+ Relationship Graph
595
+ </span>
596
+ <div style="display:flex;gap:6px">
597
+ <span style="font-size:10px;color:var(--text-muted)">
598
+ ● Strong ◐ Medium ○ Weak
599
+ </span>
600
+ </div>
601
+ </div>
602
+ <div id="conn-graph" style="flex:1;min-height:440px;position:relative">
603
+ <div class="spinner" style="position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)"></div>
604
+ </div>
605
+ </div>
606
+
607
+ <!-- Evidence list -->
608
+ <div>
609
+ <div style="font-size:11px;font-weight:700;text-transform:uppercase;
610
+ letter-spacing:.08em;color:var(--text-muted);margin-bottom:10px">
611
+ Evidence Chain
612
+ </div>
613
+ <div id="conn-evidence-list">
614
+ <div class="spinner" style="margin:20px auto"></div>
615
+ </div>
616
+
617
+ <div style="margin-top:16px">
618
+ <div style="font-size:11px;font-weight:700;text-transform:uppercase;
619
+ letter-spacing:.08em;color:var(--text-muted);margin-bottom:10px">
620
+ Path Finder
621
+ </div>
622
+ <div style="display:flex;flex-direction:column;gap:8px">
623
+ <input id="path-target" class="search-bar__input"
624
+ placeholder="Target entity ID..."
625
+ style="font-size:12px;padding:8px 12px">
626
+ <button onclick="Views._findPath('${encodeURIComponent(entityId)}')"
627
+ class="btn btn--secondary" style="font-size:12px">Find Shortest Path</button>
628
+ </div>
629
+ <div id="path-result" style="margin-top:10px"></div>
630
+ </div>
631
+ </div>
632
+ </div>
633
+ </div>
634
+ </div>
635
+ \`;
636
+
637
+ if (!entityId) return;
638
+
639
+ // Load evidence
640
+ Api.nodeEvidence(entityId).then(data => {
641
+ const edges = data.edges || [];
642
+ const listEl = document.getElementById("conn-evidence-list");
643
+ if (!listEl) return;
644
+
645
+ listEl.innerHTML = edges.length ? edges.map(e => \`
646
+ <div style="padding:10px 12px;margin-bottom:6px;background:var(--bg-secondary);
647
+ border-radius:8px;border:1px solid var(--border-color);cursor:pointer"
648
+ onclick="EvidencePanel.open('\${sanitize(e.connected_id||'')}','\${sanitize(e.connected_to||'')}')">
649
+ <div style="font-size:10px;font-weight:700;text-transform:uppercase;
650
+ color:var(--color-saffron);margin-bottom:2px">\${sanitize(e.rel_label||"")}</div>
651
+ <div style="font-size:12px;font-weight:600;color:var(--text-primary)">
652
+ \${sanitize(e.connected_to||e.connected_id||"—")}
653
+ </div>
654
+ <div style="font-size:10px;color:var(--text-secondary);margin-top:2px">
655
+ \${sanitize(e.why||"")}
656
+ </div>
657
+ <div style="font-size:10px;color:var(--text-muted);margin-top:2px">
658
+ 📄 \${sanitize(e.source||"")}
659
+ </div>
660
+ </div>\`).join("") : \`<div style="text-align:center;padding:20px;color:var(--text-muted);font-size:12px">
661
+ No connections in current dataset</div>\`;
662
+
663
+ // Render D3 graph
664
+ Views._renderConnectionGraph(entityId, entityName, edges);
665
+ }).catch(() => {
666
+ const el = document.getElementById("conn-graph");
667
+ if (el) el.innerHTML = \`<div style="text-align:center;padding:60px;color:var(--text-muted)">
668
+ Could not load graph data</div>\`;
669
+ });
670
+ },
671
+
672
+ _findPath: (entityA) => {
673
+ const b = document.getElementById("path-target").value.trim();
674
+ const res = document.getElementById("path-result");
675
+ if (!b || !res) return;
676
+ res.innerHTML = \`<div class="spinner" style="margin:10px auto"></div>\`;
677
+ Api._request(\`/connection-map?a=\${encodeURIComponent(entityA)}&b=\${encodeURIComponent(b)}\`)
678
+ .then(data => {
679
+ const path = data.path || data.paths || [];
680
+ res.innerHTML = path.length ? \`
681
+ <div style="padding:10px;background:var(--bg-secondary);border-radius:8px;
682
+ border:1px solid var(--border-color);font-size:12px">
683
+ <div style="font-weight:600;color:var(--color-saffron);margin-bottom:6px">
684
+ \${path.length} hop path found
685
+ </div>
686
+ \${(Array.isArray(path[0]) ? path[0] : path).map(n =>
687
+ \`<span style="color:var(--text-primary)">\${sanitize(n)}</span>
688
+ <span style="color:var(--text-muted);margin:0 4px">→</span>\`
689
+ ).join("").replace(/<span[^>]*>→<\/span>$/, "")}
690
+ </div>\` : \`
691
+ <div style="color:var(--text-muted);font-size:12px">No path found</div>\`;
692
+ }).catch(() => {
693
+ res.innerHTML = \`<div style="color:var(--text-muted);font-size:12px">Path search unavailable</div>\`;
694
+ });
695
+ },
696
+
697
+ _renderConnectionGraph: (centerId, centerName, edges) => {
698
+ const container = document.getElementById("conn-graph");
699
+ if (!container || !window.d3) {
700
+ if (container) container.innerHTML = \`
701
+ <div style="text-align:center;padding:60px;color:var(--text-muted);font-size:12px">
702
+ Graph visualization requires D3.js</div>\`;
703
+ return;
704
+ }
705
+
706
+ const w = container.clientWidth || 600, h = container.clientHeight || 440;
707
+ container.innerHTML = "";
708
+
709
+ const nodes = [{id: centerId, name: centerName, group: "center"}];
710
+ const links = [];
711
+ const seen = new Set([centerId]);
712
+ edges.slice(0, 20).forEach(e => {
713
+ const tid = e.connected_id || e.connected_to || Math.random().toString();
714
+ if (!seen.has(tid)) { seen.add(tid); nodes.push({id:tid, name:e.connected_to||tid, group:e.rel_label||"OTHER"}); }
715
+ links.push({source:centerId, target:tid, label:e.rel_label||"", strength:e.strength||"medium"});
716
+ });
717
+
718
+ const svg = d3.select(container).append("svg").attr("width","100%").attr("height","100%")
719
+ .attr("viewBox",\`0 0 \${w} \${h}\`);
720
+ const sim = d3.forceSimulation(nodes)
721
+ .force("link",d3.forceLink(links).id(d=>d.id).distance(120))
722
+ .force("charge",d3.forceManyBody().strength(-300))
723
+ .force("center",d3.forceCenter(w/2,h/2));
724
+
725
+ const link = svg.append("g").selectAll("line").data(links).join("line")
726
+ .attr("stroke","#555").attr("stroke-width",1.5).attr("stroke-opacity",0.6);
727
+
728
+ const node = svg.append("g").selectAll("circle").data(nodes).join("circle")
729
+ .attr("r", d => d.group==="center"?16:10)
730
+ .attr("fill", d => d.group==="center"?"var(--color-saffron)":"var(--accent-primary)")
731
+ .attr("stroke","var(--bg-primary)").attr("stroke-width",2)
732
+ .style("cursor","pointer")
733
+ .on("click", (e,d) => { if(d.id!==centerId) EvidencePanel.open(d.id, d.name); });
734
+
735
+ const label = svg.append("g").selectAll("text").data(nodes).join("text")
736
+ .text(d => (d.name||d.id).slice(0,18))
737
+ .attr("font-size","10px").attr("fill","var(--text-primary)")
738
+ .attr("text-anchor","middle").attr("dy","26px");
739
+
740
+ sim.on("tick", () => {
741
+ link.attr("x1",d=>d.source.x).attr("y1",d=>d.source.y)
742
+ .attr("x2",d=>d.target.x).attr("y2",d=>d.target.y);
743
+ node.attr("cx",d=>d.x).attr("cy",d=>d.y);
744
+ label.attr("x",d=>d.x).attr("y",d=>d.y);
745
+ });
746
+ },
747
+
748
  about: () => {
749
  const main = document.getElementById("app-main");
750
  main.innerHTML = `
 
795
  Router.register("/", Views.home);
796
  Router.register("/search", Views.search);
797
  Router.register("/entity/:id", Views.entity);
798
+ Router.register("/connection-map", Views["connection-map"]);
799
  Router.register("/live-feed", Views.liveFeed);
800
  Router.register("/about", Views.about);
801
 
frontend/js/evidence_panel.js CHANGED
@@ -1,177 +1,411 @@
 
 
1
  const EvidencePanel = {
2
  _visible: false,
3
  _container: null,
 
 
4
 
5
  init: () => {
6
  const panel = document.createElement("div");
7
  panel.id = "evidence-panel";
8
  panel.style.cssText = `
9
- position: fixed; top: 0; right: -420px; width: 400px; height: 100vh;
10
- background: var(--bg-secondary); border-left: 1px solid var(--border-color);
11
- box-shadow: -4px 0 24px rgba(0,0,0,0.3); z-index: 500;
12
- overflow-y: auto; transition: right 0.3s ease; padding: 0;
13
  `;
14
  document.body.appendChild(panel);
15
  EvidencePanel._container = panel;
16
 
17
  const overlay = document.createElement("div");
18
  overlay.id = "evidence-overlay";
19
- overlay.style.cssText = `
20
- position:fixed;inset:0;background:rgba(0,0,0,0.4);
21
- z-index:499;display:none;
22
- `;
23
  overlay.addEventListener("click", EvidencePanel.close);
24
  document.body.appendChild(overlay);
25
  },
26
 
27
  open: async (entityId, entityName) => {
28
  if (!EvidencePanel._container) EvidencePanel.init();
 
 
 
29
  EvidencePanel._container.innerHTML = `
30
- <div style="padding:20px">
31
- <div style="display:flex;justify-content:space-between;align-items:center;margin-bottom:16px">
32
- <span style="font-size:11px;font-weight:600;letter-spacing:.1em;
33
- text-transform:uppercase;color:var(--color-saffron)">
34
- Evidence Panel
35
- </span>
36
- <button onclick="EvidencePanel.close()"
37
- style="background:none;border:none;color:var(--text-muted);
38
- font-size:20px;cursor:pointer;line-height:1">×</button>
39
- </div>
40
- <h2 style="font-size:18px;font-weight:700;color:var(--text-primary);margin-bottom:4px">
41
- ${entityName || entityId}
42
- </h2>
43
- <div style="font-size:12px;color:var(--text-muted);margin-bottom:20px">
44
- Entity ID: ${entityId}
45
- </div>
46
- <div id="panel-content">
47
- <div class="spinner" style="margin:40px auto"></div>
48
  </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
49
  </div>
50
  `;
 
51
  EvidencePanel._container.style.right = "0";
52
  document.getElementById("evidence-overlay").style.display = "block";
53
  EvidencePanel._visible = true;
54
 
 
55
  try {
56
  const data = await Api.nodeEvidence(entityId);
57
- EvidencePanel._render(data, entityId);
 
58
  } catch (err) {
59
- document.getElementById("panel-content").innerHTML = `
60
- <p style="color:var(--color-risk-very-high);font-size:13px">
61
- Could not load evidence. Ensure API is running.
62
- </p>`;
 
 
63
  }
64
  },
65
 
66
- _render: (data, entityId) => {
67
- const info = data.entity_info || {};
68
- const edges = data.edges || [];
69
- const el = document.getElementById("panel-content");
70
- if (!el) return;
 
 
 
 
 
 
 
 
 
 
71
 
72
- const riskColour = {
73
- "LOW":"var(--color-risk-low)","MODERATE":"#856404",
74
- "HIGH":"var(--color-risk-high)","VERY_HIGH":"var(--color-risk-very-high)"
75
- }[info.risk_level] || "var(--text-muted)";
 
 
 
76
 
77
  el.innerHTML = `
78
  ${info.risk_score != null ? `
79
- <div style="padding:12px;background:var(--bg-tertiary);border-radius:8px;margin-bottom:16px">
80
- <div style="font-size:11px;text-transform:uppercase;letter-spacing:.08em;
81
- color:var(--text-muted);margin-bottom:6px">Structural Risk</div>
82
- <div style="display:flex;align-items:center;gap:8px">
83
- <div style="flex:1;height:6px;background:var(--bg-primary);border-radius:3px;overflow:hidden">
84
- <div style="width:${info.risk_score}%;height:100%;background:${riskColour};border-radius:3px"></div>
 
 
85
  </div>
86
- <span style="font-weight:700;font-size:13px;color:${riskColour}">
87
- ${info.risk_score}/100
88
- </span>
89
  </div>
 
 
 
 
 
 
 
 
 
90
  </div>` : ""}
91
 
92
- <div style="margin-bottom:20px">
93
- <div style="font-size:12px;font-weight:600;text-transform:uppercase;
94
- letter-spacing:.08em;color:var(--text-muted);margin-bottom:8px">
95
- Connections (${edges.length})
96
- </div>
97
- ${edges.slice(0, 15).map(edge => `
98
- <div style="padding:10px 12px;margin-bottom:8px;background:var(--bg-tertiary);
99
- border-radius:6px;border-left:3px solid ${edge.color || '#666'}">
100
- <div style="display:flex;align-items:center;gap:6px;margin-bottom:4px">
101
- <span style="font-size:10px;font-weight:600;text-transform:uppercase;
102
- color:${edge.color};letter-spacing:.06em">${edge.rel_label}</span>
103
- <span style="font-size:10px;color:var(--text-muted)">
104
- ${edge.strength === "strong" ? "●" : edge.strength === "medium" ? "◐" : "○"}
105
- ${edge.strength}
106
- </span>
107
- </div>
108
- <div style="font-size:13px;font-weight:500;color:var(--text-primary);margin-bottom:2px">
109
- ${edge.connected_to || edge.connected_id}
110
- </div>
111
- <div style="font-size:11px;color:var(--text-secondary);margin-bottom:4px">
112
- <strong>WHY:</strong> ${edge.why}
113
- </div>
114
- <div style="font-size:10px;color:var(--text-muted)">
115
- <strong>SOURCE:</strong> ${edge.source}
116
- </div>
117
- ${edge.next_leads && edge.next_leads.length ? `
118
- <div style="margin-top:6px;padding-top:6px;border-top:1px solid var(--border-color)">
119
- <div style="font-size:10px;color:var(--color-saffron);font-weight:600;margin-bottom:3px">
120
- NEXT LEADS
121
- </div>
122
- ${edge.next_leads.map(l => `
123
- <div style="font-size:10px;color:var(--text-muted);margin-bottom:2px">→ ${l}</div>
124
- `).join("")}
125
- </div>` : ""}
126
  </div>
127
- `).join("")}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
128
  </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
129
 
130
- <button onclick="EvidencePanel._investigate('${entityId}')"
131
- class="btn btn--primary" style="width:100%;margin-bottom:8px">
132
- Investigate Further (6 Layers)
133
- </button>
134
- <button onclick="Router.navigate('/entity/${entityId}');EvidencePanel.close();"
135
- class="btn btn--secondary" style="width:100%">
136
- Open Full Dossier
137
- </button>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
138
  `;
139
  },
140
 
141
- _investigate: async (entityId) => {
142
- const btn = document.querySelector("#panel-content .btn--primary");
 
143
  if (btn) { btn.textContent = "Investigating..."; btn.disabled = true; }
144
  try {
145
  const data = await Api._request(`/investigate/${entityId}`);
146
- const el = document.getElementById("panel-content");
147
- if (!el) return;
148
- const total = data.total_items || 0;
149
- el.innerHTML += `
150
- <div style="margin-top:16px;padding:12px;background:var(--bg-tertiary);
151
- border-radius:8px;border:1px solid var(--color-saffron)">
152
- <div style="font-size:11px;font-weight:600;color:var(--color-saffron);
153
- margin-bottom:8px">6-LAYER INVESTIGATION COMPLETE</div>
154
- ${(data.layers || []).map(l => `
155
- <div style="display:flex;justify-content:space-between;
156
- font-size:11px;margin-bottom:4px">
157
- <span style="color:var(--text-secondary)">Layer ${l.layer}: ${l.name}</span>
158
- <span style="color:var(--text-primary);font-weight:600">${l.count} items</span>
159
  </div>
160
- `).join("")}
161
- <div style="margin-top:6px;padding-top:6px;border-top:1px solid var(--border-color);
162
- font-size:12px;font-weight:600;color:var(--text-primary)">
163
- Total: ${total} investigative items
164
- </div>
165
- </div>
166
- `;
167
- } catch (err) {
168
- if (btn) { btn.textContent = "Investigate Further"; btn.disabled = false; }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
169
  }
170
  },
171
 
 
 
 
 
 
 
 
 
 
 
172
  close: () => {
173
  if (EvidencePanel._container)
174
- EvidencePanel._container.style.right = "-420px";
175
  const overlay = document.getElementById("evidence-overlay");
176
  if (overlay) overlay.style.display = "none";
177
  EvidencePanel._visible = false;
 
1
+ // Evidence Panel — tabbed deep investigation panel
2
+ // Tabs: Overview | Connections | Provenance | Timeline | Investigate
3
  const EvidencePanel = {
4
  _visible: false,
5
  _container: null,
6
+ _currentId: null,
7
+ _currentName: null,
8
 
9
  init: () => {
10
  const panel = document.createElement("div");
11
  panel.id = "evidence-panel";
12
  panel.style.cssText = `
13
+ position:fixed;top:0;right:-480px;width:460px;height:100vh;
14
+ background:var(--bg-secondary);border-left:1px solid var(--border-color);
15
+ box-shadow:-4px 0 32px rgba(0,0,0,0.4);z-index:500;
16
+ display:flex;flex-direction:column;transition:right 0.3s cubic-bezier(.4,0,.2,1);
17
  `;
18
  document.body.appendChild(panel);
19
  EvidencePanel._container = panel;
20
 
21
  const overlay = document.createElement("div");
22
  overlay.id = "evidence-overlay";
23
+ overlay.style.cssText = `position:fixed;inset:0;background:rgba(0,0,0,0.45);z-index:499;display:none;`;
 
 
 
24
  overlay.addEventListener("click", EvidencePanel.close);
25
  document.body.appendChild(overlay);
26
  },
27
 
28
  open: async (entityId, entityName) => {
29
  if (!EvidencePanel._container) EvidencePanel.init();
30
+ EvidencePanel._currentId = entityId;
31
+ EvidencePanel._currentName = entityName;
32
+
33
  EvidencePanel._container.innerHTML = `
34
+ <div style="padding:16px 20px;border-bottom:1px solid var(--border-color);
35
+ display:flex;justify-content:space-between;align-items:center;
36
+ background:var(--bg-tertiary);flex-shrink:0">
37
+ <div>
38
+ <div style="font-size:10px;font-weight:700;letter-spacing:.12em;
39
+ text-transform:uppercase;color:var(--color-saffron)">Evidence Panel</div>
40
+ <div style="font-size:15px;font-weight:700;color:var(--text-primary);margin-top:2px">
41
+ ${sanitize(entityName || entityId)}
42
+ </div>
43
+ <div style="font-size:10px;color:var(--text-muted)">ID: ${sanitize(entityId)}</div>
 
 
 
 
 
 
 
 
44
  </div>
45
+ <button onclick="EvidencePanel.close()"
46
+ style="background:var(--bg-secondary);border:1px solid var(--border-color);
47
+ color:var(--text-muted);width:32px;height:32px;border-radius:50%;
48
+ cursor:pointer;font-size:18px;display:flex;align-items:center;
49
+ justify-content:center">×</button>
50
+ </div>
51
+
52
+ <!-- Tab bar -->
53
+ <div style="display:flex;border-bottom:1px solid var(--border-color);
54
+ background:var(--bg-tertiary);flex-shrink:0">
55
+ ${["overview","connections","timeline","investigate"].map((t,i) => `
56
+ <button id="ep-tab-${t}"
57
+ onclick="EvidencePanel._switchTab('${t}')"
58
+ style="flex:1;padding:10px 4px;font-size:10px;font-weight:600;
59
+ text-transform:uppercase;letter-spacing:.07em;
60
+ border:none;cursor:pointer;transition:all .2s;
61
+ border-bottom:2px solid ${i===0?'var(--accent-primary)':'transparent'};
62
+ background:transparent;
63
+ color:${i===0?'var(--accent-primary)':'var(--text-muted)'}">
64
+ ${t.charAt(0).toUpperCase()+t.slice(1)}
65
+ </button>
66
+ `).join("")}
67
+ </div>
68
+
69
+ <!-- Tab content area -->
70
+ <div id="ep-body" style="flex:1;overflow-y:auto;padding:16px 20px">
71
+ <div class="spinner" style="margin:60px auto"></div>
72
+ </div>
73
+
74
+ <!-- Bottom action bar -->
75
+ <div style="padding:12px 20px;border-top:1px solid var(--border-color);
76
+ background:var(--bg-tertiary);flex-shrink:0;display:flex;gap:8px">
77
+ <button onclick="Router.navigate('/entity/${entityId}');EvidencePanel.close();"
78
+ class="btn btn--primary" style="flex:1;font-size:12px">Full Dossier</button>
79
+ <button onclick="EvidencePanel._investigate('${entityId}')"
80
+ id="ep-investigate-btn"
81
+ class="btn btn--secondary" style="flex:1;font-size:12px">Investigate (6 Layers)</button>
82
+ <button onclick="EvidencePanel._openConnectionMap('${entityId}','${sanitize(entityName||entityId)}')"
83
+ class="btn btn--secondary" style="flex:1;font-size:12px">Map Links</button>
84
  </div>
85
  `;
86
+
87
  EvidencePanel._container.style.right = "0";
88
  document.getElementById("evidence-overlay").style.display = "block";
89
  EvidencePanel._visible = true;
90
 
91
+ // Load overview tab by default
92
  try {
93
  const data = await Api.nodeEvidence(entityId);
94
+ EvidencePanel._data = data;
95
+ EvidencePanel._renderOverview(data, entityId);
96
  } catch (err) {
97
+ document.getElementById("ep-body").innerHTML = `
98
+ <div style="text-align:center;padding:40px 20px;color:var(--text-muted)">
99
+ <div style="font-size:32px;margin-bottom:12px">⚠️</div>
100
+ <div style="font-weight:600;margin-bottom:4px">Evidence unavailable</div>
101
+ <div style="font-size:12px">API may be offline or entity not in database.</div>
102
+ </div>`;
103
  }
104
  },
105
 
106
+ _switchTab: (tab) => {
107
+ ["overview","connections","timeline","investigate"].forEach(t => {
108
+ const btn = document.getElementById(`ep-tab-${t}`);
109
+ if (btn) {
110
+ btn.style.borderBottom = t===tab ? "2px solid var(--accent-primary)" : "2px solid transparent";
111
+ btn.style.color = t===tab ? "var(--accent-primary)" : "var(--text-muted)";
112
+ }
113
+ });
114
+ const d = EvidencePanel._data;
115
+ const id = EvidencePanel._currentId;
116
+ if (tab==="overview") d ? EvidencePanel._renderOverview(d,id) : null;
117
+ else if (tab==="connections") d ? EvidencePanel._renderConnections(d,id) : null;
118
+ else if (tab==="timeline") EvidencePanel._renderTimeline(id);
119
+ else if (tab==="investigate") EvidencePanel._renderInvestigateTab(id);
120
+ },
121
 
122
+ _renderOverview: (data, entityId) => {
123
+ const info = data.entity_info || {};
124
+ const edges = data.edges || [];
125
+ const rc = {"LOW":"var(--color-risk-low)","MODERATE":"#d4a017",
126
+ "HIGH":"var(--color-risk-high)","VERY_HIGH":"var(--color-risk-very-high)"}[info.risk_level] || "var(--text-muted)";
127
+ const el = document.getElementById("ep-body");
128
+ if (!el) return;
129
 
130
  el.innerHTML = `
131
  ${info.risk_score != null ? `
132
+ <div style="padding:14px;background:var(--bg-tertiary);border-radius:10px;margin-bottom:16px;
133
+ border:1px solid var(--border-color)">
134
+ <div style="font-size:10px;text-transform:uppercase;letter-spacing:.08em;
135
+ color:var(--text-muted);margin-bottom:8px">Structural Risk Indicator</div>
136
+ <div style="display:flex;align-items:center;gap:10px;margin-bottom:6px">
137
+ <div style="flex:1;height:8px;background:var(--bg-primary);border-radius:4px;overflow:hidden">
138
+ <div style="width:${info.risk_score}%;height:100%;background:${rc};border-radius:4px;
139
+ transition:width 1s ease"></div>
140
  </div>
141
+ <span style="font-weight:800;font-size:15px;color:${rc}">${info.risk_score}/100</span>
 
 
142
  </div>
143
+ <div style="font-size:11px;font-weight:600;color:${rc}">${info.risk_level || "UNKNOWN"}</div>
144
+ ${info.risk_factors && info.risk_factors.length ? `
145
+ <div style="margin-top:8px;display:flex;flex-wrap:wrap;gap:4px">
146
+ ${info.risk_factors.slice(0,4).map(f => `
147
+ <span style="font-size:10px;padding:2px 8px;border-radius:12px;
148
+ background:rgba(255,255,255,0.05);color:var(--text-secondary)">
149
+ ${sanitize(f)}
150
+ </span>`).join("")}
151
+ </div>` : ""}
152
  </div>` : ""}
153
 
154
+ <!-- Summary stats -->
155
+ <div style="display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-bottom:16px">
156
+ ${[
157
+ ["Connections", edges.length],
158
+ ["Entity Type", info.entity_type || "—"],
159
+ ["Source", info.source || "—"]
160
+ ].map(([l,v]) => `
161
+ <div style="padding:10px;background:var(--bg-tertiary);border-radius:8px;
162
+ border:1px solid var(--border-color);text-align:center">
163
+ <div style="font-size:14px;font-weight:700;color:var(--text-primary)">${sanitize(String(v))}</div>
164
+ <div style="font-size:10px;color:var(--text-muted);margin-top:2px">${l}</div>
165
+ </div>`).join("")}
166
+ </div>
167
+
168
+ <!-- Top connections preview -->
169
+ <div style="font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;
170
+ color:var(--text-muted);margin-bottom:10px">Key Connections</div>
171
+ ${edges.length ? edges.slice(0,5).map(e => `
172
+ <div style="padding:10px 12px;margin-bottom:8px;background:var(--bg-tertiary);
173
+ border-radius:8px;border-left:3px solid ${e.color||'var(--accent-primary)'}">
174
+ <div style="display:flex;justify-content:space-between;align-items:center;margin-bottom:3px">
175
+ <span style="font-size:10px;font-weight:700;text-transform:uppercase;
176
+ color:${e.color||'var(--accent-primary)'};">${sanitize(e.rel_label||"LINKED")}</span>
177
+ <span style="font-size:10px;color:var(--text-muted)">
178
+ ${e.strength==="strong"?"●●●":e.strength==="medium"?"●●○":"●○○"} ${sanitize(e.strength||"")}
179
+ </span>
 
 
 
 
 
 
 
 
180
  </div>
181
+ <div style="font-size:13px;font-weight:600;color:var(--text-primary)">
182
+ ${sanitize(e.connected_to||e.connected_id||"—")}
183
+ </div>
184
+ <div style="font-size:11px;color:var(--text-secondary);margin-top:3px">
185
+ ${sanitize(e.why||"")}
186
+ </div>
187
+ <div style="font-size:10px;color:var(--text-muted);margin-top:2px">
188
+ 📄 ${sanitize(e.source||"")}
189
+ </div>
190
+ </div>`).join("") : `
191
+ <div style="text-align:center;padding:30px;color:var(--text-muted);font-size:12px">
192
+ No connections indexed yet
193
+ </div>`}
194
+
195
+ ${edges.length > 5 ? `
196
+ <button onclick="EvidencePanel._switchTab('connections')"
197
+ class="btn btn--secondary" style="width:100%;font-size:12px;margin-top:4px">
198
+ View all ${edges.length} connections →
199
+ </button>` : ""}
200
+ `;
201
+ },
202
+
203
+ _renderConnections: (data, entityId) => {
204
+ const edges = data.edges || [];
205
+ const el = document.getElementById("ep-body");
206
+ if (!el) return;
207
+
208
+ // Group by relationship type
209
+ const groups = {};
210
+ edges.forEach(e => {
211
+ const k = e.rel_label || "OTHER";
212
+ if (!groups[k]) groups[k] = [];
213
+ groups[k].push(e);
214
+ });
215
+
216
+ el.innerHTML = `
217
+ <div style="margin-bottom:12px;font-size:12px;color:var(--text-muted)">
218
+ ${edges.length} total connections across ${Object.keys(groups).length} relationship types
219
  </div>
220
+ ${Object.entries(groups).map(([rel, items]) => `
221
+ <div style="margin-bottom:16px">
222
+ <div style="font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;
223
+ color:var(--color-saffron);margin-bottom:8px;padding-bottom:4px;
224
+ border-bottom:1px solid var(--border-color)">
225
+ ${sanitize(rel)} (${items.length})
226
+ </div>
227
+ ${items.map(e => `
228
+ <div style="padding:10px 12px;margin-bottom:6px;background:var(--bg-tertiary);
229
+ border-radius:8px;cursor:pointer"
230
+ onclick="EvidencePanel.open('${sanitize(e.connected_id||"")}','${sanitize(e.connected_to||"")}')">
231
+ <div style="display:flex;justify-content:space-between">
232
+ <span style="font-size:13px;font-weight:600;color:var(--text-primary)">
233
+ ${sanitize(e.connected_to||e.connected_id||"—")}
234
+ </span>
235
+ <span style="font-size:10px;color:var(--text-muted)">→</span>
236
+ </div>
237
+ <div style="font-size:11px;color:var(--text-secondary);margin-top:2px">
238
+ ${sanitize(e.why||"")}
239
+ </div>
240
+ <div style="display:flex;gap:8px;margin-top:4px">
241
+ <span style="font-size:10px;color:var(--text-muted)">📄 ${sanitize(e.source||"")}</span>
242
+ ${e.date ? `<span style="font-size:10px;color:var(--text-muted)">📅 ${sanitize(e.date)}</span>` : ""}
243
+ </div>
244
+ ${e.next_leads && e.next_leads.length ? `
245
+ <div style="margin-top:6px">
246
+ ${e.next_leads.map(l => `
247
+ <span style="font-size:10px;color:var(--color-saffron);margin-right:8px">→ ${sanitize(l)}</span>
248
+ `).join("")}
249
+ </div>` : ""}
250
+ </div>`).join("")}
251
+ </div>`).join("") || `
252
+ <div style="text-align:center;padding:30px;color:var(--text-muted)">
253
+ No connections found in current dataset
254
+ </div>`}
255
+ `;
256
+ },
257
+
258
+ _renderTimeline: async (entityId) => {
259
+ const el = document.getElementById("ep-body");
260
+ if (!el) return;
261
+ el.innerHTML = `<div class="spinner" style="margin:60px auto"></div>`;
262
+ try {
263
+ const data = await Api._request(`/profile/${entityId}`);
264
+ const events = (data.timeline || data.timeline_events || []).sort((a,b) => (a.date||"").localeCompare(b.date||""));
265
+ if (!events.length) {
266
+ el.innerHTML = `<div style="text-align:center;padding:40px;color:var(--text-muted);font-size:12px">
267
+ No timeline events indexed for this entity</div>`;
268
+ return;
269
+ }
270
+ el.innerHTML = `
271
+ <div style="margin-bottom:12px;font-size:12px;color:var(--text-muted)">${events.length} events</div>
272
+ <div style="position:relative;padding-left:20px;border-left:2px solid var(--border-color)">
273
+ ${events.map(ev => `
274
+ <div style="position:relative;margin-bottom:16px">
275
+ <div style="position:absolute;left:-25px;top:4px;width:10px;height:10px;
276
+ border-radius:50%;background:var(--accent-primary)"></div>
277
+ <div style="font-size:10px;color:var(--color-saffron);font-weight:600;margin-bottom:2px">
278
+ ${sanitize(ev.date||"Unknown date")}
279
+ </div>
280
+ <div style="font-size:13px;font-weight:600;color:var(--text-primary)">
281
+ ${sanitize(ev.title||ev.event||"")}
282
+ </div>
283
+ <div style="font-size:11px;color:var(--text-secondary);margin-top:3px">
284
+ ${sanitize(ev.description||ev.summary||"")}
285
+ </div>
286
+ <div style="font-size:10px;color:var(--text-muted);margin-top:2px">
287
+ 📄 ${sanitize(ev.source||"")}
288
+ </div>
289
+ </div>`).join("")}
290
+ </div>`;
291
+ } catch {
292
+ el.innerHTML = `<div style="text-align:center;padding:40px;color:var(--text-muted);font-size:12px">
293
+ Timeline data unavailable</div>`;
294
+ }
295
+ },
296
 
297
+ _renderInvestigateTab: async (entityId) => {
298
+ const el = document.getElementById("ep-body");
299
+ if (!el) return;
300
+ el.innerHTML = `
301
+ <div style="margin-bottom:16px">
302
+ <div style="font-size:13px;font-weight:600;color:var(--text-primary);margin-bottom:8px">
303
+ 6-Layer Investigation Engine
304
+ </div>
305
+ <div style="font-size:12px;color:var(--text-secondary);margin-bottom:12px">
306
+ Runs 6 specialist investigators in parallel: Direct Evidence → Relationship Mapping →
307
+ Pattern Detection → Timeline Analysis → Network Influence → Evidence Validation
308
+ </div>
309
+ <button onclick="EvidencePanel._runInvestigation('${entityId}')"
310
+ id="ep-run-btn" class="btn btn--primary" style="width:100%;margin-bottom:8px">
311
+ Run Full Investigation
312
+ </button>
313
+ <button onclick="EvidencePanel._runContradiction('${entityId}')"
314
+ id="ep-contra-btn" class="btn btn--secondary" style="width:100%;margin-bottom:8px">
315
+ Contradiction Search
316
+ </button>
317
+ <button onclick="EvidencePanel._openConnectionMap('${entityId}','${sanitize(EvidencePanel._currentName||entityId)}')"
318
+ class="btn btn--secondary" style="width:100%">
319
+ Connection Map
320
+ </button>
321
+ </div>
322
+ <div id="ep-investigation-results"></div>
323
  `;
324
  },
325
 
326
+ _runInvestigation: async (entityId) => {
327
+ const btn = document.getElementById("ep-run-btn");
328
+ const res = document.getElementById("ep-investigation-results");
329
  if (btn) { btn.textContent = "Investigating..."; btn.disabled = true; }
330
  try {
331
  const data = await Api._request(`/investigate/${entityId}`);
332
+ if (res) {
333
+ const total = data.total_items || 0;
334
+ const layers = data.layers || [];
335
+ res.innerHTML = `
336
+ <div style="padding:14px;background:var(--bg-tertiary);border-radius:10px;
337
+ border:1px solid var(--color-saffron)">
338
+ <div style="font-size:11px;font-weight:700;color:var(--color-saffron);margin-bottom:10px">
339
+ INVESTIGATION COMPLETE — ${total} ITEMS
 
 
 
 
 
340
  </div>
341
+ ${layers.map(l => `
342
+ <div style="display:flex;justify-content:space-between;
343
+ font-size:12px;margin-bottom:6px;padding-bottom:6px;
344
+ border-bottom:1px solid var(--border-color)">
345
+ <span style="color:var(--text-secondary)">Layer ${l.layer}: ${sanitize(l.name)}</span>
346
+ <span style="font-weight:700;color:var(--text-primary)">${l.count}</span>
347
+ </div>`).join("")}
348
+ ${data.confidence ? `
349
+ <div style="margin-top:8px;font-size:11px;color:var(--text-muted)">
350
+ Confidence: <strong style="color:var(--text-primary)">${data.confidence}%</strong>
351
+ </div>` : ""}
352
+ </div>`;
353
+ }
354
+ } catch {
355
+ if (res) res.innerHTML = `<div style="color:var(--text-muted);font-size:12px;margin-top:8px">
356
+ Investigation API unavailable</div>`;
357
+ } finally {
358
+ if (btn) { btn.textContent = "Run Full Investigation"; btn.disabled = false; }
359
+ }
360
+ },
361
+
362
+ _runContradiction: async (entityId) => {
363
+ const btn = document.getElementById("ep-contra-btn");
364
+ const res = document.getElementById("ep-investigation-results");
365
+ if (btn) { btn.textContent = "Searching contradictions..."; btn.disabled = true; }
366
+ try {
367
+ const data = await Api._request(`/adversarial/${entityId}`);
368
+ if (res) {
369
+ const items = data.counterevidence || data.items || [];
370
+ res.innerHTML = `
371
+ <div style="padding:14px;background:var(--bg-tertiary);border-radius:10px;
372
+ border:1px solid var(--color-risk-high);margin-top:8px">
373
+ <div style="font-size:11px;font-weight:700;color:var(--color-risk-high);margin-bottom:10px">
374
+ CONTRADICTION SEARCH — ${items.length} items found
375
+ </div>
376
+ ${items.slice(0,5).map(item => `
377
+ <div style="margin-bottom:8px;padding:8px;background:var(--bg-primary);border-radius:6px">
378
+ <div style="font-size:11px;color:var(--text-primary);margin-bottom:2px">
379
+ ${sanitize(item.claim||item.finding||"")}
380
+ </div>
381
+ <div style="font-size:10px;color:var(--color-risk-high)">
382
+ CONTRADICTS: ${sanitize(item.contradicts||"")}
383
+ </div>
384
+ </div>`).join("") || `
385
+ <div style="font-size:12px;color:var(--text-muted)">No contradictions found</div>`}
386
+ </div>`;
387
+ }
388
+ } catch {
389
+ if (res) res.innerHTML = `<div style="color:var(--text-muted);font-size:12px;margin-top:8px">
390
+ Contradiction search unavailable</div>`;
391
+ } finally {
392
+ if (btn) { btn.textContent = "Contradiction Search"; btn.disabled = false; }
393
  }
394
  },
395
 
396
+ _openConnectionMap: (entityId, entityName) => {
397
+ EvidencePanel.close();
398
+ Router.navigate(`/connection-map?entity=${encodeURIComponent(entityId)}&name=${encodeURIComponent(entityName)}`);
399
+ },
400
+
401
+ _investigate: async (entityId) => {
402
+ EvidencePanel._switchTab("investigate");
403
+ setTimeout(() => EvidencePanel._runInvestigation(entityId), 300);
404
+ },
405
+
406
  close: () => {
407
  if (EvidencePanel._container)
408
+ EvidencePanel._container.style.right = "-480px";
409
  const overlay = document.getElementById("evidence-overlay");
410
  if (overlay) overlay.style.display = "none";
411
  EvidencePanel._visible = false;