Changes for page Requirements
Last modified by Robert Schaub on 2026/02/08 21:32
Summary
-
Page properties (2 modified, 0 added, 0 removed)
Details
- Page properties
-
- Parent
-
... ... @@ -1,1 +1,1 @@ 1 -Test.FactHarbor.Specification.WebHome 1 +Test.FactHarbor V0\.9\.103.Specification.WebHome - Content
-
... ... @@ -1,6 +1,5 @@ 1 1 = Requirements = 2 2 3 - 4 4 {{info}} 5 5 **Phase Assignments:** See [[Requirements Roadmap Matrix>>FactHarbor.Roadmap.Requirements-Roadmap-Matrix.WebHome]] for which requirements are implemented in which phases. 6 6 {{/info}} ... ... @@ -37,6 +37,7 @@ 37 37 **Who**: Anyone (no login required) 38 38 39 39 **Can**: 39 + 40 40 * Browse and search claims 41 41 * View scenarios, evidence, verdicts, and confidence scores 42 42 * Flag issues or errors ... ... @@ -44,6 +44,7 @@ 44 44 * Submit claims automatically (new claims added if not duplicates) 45 45 46 46 **Cannot**: 47 + 47 47 * Modify content 48 48 * Access edit history details 49 49 ... ... @@ -54,6 +54,7 @@ 54 54 **Who**: Registered users (earns reputation through contributions) 55 55 56 56 **Can**: 58 + 57 57 * Everything a Reader can do 58 58 * Edit claims, evidence, and scenarios 59 59 * Add sources and citations ... ... @@ -62,6 +62,7 @@ 62 62 * Earn reputation points for quality contributions 63 63 64 64 **Reputation System**: 67 + 65 65 * New contributors: Limited edit privileges 66 66 * Established contributors (established reputation): Full edit access 67 67 * Trusted contributors (substantial reputation): Can approve certain changes ... ... @@ -69,6 +69,7 @@ 69 69 * Reputation lost through: Reverted edits, invalid flags, abuse 70 70 71 71 **Cannot**: 75 + 72 72 * Delete or hide content (only moderators) 73 73 * Override moderation decisions 74 74 ... ... @@ -79,6 +79,7 @@ 79 79 **Who**: Trusted community members with proven track record, appointed by governance board 80 80 81 81 **Can**: 86 + 82 82 * Review flagged content 83 83 * Hide harmful or abusive content 84 84 * Resolve disputes between contributors ... ... @@ -87,6 +87,7 @@ 87 87 * Access full audit logs 88 88 89 89 **Cannot**: 95 + 90 90 * Change governance rules 91 91 * Permanently ban users without board approval 92 92 * Override technical quality gates ... ... @@ -100,6 +100,7 @@ 100 100 **Not a permanent role**: Contacted externally when needed for contested claims in their domain 101 101 102 102 **When used**: 109 + 103 103 * Medical claims with life/safety implications 104 104 * Legal interpretations with significant impact 105 105 * Scientific claims with high controversy ... ... @@ -106,6 +106,7 @@ 106 106 * Technical claims requiring specialized knowledge 107 107 108 108 **Process**: 116 + 109 109 * Moderator identifies need for expert input 110 110 * Contact expert externally (don't require them to be users) 111 111 * Trusted Contributor provides written opinion with sources ... ... @@ -125,11 +125,13 @@ 125 125 **Status**: Visible to all users 126 126 127 127 **Includes**: 136 + 128 128 * AI-generated analyses (default state) 129 129 * User-contributed content 130 130 * Edited/improved content 131 131 132 132 **Quality Indicators** (displayed with content): 142 + 133 133 * **Confidence Score**: 0-100% (AI's confidence in analysis) 134 134 * **Source Quality Score**: 0-100% (based on source track record) 135 135 * **Controversy Flag**: If high dispute/edit activity ... ... @@ -139,6 +139,7 @@ 139 139 * **Review Status**: AI-generated / Human-reviewed / Expert-validated 140 140 141 141 **Automatic Warnings**: 152 + 142 142 * Confidence < 60%: "Low confidence - use caution" 143 143 * Source quality < 40%: "Sources may be unreliable" 144 144 * High controversy: "Disputed - multiple interpretations exist" ... ... @@ -151,6 +151,7 @@ 151 151 **Status**: Not visible to regular users (only to moderators) 152 152 153 153 **Reasons**: 165 + 154 154 * Spam or advertising 155 155 * Personal attacks or harassment 156 156 * Illegal content ... ... @@ -159,6 +159,7 @@ 159 159 * Abuse or harmful content 160 160 161 161 **Process**: 174 + 162 162 * Automated detection flags for moderator review 163 163 * Moderator confirms and hides 164 164 * Original author notified with reason ... ... @@ -181,6 +181,7 @@ 181 181 **AKEL is the primary system**. Human contributions supplement and train AKEL. 182 182 183 183 **AKEL Must**: 197 + 184 184 * Mark all outputs as AI-generated 185 185 * Display confidence scores prominently 186 186 * Provide source citations ... ... @@ -189,6 +189,7 @@ 189 189 * Learn from human corrections 190 190 191 191 **When AKEL Makes Errors**: 206 + 192 192 1. Capture the error pattern (what, why, how common) 193 193 2. Improve the system (better prompt, model, validation) 194 194 3. Re-process affected claims automatically ... ... @@ -219,6 +219,7 @@ 219 219 === 4.1 Source Requirements === 220 220 221 221 **Track Record Over Credentials**: 237 + 222 222 * Sources evaluated by historical accuracy 223 223 * Correction policy matters 224 224 * Independence from conflicts of interest ... ... @@ -225,6 +225,7 @@ 225 225 * Methodology transparency 226 226 227 227 **Source Quality Database**: 244 + 228 228 * Automated tracking of source accuracy 229 229 * Correction frequency 230 230 * Reliability score (updated continuously) ... ... @@ -256,6 +256,7 @@ 256 256 === 4.4 Confidence Scoring === 257 257 258 258 **Automated confidence calculation based on**: 276 + 259 259 * Source quality scores 260 260 * Evidence consistency 261 261 * Contradiction detection ... ... @@ -263,6 +263,7 @@ 263 263 * Historical accuracy of similar claims 264 264 265 265 **Thresholds**: 284 + 266 266 * < 40%: Too low to publish (needs improvement) 267 267 * 40-60%: Published with "Low confidence" warning 268 268 * 60-80%: Published as standard ... ... @@ -279,6 +279,7 @@ 279 279 === 5.1 Risk Score Calculation === 280 280 281 281 **Factors** (weighted algorithm): 301 + 282 282 * **Domain sensitivity**: Medical, legal, safety auto-flagged higher 283 283 * **Potential impact**: Views, citations, spread 284 284 * **Controversy level**: Flags, disputes, edit wars ... ... @@ -305,6 +305,7 @@ 305 305 === 6.1 Error Capture === 306 306 307 307 **When users flag errors or make corrections**: 328 + 308 308 1. What was wrong? (categorize) 309 309 2. What should it have been? 310 310 3. Why did the system fail? (root cause) ... ... @@ -323,6 +323,7 @@ 323 323 === 6.3 Quality Metrics Dashboard === 324 324 325 325 **Track continuously**: 347 + 326 326 * Error rate by category 327 327 * Source quality distribution 328 328 * Confidence score trends ... ... @@ -348,6 +348,7 @@ 348 348 === 7.2 Anomaly Detection === 349 349 350 350 **Automated alerts for**: 373 + 351 351 * Sudden quality drops 352 352 * Unusual patterns 353 353 * Contradiction clusters ... ... @@ -400,6 +400,7 @@ 400 400 **Fulfills**: UN-2 (Context-dependent verification), UN-3 (Article summary with FactHarbor analysis summary), UN-8 (Understanding disagreement) 401 401 402 402 **Automated scenario creation**: 426 + 403 403 * AKEL analyzes claim and generates likely scenarios (use-cases and contexts) 404 404 * Each scenario includes: assumptions, definitions, boundaries, evidence context 405 405 * Users can flag incorrect scenarios ... ... @@ -449,8 +449,6 @@ 449 449 This requirement has been **dropped from the current architecture and design**. Versioned entities have been replaced with simple edit history tracking only. Full evolution timeline functionality is deferred to future releases beyond V1.0. 450 450 {{/warning}} 451 451 452 - 453 - 454 454 **Fulfills**: UN-15 (Verdict evolution timeline) 455 455 456 456 * Claims and verdicts update as new evidence emerges ... ... @@ -468,6 +468,7 @@ 468 468 **Purpose**: Provide side-by-side comparison of what a document claims vs. FactHarbor's complete analysis of its credibility 469 469 470 470 **Left Panel: Article Summary**: 493 + 471 471 * Document title, source, and claimed credibility 472 472 * "The Big Picture" - main thesis or position change 473 473 * "Key Findings" - structured summary of document's main claims ... ... @@ -475,6 +475,7 @@ 475 475 * "Conclusion" - document's bottom line 476 476 477 477 **Right Panel: FactHarbor Analysis Summary**: 501 + 478 478 * FactHarbor's independent source credibility assessment 479 479 * Claim-by-claim verdicts with confidence scores 480 480 * Methodology assessment (strengths, limitations) ... ... @@ -482,6 +482,7 @@ 482 482 * Analysis ID for reference 483 483 484 484 **Design Principles**: 509 + 485 485 * No scrolling required - both panels visible simultaneously 486 486 * Visual distinction between "what they say" and "FactHarbor's analysis" 487 487 * Color coding for verdicts (supported, uncertain, refuted) ... ... @@ -489,6 +489,7 @@ 489 489 * Mobile responsive (panels stack vertically on small screens) 490 490 491 491 **Implementation Notes**: 517 + 492 492 * Generated automatically by AKEL for every analyzed document 493 493 * Updates when verdict evolves (maintains version history) 494 494 * Exportable as standalone summary report ... ... @@ -515,7 +515,8 @@ 515 515 (% style="font-size:0.9em; color:#666;" %) 516 516 ↑ WELL SUPPORTED • 87% confidence 517 517 [[Click for evidence details →]] 518 -(%%) 544 + 545 + 519 519 ))) 520 520 521 521 The study, which followed 10,000 participants over five years, showed significant improvements in cardiovascular health markers. ... ... @@ -528,7 +528,8 @@ 528 528 ↑ UNCERTAIN • 45% confidence 529 529 Overstated - evidence shows risk reduction, not prevention 530 530 [[Click for details →]] 531 -(%%) 558 + 559 + 532 532 ))) 533 533 534 534 Dr. Maria Rodriguez, lead researcher, recommends incorporating more olive oil, fish, and vegetables into daily meals. ... ... @@ -541,7 +541,8 @@ 541 541 ↑ REFUTED • 15% confidence 542 542 Claim not supported by study design; correlation ≠ causation 543 543 [[Click for counter-evidence →]] 544 -(%%) 572 + 573 + 545 545 ))) 546 546 547 547 Participants also reported feeling more energetic and experiencing better sleep quality, though these were secondary measures. ... ... @@ -548,6 +548,7 @@ 548 548 ))) 549 549 550 550 **Legend:** 580 + 551 551 * 🟢 = Well-supported claim (confidence ≥75%) 552 552 * 🟡 = Uncertain claim (confidence 40-74%) 553 553 * 🔴 = Refuted/unsupported claim (confidence <40%) ... ... @@ -566,11 +566,13 @@ 566 566 **Confidence:** 87% 567 567 568 568 **Evidence Summary:** 599 + 569 569 * Meta-analysis of 12 RCTs confirms 23-28% risk reduction 570 570 * Consistent findings across multiple populations 571 571 * Published in peer-reviewed journal (high credibility) 572 572 573 573 **Uncertainty Factors:** 605 + 574 574 * Exact percentage varies by study (20-30% range) 575 575 576 576 [[View Full Analysis →]] ... ... @@ -577,6 +577,7 @@ 577 577 ))) 578 578 579 579 **Color-Coding System**: 612 + 580 580 * **Green**: Well-supported claims (confidence ≥75%, strong evidence) 581 581 * **Yellow/Orange**: Uncertain claims (confidence 40-74%, conflicting or limited evidence) 582 582 * **Red**: Refuted or unsupported claims (confidence <40%, contradicted by evidence) ... ... @@ -586,8 +586,12 @@ 586 586 587 587 (% style="width:100%; border-collapse:collapse;" %) 588 588 |=**Article Text**|=**Status**|=**Analysis** 589 -|(((A recent study published in the Journal of Nutrition has revealed new findings about the Mediterranean diet.)))|(% style="text-align:center;" %)Plain text|(% style="font-style:italic; color:#888;" %)Context - no highlighting 590 -|(((//Researchers found that Mediterranean diet followers had a 25% lower risk of heart disease compared to control groups//)))|(% style="background-color:#D4EDDA; text-align:center; padding:8px;" %)🟢 **WELL SUPPORTED**|((( 622 +|((( 623 +A recent study published in the Journal of Nutrition has revealed new findings about the Mediterranean diet. 624 +)))|(% style="text-align:center;" %)Plain text|(% style="font-style:italic; color:#888;" %)Context - no highlighting 625 +|((( 626 +//Researchers found that Mediterranean diet followers had a 25% lower risk of heart disease compared to control groups// 627 +)))|(% style="background-color:#D4EDDA; text-align:center; padding:8px;" %)🟢 **WELL SUPPORTED**|((( 591 591 **87% confidence** 592 592 593 593 Meta-analysis of 12 RCTs confirms 23-28% risk reduction ... ... @@ -594,8 +594,12 @@ 594 594 595 595 [[View Full Analysis]] 596 596 ))) 597 -|(((The study, which followed 10,000 participants over five years, showed significant improvements in cardiovascular health markers.)))|(% style="text-align:center;" %)Plain text|(% style="font-style:italic; color:#888;" %)Methodology - no highlighting 598 -|(((//Some experts believe this diet can completely prevent heart attacks//)))|(% style="background-color:#FFF3CD; text-align:center; padding:8px;" %)🟡 **UNCERTAIN**|((( 634 +|((( 635 +The study, which followed 10,000 participants over five years, showed significant improvements in cardiovascular health markers. 636 +)))|(% style="text-align:center;" %)Plain text|(% style="font-style:italic; color:#888;" %)Methodology - no highlighting 637 +|((( 638 +//Some experts believe this diet can completely prevent heart attacks// 639 +)))|(% style="background-color:#FFF3CD; text-align:center; padding:8px;" %)🟡 **UNCERTAIN**|((( 599 599 **45% confidence** 600 600 601 601 Overstated - evidence shows risk reduction, not prevention ... ... @@ -602,8 +602,12 @@ 602 602 603 603 [[View Details]] 604 604 ))) 605 -|(((Dr. Rodriguez recommends incorporating more olive oil, fish, and vegetables into daily meals.)))|(% style="text-align:center;" %)Plain text|(% style="font-style:italic; color:#888;" %)Recommendation - no highlighting 606 -|(((//The study proves that saturated fats cause heart disease//)))|(% style="background-color:#F8D7DA; text-align:center; padding:8px;" %)🔴 **REFUTED**|((( 646 +|((( 647 +Dr. Rodriguez recommends incorporating more olive oil, fish, and vegetables into daily meals. 648 +)))|(% style="text-align:center;" %)Plain text|(% style="font-style:italic; color:#888;" %)Recommendation - no highlighting 649 +|((( 650 +//The study proves that saturated fats cause heart disease// 651 +)))|(% style="background-color:#F8D7DA; text-align:center; padding:8px;" %)🔴 **REFUTED**|((( 607 607 **15% confidence** 608 608 609 609 Claim not supported by study; correlation ≠ causation ... ... @@ -612,6 +612,7 @@ 612 612 ))) 613 613 614 614 **Design Notes:** 660 + 615 615 * Highlighted claims use italics to distinguish from plain text 616 616 * Color backgrounds match XWiki message box colors (success/warning/error) 617 617 * Status column shows verdict prominently ... ... @@ -618,6 +618,7 @@ 618 618 * Analysis column provides quick summary with link to details 619 619 620 620 **User Actions**: 667 + 621 621 * **Hover** over highlighted claim → Tooltip appears 622 622 * **Click** highlighted claim → Detailed analysis modal/panel 623 623 * **Toggle** button to turn highlighting on/off ... ... @@ -624,16 +624,18 @@ 624 624 * **Keyboard**: Tab through highlighted claims 625 625 626 626 **Interaction Design**: 674 + 627 627 * Hover/click on highlighted claim → Show tooltip with: 628 - * Claim text629 - * Verdict (e.g., "WELL SUPPORTED")630 - * Confidence score (e.g., "85%")631 - * Brief evidence summary632 - * Link to detailed analysis676 +* Claim text 677 +* Verdict (e.g., "WELL SUPPORTED") 678 +* Confidence score (e.g., "85%") 679 +* Brief evidence summary 680 +* Link to detailed analysis 633 633 * Toggle highlighting on/off (user preference) 634 634 * Adjustable color intensity for accessibility 635 635 636 636 **Technical Requirements**: 685 + 637 637 * Real-time highlighting as page loads (non-blocking) 638 638 * Claim boundary detection (start/end of assertion) 639 639 * Handle nested or overlapping claims ... ... @@ -641,16 +641,19 @@ 641 641 * Work with various content formats (HTML, plain text, PDFs) 642 642 643 643 **Performance Requirements**: 693 + 644 644 * Highlighting renders within 500ms of page load 645 645 * No perceptible delay in reading experience 646 646 * Efficient DOM manipulation (avoid reflows) 647 647 648 648 **Accessibility**: 699 + 649 649 * Color-blind friendly palette (use patterns/icons in addition to color) 650 650 * Screen reader compatible (ARIA labels for claim credibility) 651 651 * Keyboard navigation to highlighted claims 652 652 653 653 **Implementation Notes**: 705 + 654 654 * Claims extracted and analyzed by AKEL during initial processing 655 655 * Highlighting data stored as annotations with byte offsets 656 656 * Client-side rendering of highlights based on verdict data ... ... @@ -663,6 +663,7 @@ 663 663 **Fulfills**: UN-1 (Fast access to verified content), UN-16 (Clear review status) 664 664 665 665 **Simple flow**: 718 + 666 666 1. Claim submitted 667 667 2. AKEL processes (automated) 668 668 3. If confidence > threshold: Publish (labeled as AI-generated) ... ... @@ -674,6 +674,7 @@ 674 674 ==== FR10 — Moderation ==== 675 675 676 676 **Focus on abuse, not routine quality**: 730 + 677 677 * Automated abuse detection 678 678 * Moderators handle flags 679 679 * Quick response to harmful content ... ... @@ -744,6 +744,7 @@ 744 744 **Purpose:** Ensure extracted claims are factual assertions (not opinions/predictions) 745 745 746 746 **Checks:** 801 + 747 747 1. **Factual Statement Test:** Is this verifiable? (Yes/No) 748 748 2. **Opinion Detection:** Contains hedging language? ("I think", "probably", "best") 749 749 3. **Future Prediction Test:** Makes claims about future events? ... ... @@ -750,6 +750,7 @@ 750 750 4. **Specificity Score:** Contains specific entities, numbers, dates? 751 751 752 752 **Thresholds:** 808 + 753 753 * Factual: Must be "Yes" 754 754 * Opinion markers: <2 hedging phrases 755 755 * Specificity: ≥3 specific elements ... ... @@ -761,11 +761,13 @@ 761 761 **Purpose:** Ensure AI-linked evidence actually relates to claim 762 762 763 763 **Checks:** 820 + 764 764 1. **Semantic Similarity Score:** Evidence vs. claim (embeddings) 765 765 2. **Entity Overlap:** Shared people/places/things? 766 766 3. **Topic Relevance:** Discusses claim subject? 767 767 768 768 **Thresholds:** 826 + 769 769 * Similarity: ≥0.6 (cosine similarity) 770 770 * Entity overlap: ≥1 shared entity 771 771 * Topic relevance: ≥0.5 ... ... @@ -777,11 +777,13 @@ 777 777 **Purpose:** Validate scenario assumptions are logical and complete 778 778 779 779 **Checks:** 838 + 780 780 1. **Completeness:** All required fields populated 781 781 2. **Internal Consistency:** Assumptions don't contradict 782 782 3. **Distinguishability:** Scenarios meaningfully different 783 783 784 784 **Thresholds:** 844 + 785 785 * Required fields: 100% 786 786 * Contradiction score: <0.3 787 787 * Scenario similarity: <0.8 ... ... @@ -793,6 +793,7 @@ 793 793 **Purpose:** Only publish high-confidence verdicts 794 794 795 795 **Checks:** 856 + 796 796 1. **Evidence Count:** Minimum 2 sources 797 797 2. **Source Quality:** Average reliability ≥0.6 798 798 3. **Evidence Agreement:** Supporting vs. contradicting ≥0.6 ... ... @@ -799,6 +799,7 @@ 799 799 4. **Uncertainty Factors:** Hedging in reasoning 800 800 801 801 **Confidence Tiers:** 863 + 802 802 * **HIGH (80-100%):** ≥3 sources, ≥0.7 quality, ≥80% agreement 803 803 * **MEDIUM (50-79%):** ≥2 sources, ≥0.6 quality, ≥60% agreement 804 804 * **LOW (0-49%):** <2 sources OR low quality/agreement ... ... @@ -805,11 +805,13 @@ 805 805 * **INSUFFICIENT:** <2 sources → DO NOT PUBLISH 806 806 807 807 **Implementation Phases:** 870 + 808 808 * **POC1:** Gates 1 & 4 only (basic validation) 809 809 * **POC2:** All 4 gates (complete framework) 810 810 * **V1.0:** Hardened with <5% hallucination rate 811 811 812 812 **Acceptance Criteria:** 876 + 813 813 * ✅ All gates operational 814 814 * ✅ Hallucination rate <5% 815 815 * ✅ Quality metrics public ... ... @@ -818,7 +818,6 @@ 818 818 819 819 **Fulfills:** Data protection, system integrity, user privacy, production readiness 820 820 821 - 822 822 **Purpose:** Protect FactHarbor systems, user data, and operations from security threats, ensuring production-grade security posture. 823 823 824 824 **Specification:** ... ... @@ -826,6 +826,7 @@ 826 826 ==== API Security ==== 827 827 828 828 **Rate Limiting:** 892 + 829 829 * **Analysis endpoints:** 100 requests/hour per IP 830 830 * **Read endpoints:** 1,000 requests/hour per IP 831 831 * **Search:** 500 requests/hour per IP ... ... @@ -833,21 +833,24 @@ 833 833 * **Burst protection:** Max 10 requests/second 834 834 835 835 **Authentication & Authorization:** 900 + 836 836 * **API Keys:** Required for programmatic access 837 837 * **JWT tokens:** For user sessions (1-hour expiry) 838 838 * **OAuth2:** For third-party integrations 839 839 * **Role-Based Access Control (RBAC):** 840 - * Public: Read-only access to published claims841 - * Contributor: Submit claims, provide evidence842 - * Moderator: Review contributions, manage quality843 - * Admin: System configuration, user management905 +* Public: Read-only access to published claims 906 +* Contributor: Submit claims, provide evidence 907 +* Moderator: Review contributions, manage quality 908 +* Admin: System configuration, user management 844 844 845 845 **CORS Policies:** 911 + 846 846 * Whitelist approved domains only 847 847 * No wildcard origins in production 848 848 * Credentials required for sensitive endpoints 849 849 850 850 **Input Sanitization:** 917 + 851 851 * Validate all user input against schemas 852 852 * Sanitize HTML/JavaScript in text submissions 853 853 * Prevent SQL injection (use parameterized queries) ... ... @@ -855,11 +855,12 @@ 855 855 * Max request size: 10MB 856 856 * File upload restrictions: Whitelist file types, scan for malware 857 857 858 ---- 925 +----- 859 859 860 860 ==== Data Security ==== 861 861 862 862 **Encryption at Rest:** 930 + 863 863 * Database encryption using AES-256 864 864 * Encrypted backups 865 865 * Key management via cloud provider KMS (AWS KMS, Google Cloud KMS) ... ... @@ -866,6 +866,7 @@ 866 866 * Regular key rotation (90-day cycle) 867 867 868 868 **Encryption in Transit:** 937 + 869 869 * HTTPS/TLS 1.3 only (no TLS 1.0/1.1) 870 870 * Strong cipher suites only 871 871 * HSTS (HTTP Strict Transport Security) enabled ... ... @@ -872,6 +872,7 @@ 872 872 * Certificate pinning for mobile apps 873 873 874 874 **Secure Credential Storage:** 944 + 875 875 * Passwords hashed with bcrypt (cost factor 12+) 876 876 * API keys encrypted in database 877 877 * Secrets stored in environment variables (never in code) ... ... @@ -878,12 +878,13 @@ 878 878 * Use secrets manager (AWS Secrets Manager, HashiCorp Vault) 879 879 880 880 **Data Privacy:** 951 + 881 881 * Minimal data collection (privacy by design) 882 882 * User data deletion on request (GDPR compliance) 883 883 * PII encryption in database 884 884 * Anonymize logs (no PII in log files) 885 885 886 ---- 957 +----- 887 887 888 888 ==== Application Security ==== 889 889 ... ... @@ -901,6 +901,7 @@ 901 901 10. **Server-Side Request Forgery:** URL validation, whitelist domains 902 902 903 903 **Security Headers:** 975 + 904 904 * `Content-Security-Policy`: Strict CSP to prevent XSS 905 905 * `X-Frame-Options`: DENY (prevent clickjacking) 906 906 * `X-Content-Type-Options`: nosniff ... ... @@ -908,6 +908,7 @@ 908 908 * `Permissions-Policy`: Restrict browser features 909 909 910 910 **Dependency Vulnerability Scanning:** 983 + 911 911 * **Tools:** Snyk, Dependabot, npm audit, pip-audit 912 912 * **Frequency:** Daily automated scans 913 913 * **Action:** Patch critical vulnerabilities within 24 hours ... ... @@ -914,30 +914,34 @@ 914 914 * **Policy:** No known high/critical CVEs in production 915 915 916 916 **Security Audits:** 990 + 917 917 * **Internal:** Quarterly security reviews 918 918 * **External:** Annual penetration testing by certified firm 919 919 * **Bug Bounty:** Public bug bounty program (V1.1+) 920 920 * **Compliance:** SOC 2 Type II certification target (V1.5) 921 921 922 ---- 996 +----- 923 923 924 924 ==== Operational Security ==== 925 925 926 926 **DDoS Protection:** 1001 + 927 927 * CloudFlare or AWS Shield 928 928 * Rate limiting at CDN layer 929 929 * Automatic IP blocking for abuse patterns 930 930 931 931 **Monitoring & Alerting:** 1007 + 932 932 * Real-time security event monitoring 933 933 * Alerts for: 934 - * Failed login attempts (>5 in 10 minutes)935 - * API abuse patterns936 - * Unusual data access patterns937 - * Security scan detections1010 +* Failed login attempts (>5 in 10 minutes) 1011 +* API abuse patterns 1012 +* Unusual data access patterns 1013 +* Security scan detections 938 938 * Integration with SIEM (Security Information and Event Management) 939 939 940 940 **Incident Response:** 1017 + 941 941 * Documented incident response plan 942 942 * Security incident classification (P1-P4) 943 943 * On-call rotation for security issues ... ... @@ -945,16 +945,18 @@ 945 945 * Public disclosure policy (coordinated disclosure) 946 946 947 947 **Backup & Recovery:** 1025 + 948 948 * Daily encrypted backups 949 949 * 30-day retention period 950 950 * Tested recovery procedures (quarterly) 951 951 * Disaster recovery plan (RTO: 4 hours, RPO: 1 hour) 952 952 953 ---- 1031 +----- 954 954 955 955 ==== Compliance & Standards ==== 956 956 957 957 **GDPR Compliance:** 1036 + 958 958 * User consent management 959 959 * Right to access data 960 960 * Right to deletion ... ... @@ -962,6 +962,7 @@ 962 962 * Privacy policy published 963 963 964 964 **Accessibility:** 1044 + 965 965 * WCAG 2.1 AA compliance 966 966 * Screen reader compatibility 967 967 * Keyboard navigation ... ... @@ -968,6 +968,7 @@ 968 968 * Alt text for images 969 969 970 970 **Browser Support:** 1051 + 971 971 * Modern browsers only (Chrome/Edge/Firefox/Safari latest 2 versions) 972 972 * No IE11 support 973 973 ... ... @@ -982,12 +982,10 @@ 982 982 * ✅ Incident response plan documented and tested 983 983 * ✅ 95% uptime over 30-day period 984 984 985 - 986 986 === NFR13: Quality Metrics Transparency === 987 987 988 988 **Fulfills:** User trust, transparency, continuous improvement, IFCN methodology transparency 989 989 990 - 991 991 **Purpose:** Provide transparent, measurable quality metrics that demonstrate AKEL's performance and build user trust in automated fact-checking. 992 992 993 993 **Specification:** ... ... @@ -996,98 +996,97 @@ 996 996 997 997 **Core Metrics to Display:** 998 998 999 -**1. Verdict Quality Metrics** 1078 +* 1079 +** 1080 +**1. Verdict Quality Metrics 1000 1000 1001 1001 **TIGERScore (Fact-Checking Quality):** 1083 + 1002 1002 * **Definition:** Measures how well generated verdicts match expert fact-checker judgments 1003 1003 * **Scale:** 0-100 (higher is better) 1004 1004 * **Calculation:** Using TIGERScore framework (Truth-conditional accuracy, Informativeness, Generality, Evaluativeness, Relevance) 1005 1005 * **Target:** Average ≥80 for production release 1006 1006 * **Display:** 1007 -{{code}} 1008 -Verdict Quality (TIGERScore): 1089 +{{code}}Verdict Quality (TIGERScore): 1009 1009 Overall: 84.2 ▲ (+2.1 from last month) 1010 1010 1011 1011 Distribution: 1012 - Excellent (>80): 67%1013 - Good (60-80): 28%1014 - Needs Improvement (<60): 5%1093 + Excellent (>80): 67% 1094 + Good (60-80): 28% 1095 + Needs Improvement (<60): 5% 1015 1015 1016 -Trend: [Graph showing improvement over time] 1017 -{{/code}} 1097 +Trend: [Graph showing improvement over time]{{/code}} 1018 1018 1019 1019 **2. Hallucination & Faithfulness Metrics** 1020 1020 1021 1021 **AlignScore (Faithfulness to Evidence):** 1102 + 1022 1022 * **Definition:** Measures how well verdicts align with actual evidence content 1023 1023 * **Scale:** 0-1 (higher is better) 1024 1024 * **Purpose:** Detect AI hallucinations (making claims not supported by evidence) 1025 1025 * **Target:** Average ≥0.85, hallucination rate <5% 1026 1026 * **Display:** 1027 -{{code}} 1028 -Evidence Faithfulness (AlignScore): 1108 +{{code}}Evidence Faithfulness (AlignScore): 1029 1029 Average: 0.87 ▼ (-0.02 from last month) 1030 1030 1031 1031 Hallucination Rate: 4.2% 1032 - - Claims without evidence support: 3.1%1033 - - Misrepresented evidence: 1.1%1112 + - Claims without evidence support: 3.1% 1113 + - Misrepresented evidence: 1.1% 1034 1034 1035 -Action: Prompt engineering review scheduled 1036 -{{/code}} 1115 +Action: Prompt engineering review scheduled{{/code}} 1037 1037 1038 1038 **3. Evidence Quality Metrics** 1039 1039 1040 1040 **Source Reliability:** 1120 + 1041 1041 * Average source quality score (0-1 scale) 1042 1042 * Distribution of high/medium/low quality sources 1043 1043 * Publisher track record trends 1044 1044 1045 1045 **Evidence Coverage:** 1126 + 1046 1046 * Average number of sources per claim 1047 1047 * Percentage of claims with ≥2 sources (EFCSN minimum) 1048 1048 * Geographic diversity of sources 1049 1049 1050 1050 **Display:** 1051 -{{code}} 1052 -Evidence Quality: 1132 +{{code}}Evidence Quality: 1053 1053 1054 1054 Average Sources per Claim: 4.2 1055 1055 Claims with ≥2 sources: 94% (EFCSN compliant) 1056 1056 1057 1057 Source Quality Distribution: 1058 - High quality (>0.8): 48%1059 - Medium quality (0.5-0.8): 43%1060 - Low quality (<0.5): 9%1138 + High quality (>0.8): 48% 1139 + Medium quality (0.5-0.8): 43% 1140 + Low quality (<0.5): 9% 1061 1061 1062 -Geographic Diversity: 23 countries represented 1063 -{{/code}} 1142 +Geographic Diversity: 23 countries represented{{/code}} 1064 1064 1065 1065 **4. Contributor Consensus Metrics** (when human reviewers involved) 1066 1066 1067 1067 **Inter-Rater Reliability (IRR):** 1147 + 1068 1068 * **Calculation:** Cohen's Kappa or Fleiss' Kappa for multiple raters 1069 1069 * **Scale:** 0-1 (higher is better) 1070 1070 * **Interpretation:** 1071 - * >0.8: Almost perfect agreement1072 - * 0.6-0.8: Substantial agreement1073 - * 0.4-0.6: Moderate agreement1074 - * <0.4: Poor agreement1151 +* >0.8: Almost perfect agreement 1152 +* 0.6-0.8: Substantial agreement 1153 +* 0.4-0.6: Moderate agreement 1154 +* <0.4: Poor agreement 1075 1075 * **Target:** Maintain ≥0.7 (substantial agreement) 1076 1076 1077 1077 **Display:** 1078 -{{code}} 1079 -Contributor Consensus: 1158 +{{code}}Contributor Consensus: 1080 1080 1081 1081 Inter-Rater Reliability (IRR): 0.73 (Substantial agreement) 1082 - - Verdict agreement: 78%1083 - - Evidence quality agreement: 71%1084 - - Scenario structure agreement: 69%1161 + - Verdict agreement: 78% 1162 + - Evidence quality agreement: 71% 1163 + - Scenario structure agreement: 69% 1085 1085 1086 1086 Cases requiring moderator review: 12 1087 -Moderator override rate: 8% 1088 -{{/code}} 1166 +Moderator override rate: 8%{{/code}} 1089 1089 1090 ---- 1168 +----- 1091 1091 1092 1092 ==== Quality Dashboard Implementation ==== 1093 1093 ... ... @@ -1094,6 +1094,7 @@ 1094 1094 **Dashboard Location:** `/quality-metrics` 1095 1095 1096 1096 **Update Frequency:** 1175 + 1097 1097 * **POC2:** Weekly manual updates 1098 1098 * **Beta 0:** Daily automated updates 1099 1099 * **V1.0:** Real-time metrics (updated hourly) ... ... @@ -1111,16 +1111,16 @@ 1111 1111 1112 1112 {{code}} 1113 1113 ┌─────────────────────────────────────────────────────────────┐ 1114 -│ FactHarbor Quality Metrics Last updated: │1115 -│ Public Dashboard 2 hours ago│1193 +│ FactHarbor Quality Metrics Last updated: │ 1194 +│ Public Dashboard 2 hours ago │ 1116 1116 └─────────────────────────────────────────────────────────────┘ 1117 1117 1118 1118 📊 KEY METRICS 1119 1119 ───────────────────────────────────────────────────────────── 1120 -TIGERScore (Verdict Quality): 84.2 ▲ (+2.1)1121 -AlignScore (Faithfulness): 0.87 ▼ (-0.02)1122 -Hallucination Rate: 4.2% ✓ (Target: <5%)1123 -Average Sources per Claim: 4.2▲ (+0.3)1199 +TIGERScore (Verdict Quality): 84.2 ▲ (+2.1) 1200 +AlignScore (Faithfulness): 0.87 ▼ (-0.02) 1201 +Hallucination Rate: 4.2% ✓ (Target: <5%) 1202 +Average Sources per Claim: 4.2 ▲ (+0.3) 1124 1124 1125 1125 📈 TRENDS (30 days) 1126 1126 ───────────────────────────────────────────────────────────── ... ... @@ -1143,7 +1143,7 @@ 1143 1143 1144 1144 {{/code}} 1145 1145 1146 ---- 1225 +----- 1147 1147 1148 1148 ==== Continuous Improvement Feedback Loop ==== 1149 1149 ... ... @@ -1150,31 +1150,36 @@ 1150 1150 **How Metrics Inform AKEL Improvements:** 1151 1151 1152 1152 1. **Identify Weak Areas:** 1153 - * Low TIGERScore → Review prompt engineering 1154 - * High hallucination → Strengthen evidence grounding 1155 - * Low IRR → Clarify evaluation criteria 1156 1156 1233 +* Low TIGERScore → Review prompt engineering 1234 +* High hallucination → Strengthen evidence grounding 1235 +* Low IRR → Clarify evaluation criteria 1236 + 1157 1157 2. **A/B Testing Integration:** 1158 - * Test prompt variations 1159 - * Measure impact on quality metrics 1160 - * Deploy winners automatically 1161 1161 1239 +* Test prompt variations 1240 +* Measure impact on quality metrics 1241 +* Deploy winners automatically 1242 + 1162 1162 3. **Alert Thresholds:** 1163 - * TIGERScore drops below 75 → Alert team 1164 - * Hallucination rate exceeds 7% → Pause auto-publishing 1165 - * IRR below 0.6 → Moderator training needed 1166 1166 1245 +* TIGERScore drops below 75 → Alert team 1246 +* Hallucination rate exceeds 7% → Pause auto-publishing 1247 +* IRR below 0.6 → Moderator training needed 1248 + 1167 1167 4. **Monthly Quality Reviews:** 1168 - * Analyze trends 1169 - * Identify systematic issues 1170 - * Plan prompt improvements 1171 - * Update AKEL models 1172 1172 1173 ---- 1251 +* Analyze trends 1252 +* Identify systematic issues 1253 +* Plan prompt improvements 1254 +* Update AKEL models 1174 1174 1256 +----- 1257 + 1175 1175 ==== Metric Calculation Details ==== 1176 1176 1177 1177 **TIGERScore Implementation:** 1261 + 1178 1178 * Reference: https://github.com/TIGER-AI-Lab/TIGERScore 1179 1179 * Input: Generated verdict + reference verdict (from expert) 1180 1180 * Output: 0-100 score across 5 dimensions ... ... @@ -1181,6 +1181,7 @@ 1181 1181 * Requires: Test set of expert-reviewed claims (minimum 100) 1182 1182 1183 1183 **AlignScore Implementation:** 1268 + 1184 1184 * Reference: https://github.com/yuh-zha/AlignScore 1185 1185 * Input: Generated verdict + source evidence text 1186 1186 * Output: 0-1 faithfulness score ... ... @@ -1187,11 +1187,12 @@ 1187 1187 * Calculation: Semantic alignment between claim and evidence 1188 1188 1189 1189 **Source Quality Scoring:** 1275 + 1190 1190 * Use existing source reliability database (e.g., NewsGuard, MBFC) 1191 1191 * Factor in: Publication history, corrections record, transparency 1192 1192 * Scale: 0-1 (weighted average across sources) 1193 1193 1194 ---- 1280 +----- 1195 1195 1196 1196 ==== Integration Points ==== 1197 1197 ... ... @@ -1210,9 +1210,6 @@ 1210 1210 * ✅ Mobile-responsive dashboard design 1211 1211 * ✅ Metrics inform quarterly AKEL improvement planning 1212 1212 1213 - 1214 - 1215 - 1216 1216 == 13. Requirements Traceability == 1217 1217 1218 1218 For full traceability matrix showing which requirements fulfill which user needs, see: ... ... @@ -1222,11 +1222,13 @@ 1222 1222 == 14. Related Pages == 1223 1223 1224 1224 **Non-Functional Requirements (see Section 9):** 1308 + 1225 1225 * [[NFR11 — AKEL Quality Assurance Framework>>#NFR11]] 1226 1226 * [[NFR12 — Security Controls>>#NFR12]] 1227 1227 * [[NFR13 — Quality Metrics Transparency>>#NFR13]] 1228 1228 1229 1229 **Other Requirements:** 1314 + 1230 1230 * [[User Needs>>FactHarbor.Specification.Requirements.User Needs.WebHome]] 1231 1231 * [[V1.0 Requirements>>FactHarbor.Specification.Requirements.V10.]] 1232 1232 * [[Gap Analysis>>FactHarbor.Specification.Requirements.GapAnalysis]] ... ... @@ -1236,7 +1236,7 @@ 1236 1236 * [[Data Model>>FactHarbor.Specification.Data Model.WebHome]] - Data structures supporting requirements 1237 1237 * [[Workflows>>FactHarbor.Specification.Workflows.WebHome]] - User interaction workflows 1238 1238 * [[AKEL>>FactHarbor.Specification.AI Knowledge Extraction Layer (AKEL).WebHome]] - AI system fulfilling automation requirements 1239 -* [[Global Rules>>FactHarbor.Organisation.How-We-Work-Together.GlobalRules.WebHome]] 1324 +* [[Global Rules>>Archive.FactHarbor.Organisation.How-We-Work-Together.GlobalRules.WebHome]] 1240 1240 * [[Privacy Policy>>FactHarbor.Organisation.How-We-Work-Together.Privacy-Policy]] 1241 1241 1242 1242 = V0.9.70 Additional Requirements = ... ... @@ -1247,7 +1247,6 @@ 1247 1247 1248 1248 **Fulfills:** UN-13 (Cite FactHarbor Verdicts), UN-14 (API Access for Integration), UN-26 (Search Engine Visibility) 1249 1249 1250 - 1251 1251 **Purpose:** Generate valid ClaimReview structured data for every published analysis to enable Google/Bing search visibility and fact-check discovery. 1252 1252 1253 1253 **Specification:** ... ... @@ -1260,35 +1260,35 @@ 1260 1260 1261 1261 {{code language="json"}} 1262 1262 { 1263 - "@context": "https://schema.org",1264 - "@type": "ClaimReview",1265 - "datePublished": "YYYY-MM-DD",1266 - "url": "https://factharbor.org/claims/{claim_id}",1267 - "claimReviewed": "The exact claim text",1268 - "author": {1269 - "@type": "Organization",1270 - "name": "FactHarbor",1271 - "url": "https://factharbor.org"1272 - },1273 - "reviewRating": {1274 - "@type": "Rating",1275 - "ratingValue": "1-5",1276 - "bestRating": "5",1277 - "worstRating": "1",1278 - "alternateName": "FactHarbor likelihood score"1279 - },1280 - "itemReviewed": {1281 - "@type": "Claim",1282 - "author": {1283 - "@type": "Person",1284 - "name": "Claim author if known"1285 - },1286 - "datePublished": "YYYY-MM-DD if known",1287 - "appearance": {1288 - "@type": "CreativeWork",1289 - "url": "Original claim URL if from article"1290 - }1291 - }1347 + "@context": "https://schema.org", 1348 + "@type": "ClaimReview", 1349 + "datePublished": "YYYY-MM-DD", 1350 + "url": "https://factharbor.org/claims/{claim_id}", 1351 + "claimReviewed": "The exact claim text", 1352 + "author": { 1353 + "@type": "Organization", 1354 + "name": "FactHarbor", 1355 + "url": "https://factharbor.org" 1356 + }, 1357 + "reviewRating": { 1358 + "@type": "Rating", 1359 + "ratingValue": "1-5", 1360 + "bestRating": "5", 1361 + "worstRating": "1", 1362 + "alternateName": "FactHarbor likelihood score" 1363 + }, 1364 + "itemReviewed": { 1365 + "@type": "Claim", 1366 + "author": { 1367 + "@type": "Person", 1368 + "name": "Claim author if known" 1369 + }, 1370 + "datePublished": "YYYY-MM-DD if known", 1371 + "appearance": { 1372 + "@type": "CreativeWork", 1373 + "url": "Original claim URL if from article" 1374 + } 1375 + } 1292 1292 } 1293 1293 {{/code}} 1294 1294 ... ... @@ -1295,6 +1295,7 @@ 1295 1295 **FactHarbor-Specific Mapping:** 1296 1296 1297 1297 **Likelihood Score to Rating Scale:** 1382 + 1298 1298 * 80-100% likelihood → 5 (Highly Supported) 1299 1299 * 60-79% likelihood → 4 (Supported) 1300 1300 * 40-59% likelihood → 3 (Mixed/Uncertain) ... ... @@ -1302,6 +1302,7 @@ 1302 1302 * 0-19% likelihood → 1 (Refuted) 1303 1303 1304 1304 **Multiple Scenarios Handling:** 1390 + 1305 1305 * If claim has multiple scenarios with different verdicts, generate **separate ClaimReview** for each scenario 1306 1306 * Add `disambiguatingDescription` field explaining scenario context 1307 1307 * Example: "Scenario: If interpreted as referring to 2023 data..." ... ... @@ -1334,12 +1334,10 @@ 1334 1334 * ✅ All required fields populated with correct data types 1335 1335 * ✅ Handles multi-scenario claims correctly (separate ClaimReview per scenario) 1336 1336 1337 - 1338 1338 === FR45: User Corrections Notification System === 1339 1339 1340 1340 **Fulfills:** IFCN Principle 5 (Open & Honest Corrections), EFCSN compliance 1341 1341 1342 - 1343 1343 **Purpose:** When any claim analysis is corrected, notify users who previously viewed the claim to maintain transparency and build trust. 1344 1344 1345 1345 **Specification:** ... ... @@ -1355,7 +1355,9 @@ 1355 1355 1356 1356 ==== Notification Mechanisms ==== 1357 1357 1358 -**1. In-Page Banner:** 1442 +* 1443 +** 1444 +**1. In-Page Banner: 1359 1359 1360 1360 Display prominent banner on claim page: 1361 1361 ... ... @@ -1375,10 +1375,10 @@ 1375 1375 1376 1376 * Public changelog at `/claims/{id}/corrections` 1377 1377 * Displays for each correction: 1378 - * Date/time of correction1379 - * What changed (before/after comparison)1380 - * Why changed (reason if provided)1381 - * Who made change (AKEL auto-update vs. contributor override)1464 +* Date/time of correction 1465 +* What changed (before/after comparison) 1466 +* Why changed (reason if provided) 1467 +* Who made change (AKEL auto-update vs. contributor override) 1382 1382 1383 1383 **3. Email Notifications (opt-in):** 1384 1384 ... ... @@ -1422,12 +1422,10 @@ 1422 1422 * ✅ Mobile-responsive banner design 1423 1423 * ✅ Accessible (screen reader compatible) 1424 1424 1425 - 1426 1426 === FR46: Image Verification System === 1427 1427 1428 1428 **Fulfills:** UN-27 (Visual Claim Verification) 1429 1429 1430 - 1431 1431 **Purpose:** Verify authenticity and context of images shared with claims to detect manipulation, misattribution, and out-of-context usage. 1432 1432 1433 1433 **Specification:** ... ... @@ -1439,23 +1439,25 @@ 1439 1439 **Purpose:** Find earlier uses of the image to verify context 1440 1440 1441 1441 **Implementation:** 1526 + 1442 1442 * Integrate APIs: 1443 - * **Google Vision AI** (reverse search)1444 - * **TinEye** (oldest known uses)1445 - * **Bing Visual Search** (broad coverage)1528 +* **Google Vision AI** (reverse search) 1529 +* **TinEye** (oldest known uses) 1530 +* **Bing Visual Search** (broad coverage) 1446 1446 1447 1447 **Process:** 1533 + 1448 1448 1. Extract image from claim or user upload 1449 1449 2. Query multiple reverse search services 1450 1450 3. Analyze results for: 1451 - * Earliest known publication 1452 - * Original context (what was it really showing?) 1453 - * Publication timeline 1454 - * Geographic spread 1455 1455 1538 +* Earliest known publication 1539 +* Original context (what was it really showing?) 1540 +* Publication timeline 1541 +* Geographic spread 1542 + 1456 1456 **Output:** 1457 -{{code}} 1458 -Reverse Image Search Results: 1544 +{{code}}Reverse Image Search Results: 1459 1459 1460 1460 Earliest known use: 2019-03-15 (5 years before claim) 1461 1461 Original context: "Photo from 2019 flooding in Mumbai" ... ... @@ -1468,10 +1468,9 @@ 1468 1468 • 2020-07-22: Bangladesh monsoon 1469 1469 • 2024-10-15: Current claim (misattributed) 1470 1470 1471 -[View full timeline] 1472 -{{/code}} 1557 +[View full timeline]{{/code}} 1473 1473 1474 ---- 1559 +----- 1475 1475 1476 1476 **Method 2: AI Manipulation Detection** 1477 1477 ... ... @@ -1478,48 +1478,52 @@ 1478 1478 **Purpose:** Detect deepfakes, face swaps, and digital alterations 1479 1479 1480 1480 **Implementation:** 1566 + 1481 1481 * Integrate detection services: 1482 - * **Sensity AI** (deepfake detection)1483 - * **Reality Defender** (multimodal analysis)1484 - * **AWS Rekognition** (face detection inconsistencies)1568 +* **Sensity AI** (deepfake detection) 1569 +* **Reality Defender** (multimodal analysis) 1570 +* **AWS Rekognition** (face detection inconsistencies) 1485 1485 1486 1486 **Detection Categories:** 1573 + 1487 1487 1. **Face Manipulation:** 1488 - * Deepfake face swaps 1489 - * Expression manipulation 1490 - * Identity replacement 1491 1491 1576 +* Deepfake face swaps 1577 +* Expression manipulation 1578 +* Identity replacement 1579 + 1492 1492 2. **Image Manipulation:** 1493 - * Copy-paste artifacts 1494 - * Clone stamp detection 1495 - * Content-aware fill detection 1496 - * JPEG compression inconsistencies 1497 1497 1582 +* Copy-paste artifacts 1583 +* Clone stamp detection 1584 +* Content-aware fill detection 1585 +* JPEG compression inconsistencies 1586 + 1498 1498 3. **AI Generation:** 1499 - * Detect fully AI-generated images 1500 - * Identify generation artifacts 1501 - * Check for model signatures 1502 1502 1589 +* Detect fully AI-generated images 1590 +* Identify generation artifacts 1591 +* Check for model signatures 1592 + 1503 1503 **Confidence Scoring:** 1594 + 1504 1504 * **HIGH (80-100%):** Strong evidence of manipulation 1505 1505 * **MEDIUM (50-79%):** Suspicious artifacts detected 1506 1506 * **LOW (0-49%):** Minor inconsistencies or inconclusive 1507 1507 1508 1508 **Output:** 1509 -{{code}} 1510 -Manipulation Analysis: 1600 +{{code}}Manipulation Analysis: 1511 1511 1512 1512 Face Manipulation: LOW RISK (12%) 1513 1513 Image Editing: MEDIUM RISK (64%) 1514 - • Clone stamp artifacts detected in sky region1515 - • JPEG compression inconsistent between objects1604 + • Clone stamp artifacts detected in sky region 1605 + • JPEG compression inconsistent between objects 1516 1516 1517 1517 AI Generation: LOW RISK (8%) 1518 1518 1519 -⚠️ Possible manipulation detected. Manual review recommended. 1520 -{{/code}} 1609 +⚠️ Possible manipulation detected. Manual review recommended.{{/code}} 1521 1521 1522 ---- 1611 +----- 1523 1523 1524 1524 **Method 3: Metadata Analysis (EXIF)** 1525 1525 ... ... @@ -1526,6 +1526,7 @@ 1526 1526 **Purpose:** Extract technical details that may reveal manipulation or misattribution 1527 1527 1528 1528 **Extracted Data:** 1618 + 1529 1529 * **Camera/Device:** Make, model, software 1530 1530 * **Timestamps:** Original date, modification dates 1531 1531 * **Location:** GPS coordinates (if present) ... ... @@ -1533,6 +1533,7 @@ 1533 1533 * **File Properties:** Resolution, compression, format conversions 1534 1534 1535 1535 **Red Flags:** 1626 + 1536 1536 * Metadata completely stripped (suspicious) 1537 1537 * Timestamp conflicts with claimed date 1538 1538 * GPS location conflicts with claimed location ... ... @@ -1540,8 +1540,7 @@ 1540 1540 * Creation date after modification date (impossible) 1541 1541 1542 1542 **Output:** 1543 -{{code}} 1544 -Image Metadata: 1634 +{{code}}Image Metadata: 1545 1545 1546 1546 Camera: iPhone 14 Pro 1547 1547 Original date: 2023-08-12 14:32:15 ... ... @@ -1553,19 +1553,20 @@ 1553 1553 Claim says: "Taken in Los Angeles" 1554 1554 EXIF says: New York City 1555 1555 1556 -⚠️ Edited 14 months after capture 1557 -{{/code}} 1646 +⚠️ Edited 14 months after capture{{/code}} 1558 1558 1559 ---- 1648 +----- 1560 1560 1561 1561 ==== Verification Workflow ==== 1562 1562 1563 1563 **Automatic Triggers:** 1653 + 1564 1564 1. User submits claim with image 1565 1565 2. Article being analyzed contains images 1566 1566 3. Social media post includes photos 1567 1567 1568 1568 **Process:** 1659 + 1569 1569 1. Extract images from content 1570 1570 2. Run all 3 verification methods in parallel 1571 1571 3. Aggregate results into confidence score ... ... @@ -1600,14 +1600,16 @@ 1600 1600 ==== Cost Considerations ==== 1601 1601 1602 1602 **API Costs (estimated per image):** 1694 + 1603 1603 * Google Vision AI: $0.001-0.003 1604 1604 * TinEye: $0.02 (commercial API) 1605 1605 * Sensity AI: $0.05-0.10 1606 1606 * AWS Rekognition: $0.001-0.002 1607 1607 1608 -**Total per image:** ~$0.07-0.151700 +**Total per image:** $0.07-0.15** 1609 1609 1610 1610 **Mitigation Strategies:** 1703 + 1611 1611 * Cache results for duplicate images 1612 1612 * Use free tier quotas where available 1613 1613 * Prioritize higher-value claims for deep analysis ... ... @@ -1622,11 +1622,10 @@ 1622 1622 * ✅ Mobile-friendly image comparison interface 1623 1623 * ✅ False positive rate <15% 1624 1624 1625 - 1626 1626 === FR47: Archive.org Integration === 1627 1627 1628 -**Importance:** CRITICAL 1629 -**Fulfills:** Evidence persistence, FR5 (Evidence linking) 1720 +**Importance:** CRITICAL 1721 +**Fulfills:** Evidence persistence, FR5 (Evidence linking) 1630 1630 1631 1631 **Purpose:** Ensure evidence remains accessible even if original sources are deleted. 1632 1632 ... ... @@ -1635,6 +1635,7 @@ 1635 1635 **Automatic Archiving:** 1636 1636 1637 1637 When AKEL links evidence: 1730 + 1638 1638 1. Check if URL already archived (Wayback Machine API) 1639 1639 2. If not, submit for archiving (Save Page Now API) 1640 1640 3. Store both original URL and archive URL ... ... @@ -1669,17 +1669,20 @@ 1669 1669 * ✅ API rate limits respected 1670 1670 * ✅ Archive status visible in evidence display 1671 1671 1765 +== Category 4: Community Safety == 1672 1672 1673 - ==Category 4: Community Safety =====FR48: Contributor Safety Framework ===1767 + FR48: Contributor Safety Framework === 1674 1674 1675 -**Importance:** CRITICAL 1676 -**Fulfills:** UN-28 (Safe contribution environment) 1769 +**Importance:** CRITICAL 1770 +**Fulfills:** UN-28 (Safe contribution environment) 1677 1677 1678 1678 **Purpose:** Protect contributors from harassment, doxxing, and coordinated attacks. 1679 1679 1680 1680 **Specification:** 1681 1681 1682 -**1. Privacy Protection:** 1776 +* 1777 +** 1778 +**1. Privacy Protection: 1683 1683 1684 1684 * **Optional Pseudonymity:** Contributors can use pseudonyms 1685 1685 * **Email Privacy:** Emails never displayed publicly ... ... @@ -1722,11 +1722,12 @@ 1722 1722 * ✅ Moderator tools implemented 1723 1723 * ✅ Safety policy published 1724 1724 1821 +== Category 5: Continuous Improvement == 1725 1725 1726 - ==Category 5: Continuous Improvement =====FR49: A/B Testing Framework ===1823 + FR49: A/B Testing Framework === 1727 1727 1728 -**Importance:** CRITICAL 1729 -**Fulfills:** Continuous system improvement 1825 +**Importance:** CRITICAL 1826 +**Fulfills:** Continuous system improvement 1730 1730 1731 1731 **Purpose:** Test and measure improvements to AKEL prompts, algorithms, and workflows. 1732 1732 ... ... @@ -1735,20 +1735,23 @@ 1735 1735 **Test Capabilities:** 1736 1736 1737 1737 1. **Prompt Variations:** 1738 - * Test different claim extraction prompts 1739 - * Test different verdict generation prompts 1740 - * Measure: Accuracy, clarity, completeness 1741 1741 1836 +* Test different claim extraction prompts 1837 +* Test different verdict generation prompts 1838 +* Measure: Accuracy, clarity, completeness 1839 + 1742 1742 2. **Algorithm Variations:** 1743 - * Test different source scoring algorithms 1744 - * Test different confidence calculations 1745 - * Measure: Audit accuracy, user satisfaction 1746 1746 1842 +* Test different source scoring algorithms 1843 +* Test different confidence calculations 1844 +* Measure: Audit accuracy, user satisfaction 1845 + 1747 1747 3. **Workflow Variations:** 1748 - * Test different quality gate thresholds 1749 - * Test different risk tier assignments 1750 - * Measure: Publication rate, quality scores 1751 1751 1848 +* Test different quality gate thresholds 1849 +* Test different risk tier assignments 1850 +* Measure: Publication rate, quality scores 1851 + 1752 1752 **Implementation:** 1753 1753 1754 1754 * **Traffic Split:** 50/50 or 90/10 splits ... ... @@ -1777,11 +1777,10 @@ 1777 1777 * ✅ Statistical significance calculated 1778 1778 * ✅ Results inform system improvements 1779 1779 1780 - 1781 1781 === FR54: Evidence Deduplication === 1782 1782 1783 -**Importance:** CRITICAL (POC2/Beta) 1784 -**Fulfills:** Accurate evidence counting, quality metrics 1882 +**Importance:** CRITICAL (POC2/Beta) 1883 +**Fulfills:** Accurate evidence counting, quality metrics 1785 1785 1786 1786 **Purpose:** Avoid counting the same source multiple times when it appears in different forms. 1787 1787 ... ... @@ -1790,21 +1790,24 @@ 1790 1790 **Deduplication Logic:** 1791 1791 1792 1792 1. **URL Normalization:** 1793 - * Remove tracking parameters (?utm_source=...) 1794 - * Normalize http/https 1795 - * Normalize www/non-www 1796 - * Handle redirects 1797 1797 1893 +* Remove tracking parameters (?utm_source=...) 1894 +* Normalize http/https 1895 +* Normalize www/non-www 1896 +* Handle redirects 1897 + 1798 1798 2. **Content Similarity:** 1799 - * If two sources have >90% text similarity → Same source 1800 - * If one is subset of other → Same source 1801 - * Use fuzzy matching for minor differences 1802 1802 1900 +* If two sources have >90% text similarity → Same source 1901 +* If one is subset of other → Same source 1902 +* Use fuzzy matching for minor differences 1903 + 1803 1803 3. **Cross-Domain Syndication:** 1804 - * Detect wire service content (AP, Reuters) 1805 - * Mark as single source if syndicated 1806 - * Count original publication only 1807 1807 1906 +* Detect wire service content (AP, Reuters) 1907 +* Mark as single source if syndicated 1908 +* Count original publication only 1909 + 1808 1808 **Display:** 1809 1809 1810 1810 {{code}} ... ... @@ -1811,7 +1811,7 @@ 1811 1811 Evidence Sources (3 unique, 5 total): 1812 1812 1813 1813 1. Original Article (NYTimes) 1814 - - Also appeared in: WashPost, Guardian (syndicated)1916 + - Also appeared in: WashPost, Guardian (syndicated) 1815 1815 1816 1816 2. Research Paper (Nature) 1817 1817 ... ... @@ -1826,16 +1826,16 @@ 1826 1826 * ✅ Unique vs. total counts accurate 1827 1827 * ✅ Improves evidence quality metrics 1828 1828 1931 +== Additional Requirements (Lower Importance) == 1829 1829 1830 - ==Additional Requirements (Lower Importance) =====FR50: OSINT Toolkit Integration ===1933 + FR50: OSINT Toolkit Integration === 1831 1831 1935 +**Fulfills:** Advanced media verification 1832 1832 1833 - 1834 -**Fulfills:** Advanced media verification 1835 - 1836 1836 **Purpose:** Integrate open-source intelligence tools for advanced verification. 1837 1837 1838 1838 **Tools to Integrate:** 1940 + 1839 1839 * InVID/WeVerify (video verification) 1840 1840 * Bellingcat toolkit 1841 1841 * Additional TBD based on V1.0 learnings ... ... @@ -1842,13 +1842,12 @@ 1842 1842 1843 1843 === FR51: Video Verification System === 1844 1844 1947 +**Fulfills:** UN-27 (Visual claims), advanced media verification 1845 1845 1846 - 1847 -**Fulfills:** UN-27 (Visual claims), advanced media verification 1848 - 1849 1849 **Purpose:** Verify video-based claims. 1850 1850 1851 1851 **Specification:** 1952 + 1852 1852 * Keyframe extraction 1853 1853 * Reverse video search 1854 1854 * Deepfake detection (AI-powered) ... ... @@ -1857,13 +1857,12 @@ 1857 1857 1858 1858 === FR52: Interactive Detection Training === 1859 1859 1961 +**Fulfills:** Media literacy education 1860 1860 1861 - 1862 -**Fulfills:** Media literacy education 1863 - 1864 1864 **Purpose:** Teach users to identify misinformation. 1865 1865 1866 1866 **Specification:** 1966 + 1867 1867 * Interactive tutorials 1868 1868 * Practice exercises 1869 1869 * Detection quizzes ... ... @@ -1871,19 +1871,17 @@ 1871 1871 1872 1872 === FR53: Cross-Organizational Sharing === 1873 1873 1974 +**Fulfills:** Collaboration with other fact-checkers 1874 1874 1875 - 1876 -**Fulfills:** Collaboration with other fact-checkers 1877 - 1878 1878 **Purpose:** Share findings with IFCN/EFCSN members. 1879 1879 1880 1880 **Specification:** 1979 + 1881 1881 * API for fact-checking organizations 1882 1882 * Structured data exchange 1883 1883 * Privacy controls 1884 1884 * Attribution requirements 1885 1885 1886 - 1887 1887 == Summary == 1888 1888 1889 1889 **V1.0 Critical Requirements (Must Have):** ... ... @@ -1906,15 +1906,12 @@ 1906 1906 * FR52: Detection Training 1907 1907 * FR53: Cross-Org Sharing 1908 1908 1909 - 1910 1910 **Total:** 11 critical requirements for V1.0 1911 1911 1912 1912 === FR54: Evidence Deduplication === 1913 1913 2011 +**Fulfills:** Accurate evidence counting, quality metrics 1914 1914 1915 - 1916 -**Fulfills:** Accurate evidence counting, quality metrics 1917 - 1918 1918 **Purpose:** Avoid counting the same source multiple times when it appears in different forms. 1919 1919 1920 1920 **Specification:** ... ... @@ -1922,21 +1922,24 @@ 1922 1922 **Deduplication Logic:** 1923 1923 1924 1924 1. **URL Normalization:** 1925 - * Remove tracking parameters (?utm_source=...) 1926 - * Normalize http/https 1927 - * Normalize www/non-www 1928 - * Handle redirects 1929 1929 2021 +* Remove tracking parameters (?utm_source=...) 2022 +* Normalize http/https 2023 +* Normalize www/non-www 2024 +* Handle redirects 2025 + 1930 1930 2. **Content Similarity:** 1931 - * If two sources have >90% text similarity → Same source 1932 - * If one is subset of other → Same source 1933 - * Use fuzzy matching for minor differences 1934 1934 2028 +* If two sources have >90% text similarity → Same source 2029 +* If one is subset of other → Same source 2030 +* Use fuzzy matching for minor differences 2031 + 1935 1935 3. **Cross-Domain Syndication:** 1936 - * Detect wire service content (AP, Reuters) 1937 - * Mark as single source if syndicated 1938 - * Count original publication only 1939 1939 2034 +* Detect wire service content (AP, Reuters) 2035 +* Mark as single source if syndicated 2036 +* Count original publication only 2037 + 1940 1940 **Display:** 1941 1941 1942 1942 {{code}} ... ... @@ -1943,7 +1943,7 @@ 1943 1943 Evidence Sources (3 unique, 5 total): 1944 1944 1945 1945 1. Original Article (NYTimes) 1946 - - Also appeared in: WashPost, Guardian (syndicated)2044 + - Also appeared in: WashPost, Guardian (syndicated) 1947 1947 1948 1948 2. Research Paper (Nature) 1949 1949 ... ... @@ -1958,8 +1958,9 @@ 1958 1958 * ✅ Unique vs. total counts accurate 1959 1959 * ✅ Improves evidence quality metrics 1960 1960 2059 +== Additional Requirements (Lower Importance) == 1961 1961 1962 - ==Additional Requirements (Lower Importance) =====FR7: Automated Verdicts (Enhanced with Quality Gates) ===2061 + FR7: Automated Verdicts (Enhanced with Quality Gates) === 1963 1963 1964 1964 **POC1+ Enhancement:** 1965 1965 ... ... @@ -1968,19 +1968,20 @@ 1968 1968 {{code}} 1969 1969 Workflow: 1970 1970 1. Extract claims 1971 - ↓2070 + ↓ 1972 1972 2. [GATE 1] Validate fact-checkable 1973 - ↓2072 + ↓ 1974 1974 3. Generate scenarios 1975 - ↓2074 + ↓ 1976 1976 4. Generate verdicts 1977 - ↓2076 + ↓ 1978 1978 5. [GATE 4] Validate confidence 1979 - ↓2078 + ↓ 1980 1980 6. Display to user 1981 1981 {{/code}} 1982 1982 1983 1983 **Updated Verdict States:** 2083 + 1984 1984 * PUBLISHED 1985 1985 * INSUFFICIENT_EVIDENCE 1986 1986 * NON_FACTUAL_CLAIM ... ... @@ -1995,11 +1995,10 @@ 1995 1995 1996 1996 {{code}} 1997 1997 Analysis Summary: 1998 - Verifiable Claims: 3/51999 - High Confidence Verdicts: 12000 - Medium Confidence: 22001 - Evidence Sources: 122002 - Avg Source Quality: 0.732003 - Quality Score: 8.5/102098 + Verifiable Claims: 3/5 2099 + High Confidence Verdicts: 1 2100 + Medium Confidence: 2 2101 + Evidence Sources: 12 2102 + Avg Source Quality: 0.73 2103 + Quality Score: 8.5/10 2004 2004 {{/code}} 2005 -