Changes for page Requirements
Last modified by Robert Schaub on 2026/02/08 21:32
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -1,7 +1,7 @@ 1 1 = Requirements = 2 2 3 3 {{info}} 4 -**Phase Assignments:** See [[Requirements Roadmap Matrix>>FactHarbor.Roadmap.Requirements-Roadmap-Matrix.WebHome]] for which requirements are implemented in which phases. 4 +**Phase Assignments:** See [[Requirements Roadmap Matrix>>Archive.FactHarbor.Roadmap.Requirements-Roadmap-Matrix.WebHome]] for which requirements are implemented in which phases. 5 5 {{/info}} 6 6 7 7 **This page defines Roles, Content States, Rules, and System Requirements for FactHarbor.** ... ... @@ -10,7 +10,7 @@ 10 10 11 11 == Navigation == 12 12 13 -* **[[User Needs>>FactHarbor.Specification.Requirements.User Needs.WebHome]]** - What users need from FactHarbor (drives these requirements) 13 +* **[[User Needs>>Archive.FactHarbor.Specification.Requirements.User Needs.WebHome]]** - What users need from FactHarbor (drives these requirements) 14 14 * **This page** - How we fulfill those needs through system design 15 15 16 16 (% class="box infomessage" %) ... ... @@ -17,7 +17,7 @@ 17 17 ((( 18 18 **How to read this page:** 19 19 20 -1. **User Needs drive Requirements**: See [[User Needs>>FactHarbor.Specification.Requirements.User Needs.WebHome]] for what users need 20 +1. **User Needs drive Requirements**: See [[User Needs>>Archive.FactHarbor.Specification.Requirements.User Needs.WebHome]] for what users need 21 21 2. **Requirements define implementation**: This page shows how we fulfill those needs 22 22 3. **Functional Requirements (FR)**: Specific features and capabilities 23 23 4. **Non-Functional Requirements (NFR)**: Quality attributes (performance, security, etc.) ... ... @@ -36,6 +36,7 @@ 36 36 **Who**: Anyone (no login required) 37 37 38 38 **Can**: 39 + 39 39 * Browse and search claims 40 40 * View scenarios, evidence, verdicts, and confidence scores 41 41 * Flag issues or errors ... ... @@ -43,6 +43,7 @@ 43 43 * Submit claims automatically (new claims added if not duplicates) 44 44 45 45 **Cannot**: 47 + 46 46 * Modify content 47 47 * Access edit history details 48 48 ... ... @@ -53,6 +53,7 @@ 53 53 **Who**: Registered users (earns reputation through contributions) 54 54 55 55 **Can**: 58 + 56 56 * Everything a Reader can do 57 57 * Edit claims, evidence, and scenarios 58 58 * Add sources and citations ... ... @@ -61,6 +61,7 @@ 61 61 * Earn reputation points for quality contributions 62 62 63 63 **Reputation System**: 67 + 64 64 * New contributors: Limited edit privileges 65 65 * Established contributors (established reputation): Full edit access 66 66 * Trusted contributors (substantial reputation): Can approve certain changes ... ... @@ -68,6 +68,7 @@ 68 68 * Reputation lost through: Reverted edits, invalid flags, abuse 69 69 70 70 **Cannot**: 75 + 71 71 * Delete or hide content (only moderators) 72 72 * Override moderation decisions 73 73 ... ... @@ -78,6 +78,7 @@ 78 78 **Who**: Trusted community members with proven track record, appointed by governance board 79 79 80 80 **Can**: 86 + 81 81 * Review flagged content 82 82 * Hide harmful or abusive content 83 83 * Resolve disputes between contributors ... ... @@ -86,6 +86,7 @@ 86 86 * Access full audit logs 87 87 88 88 **Cannot**: 95 + 89 89 * Change governance rules 90 90 * Permanently ban users without board approval 91 91 * Override technical quality gates ... ... @@ -99,6 +99,7 @@ 99 99 **Not a permanent role**: Contacted externally when needed for contested claims in their domain 100 100 101 101 **When used**: 109 + 102 102 * Medical claims with life/safety implications 103 103 * Legal interpretations with significant impact 104 104 * Scientific claims with high controversy ... ... @@ -105,6 +105,7 @@ 105 105 * Technical claims requiring specialized knowledge 106 106 107 107 **Process**: 116 + 108 108 * Moderator identifies need for expert input 109 109 * Contact expert externally (don't require them to be users) 110 110 * Trusted Contributor provides written opinion with sources ... ... @@ -124,11 +124,13 @@ 124 124 **Status**: Visible to all users 125 125 126 126 **Includes**: 136 + 127 127 * AI-generated analyses (default state) 128 128 * User-contributed content 129 129 * Edited/improved content 130 130 131 131 **Quality Indicators** (displayed with content): 142 + 132 132 * **Confidence Score**: 0-100% (AI's confidence in analysis) 133 133 * **Source Quality Score**: 0-100% (based on source track record) 134 134 * **Controversy Flag**: If high dispute/edit activity ... ... @@ -138,6 +138,7 @@ 138 138 * **Review Status**: AI-generated / Human-reviewed / Expert-validated 139 139 140 140 **Automatic Warnings**: 152 + 141 141 * Confidence < 60%: "Low confidence - use caution" 142 142 * Source quality < 40%: "Sources may be unreliable" 143 143 * High controversy: "Disputed - multiple interpretations exist" ... ... @@ -150,6 +150,7 @@ 150 150 **Status**: Not visible to regular users (only to moderators) 151 151 152 152 **Reasons**: 165 + 153 153 * Spam or advertising 154 154 * Personal attacks or harassment 155 155 * Illegal content ... ... @@ -158,6 +158,7 @@ 158 158 * Abuse or harmful content 159 159 160 160 **Process**: 174 + 161 161 * Automated detection flags for moderator review 162 162 * Moderator confirms and hides 163 163 * Original author notified with reason ... ... @@ -180,6 +180,7 @@ 180 180 **AKEL is the primary system**. Human contributions supplement and train AKEL. 181 181 182 182 **AKEL Must**: 197 + 183 183 * Mark all outputs as AI-generated 184 184 * Display confidence scores prominently 185 185 * Provide source citations ... ... @@ -188,6 +188,7 @@ 188 188 * Learn from human corrections 189 189 190 190 **When AKEL Makes Errors**: 206 + 191 191 1. Capture the error pattern (what, why, how common) 192 192 2. Improve the system (better prompt, model, validation) 193 193 3. Re-process affected claims automatically ... ... @@ -218,6 +218,7 @@ 218 218 === 4.1 Source Requirements === 219 219 220 220 **Track Record Over Credentials**: 237 + 221 221 * Sources evaluated by historical accuracy 222 222 * Correction policy matters 223 223 * Independence from conflicts of interest ... ... @@ -224,6 +224,7 @@ 224 224 * Methodology transparency 225 225 226 226 **Source Quality Database**: 244 + 227 227 * Automated tracking of source accuracy 228 228 * Correction frequency 229 229 * Reliability score (updated continuously) ... ... @@ -255,6 +255,7 @@ 255 255 === 4.4 Confidence Scoring === 256 256 257 257 **Automated confidence calculation based on**: 276 + 258 258 * Source quality scores 259 259 * Evidence consistency 260 260 * Contradiction detection ... ... @@ -262,6 +262,7 @@ 262 262 * Historical accuracy of similar claims 263 263 264 264 **Thresholds**: 284 + 265 265 * < 40%: Too low to publish (needs improvement) 266 266 * 40-60%: Published with "Low confidence" warning 267 267 * 60-80%: Published as standard ... ... @@ -278,6 +278,7 @@ 278 278 === 5.1 Risk Score Calculation === 279 279 280 280 **Factors** (weighted algorithm): 301 + 281 281 * **Domain sensitivity**: Medical, legal, safety auto-flagged higher 282 282 * **Potential impact**: Views, citations, spread 283 283 * **Controversy level**: Flags, disputes, edit wars ... ... @@ -304,6 +304,7 @@ 304 304 === 6.1 Error Capture === 305 305 306 306 **When users flag errors or make corrections**: 328 + 307 307 1. What was wrong? (categorize) 308 308 2. What should it have been? 309 309 3. Why did the system fail? (root cause) ... ... @@ -322,6 +322,7 @@ 322 322 === 6.3 Quality Metrics Dashboard === 323 323 324 324 **Track continuously**: 347 + 325 325 * Error rate by category 326 326 * Source quality distribution 327 327 * Confidence score trends ... ... @@ -347,6 +347,7 @@ 347 347 === 7.2 Anomaly Detection === 348 348 349 349 **Automated alerts for**: 373 + 350 350 * Sudden quality drops 351 351 * Unusual patterns 352 352 * Contradiction clusters ... ... @@ -399,6 +399,7 @@ 399 399 **Fulfills**: UN-2 (Context-dependent verification), UN-3 (Article summary with FactHarbor analysis summary), UN-8 (Understanding disagreement) 400 400 401 401 **Automated scenario creation**: 426 + 402 402 * AKEL analyzes claim and generates likely scenarios (use-cases and contexts) 403 403 * Each scenario includes: assumptions, definitions, boundaries, evidence context 404 404 * Users can flag incorrect scenarios ... ... @@ -465,6 +465,7 @@ 465 465 **Purpose**: Provide side-by-side comparison of what a document claims vs. FactHarbor's complete analysis of its credibility 466 466 467 467 **Left Panel: Article Summary**: 493 + 468 468 * Document title, source, and claimed credibility 469 469 * "The Big Picture" - main thesis or position change 470 470 * "Key Findings" - structured summary of document's main claims ... ... @@ -472,6 +472,7 @@ 472 472 * "Conclusion" - document's bottom line 473 473 474 474 **Right Panel: FactHarbor Analysis Summary**: 501 + 475 475 * FactHarbor's independent source credibility assessment 476 476 * Claim-by-claim verdicts with confidence scores 477 477 * Methodology assessment (strengths, limitations) ... ... @@ -479,6 +479,7 @@ 479 479 * Analysis ID for reference 480 480 481 481 **Design Principles**: 509 + 482 482 * No scrolling required - both panels visible simultaneously 483 483 * Visual distinction between "what they say" and "FactHarbor's analysis" 484 484 * Color coding for verdicts (supported, uncertain, refuted) ... ... @@ -486,6 +486,7 @@ 486 486 * Mobile responsive (panels stack vertically on small screens) 487 487 488 488 **Implementation Notes**: 517 + 489 489 * Generated automatically by AKEL for every analyzed document 490 490 * Updates when verdict evolves (maintains version history) 491 491 * Exportable as standalone summary report ... ... @@ -512,7 +512,8 @@ 512 512 (% style="font-size:0.9em; color:#666;" %) 513 513 ↑ WELL SUPPORTED • 87% confidence 514 514 [[Click for evidence details →]] 515 -(%%) 544 + 545 + 516 516 ))) 517 517 518 518 The study, which followed 10,000 participants over five years, showed significant improvements in cardiovascular health markers. ... ... @@ -525,7 +525,8 @@ 525 525 ↑ UNCERTAIN • 45% confidence 526 526 Overstated - evidence shows risk reduction, not prevention 527 527 [[Click for details →]] 528 -(%%) 558 + 559 + 529 529 ))) 530 530 531 531 Dr. Maria Rodriguez, lead researcher, recommends incorporating more olive oil, fish, and vegetables into daily meals. ... ... @@ -538,7 +538,8 @@ 538 538 ↑ REFUTED • 15% confidence 539 539 Claim not supported by study design; correlation ≠ causation 540 540 [[Click for counter-evidence →]] 541 -(%%) 572 + 573 + 542 542 ))) 543 543 544 544 Participants also reported feeling more energetic and experiencing better sleep quality, though these were secondary measures. ... ... @@ -545,6 +545,7 @@ 545 545 ))) 546 546 547 547 **Legend:** 580 + 548 548 * 🟢 = Well-supported claim (confidence ≥75%) 549 549 * 🟡 = Uncertain claim (confidence 40-74%) 550 550 * 🔴 = Refuted/unsupported claim (confidence <40%) ... ... @@ -563,11 +563,13 @@ 563 563 **Confidence:** 87% 564 564 565 565 **Evidence Summary:** 599 + 566 566 * Meta-analysis of 12 RCTs confirms 23-28% risk reduction 567 567 * Consistent findings across multiple populations 568 568 * Published in peer-reviewed journal (high credibility) 569 569 570 570 **Uncertainty Factors:** 605 + 571 571 * Exact percentage varies by study (20-30% range) 572 572 573 573 [[View Full Analysis →]] ... ... @@ -574,6 +574,7 @@ 574 574 ))) 575 575 576 576 **Color-Coding System**: 612 + 577 577 * **Green**: Well-supported claims (confidence ≥75%, strong evidence) 578 578 * **Yellow/Orange**: Uncertain claims (confidence 40-74%, conflicting or limited evidence) 579 579 * **Red**: Refuted or unsupported claims (confidence <40%, contradicted by evidence) ... ... @@ -583,8 +583,12 @@ 583 583 584 584 (% style="width:100%; border-collapse:collapse;" %) 585 585 |=**Article Text**|=**Status**|=**Analysis** 586 -|(((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 587 -|(((//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**|((( 588 588 **87% confidence** 589 589 590 590 Meta-analysis of 12 RCTs confirms 23-28% risk reduction ... ... @@ -591,8 +591,12 @@ 591 591 592 592 [[View Full Analysis]] 593 593 ))) 594 -|(((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 595 -|(((//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**|((( 596 596 **45% confidence** 597 597 598 598 Overstated - evidence shows risk reduction, not prevention ... ... @@ -599,8 +599,12 @@ 599 599 600 600 [[View Details]] 601 601 ))) 602 -|(((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 603 -|(((//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**|((( 604 604 **15% confidence** 605 605 606 606 Claim not supported by study; correlation ≠ causation ... ... @@ -609,6 +609,7 @@ 609 609 ))) 610 610 611 611 **Design Notes:** 660 + 612 612 * Highlighted claims use italics to distinguish from plain text 613 613 * Color backgrounds match XWiki message box colors (success/warning/error) 614 614 * Status column shows verdict prominently ... ... @@ -615,6 +615,7 @@ 615 615 * Analysis column provides quick summary with link to details 616 616 617 617 **User Actions**: 667 + 618 618 * **Hover** over highlighted claim → Tooltip appears 619 619 * **Click** highlighted claim → Detailed analysis modal/panel 620 620 * **Toggle** button to turn highlighting on/off ... ... @@ -621,16 +621,18 @@ 621 621 * **Keyboard**: Tab through highlighted claims 622 622 623 623 **Interaction Design**: 674 + 624 624 * Hover/click on highlighted claim → Show tooltip with: 625 - * Claim text626 - * Verdict (e.g., "WELL SUPPORTED")627 - * Confidence score (e.g., "85%")628 - * Brief evidence summary629 - * 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 630 630 * Toggle highlighting on/off (user preference) 631 631 * Adjustable color intensity for accessibility 632 632 633 633 **Technical Requirements**: 685 + 634 634 * Real-time highlighting as page loads (non-blocking) 635 635 * Claim boundary detection (start/end of assertion) 636 636 * Handle nested or overlapping claims ... ... @@ -638,16 +638,19 @@ 638 638 * Work with various content formats (HTML, plain text, PDFs) 639 639 640 640 **Performance Requirements**: 693 + 641 641 * Highlighting renders within 500ms of page load 642 642 * No perceptible delay in reading experience 643 643 * Efficient DOM manipulation (avoid reflows) 644 644 645 645 **Accessibility**: 699 + 646 646 * Color-blind friendly palette (use patterns/icons in addition to color) 647 647 * Screen reader compatible (ARIA labels for claim credibility) 648 648 * Keyboard navigation to highlighted claims 649 649 650 650 **Implementation Notes**: 705 + 651 651 * Claims extracted and analyzed by AKEL during initial processing 652 652 * Highlighting data stored as annotations with byte offsets 653 653 * Client-side rendering of highlights based on verdict data ... ... @@ -660,6 +660,7 @@ 660 660 **Fulfills**: UN-1 (Fast access to verified content), UN-16 (Clear review status) 661 661 662 662 **Simple flow**: 718 + 663 663 1. Claim submitted 664 664 2. AKEL processes (automated) 665 665 3. If confidence > threshold: Publish (labeled as AI-generated) ... ... @@ -671,6 +671,7 @@ 671 671 ==== FR10 — Moderation ==== 672 672 673 673 **Focus on abuse, not routine quality**: 730 + 674 674 * Automated abuse detection 675 675 * Moderators handle flags 676 676 * Quick response to harmful content ... ... @@ -741,6 +741,7 @@ 741 741 **Purpose:** Ensure extracted claims are factual assertions (not opinions/predictions) 742 742 743 743 **Checks:** 801 + 744 744 1. **Factual Statement Test:** Is this verifiable? (Yes/No) 745 745 2. **Opinion Detection:** Contains hedging language? ("I think", "probably", "best") 746 746 3. **Future Prediction Test:** Makes claims about future events? ... ... @@ -747,6 +747,7 @@ 747 747 4. **Specificity Score:** Contains specific entities, numbers, dates? 748 748 749 749 **Thresholds:** 808 + 750 750 * Factual: Must be "Yes" 751 751 * Opinion markers: <2 hedging phrases 752 752 * Specificity: ≥3 specific elements ... ... @@ -758,11 +758,13 @@ 758 758 **Purpose:** Ensure AI-linked evidence actually relates to claim 759 759 760 760 **Checks:** 820 + 761 761 1. **Semantic Similarity Score:** Evidence vs. claim (embeddings) 762 762 2. **Entity Overlap:** Shared people/places/things? 763 763 3. **Topic Relevance:** Discusses claim subject? 764 764 765 765 **Thresholds:** 826 + 766 766 * Similarity: ≥0.6 (cosine similarity) 767 767 * Entity overlap: ≥1 shared entity 768 768 * Topic relevance: ≥0.5 ... ... @@ -774,11 +774,13 @@ 774 774 **Purpose:** Validate scenario assumptions are logical and complete 775 775 776 776 **Checks:** 838 + 777 777 1. **Completeness:** All required fields populated 778 778 2. **Internal Consistency:** Assumptions don't contradict 779 779 3. **Distinguishability:** Scenarios meaningfully different 780 780 781 781 **Thresholds:** 844 + 782 782 * Required fields: 100% 783 783 * Contradiction score: <0.3 784 784 * Scenario similarity: <0.8 ... ... @@ -790,6 +790,7 @@ 790 790 **Purpose:** Only publish high-confidence verdicts 791 791 792 792 **Checks:** 856 + 793 793 1. **Evidence Count:** Minimum 2 sources 794 794 2. **Source Quality:** Average reliability ≥0.6 795 795 3. **Evidence Agreement:** Supporting vs. contradicting ≥0.6 ... ... @@ -796,6 +796,7 @@ 796 796 4. **Uncertainty Factors:** Hedging in reasoning 797 797 798 798 **Confidence Tiers:** 863 + 799 799 * **HIGH (80-100%):** ≥3 sources, ≥0.7 quality, ≥80% agreement 800 800 * **MEDIUM (50-79%):** ≥2 sources, ≥0.6 quality, ≥60% agreement 801 801 * **LOW (0-49%):** <2 sources OR low quality/agreement ... ... @@ -802,11 +802,13 @@ 802 802 * **INSUFFICIENT:** <2 sources → DO NOT PUBLISH 803 803 804 804 **Implementation Phases:** 870 + 805 805 * **POC1:** Gates 1 & 4 only (basic validation) 806 806 * **POC2:** All 4 gates (complete framework) 807 807 * **V1.0:** Hardened with <5% hallucination rate 808 808 809 809 **Acceptance Criteria:** 876 + 810 810 * ✅ All gates operational 811 811 * ✅ Hallucination rate <5% 812 812 * ✅ Quality metrics public ... ... @@ -822,6 +822,7 @@ 822 822 ==== API Security ==== 823 823 824 824 **Rate Limiting:** 892 + 825 825 * **Analysis endpoints:** 100 requests/hour per IP 826 826 * **Read endpoints:** 1,000 requests/hour per IP 827 827 * **Search:** 500 requests/hour per IP ... ... @@ -829,21 +829,24 @@ 829 829 * **Burst protection:** Max 10 requests/second 830 830 831 831 **Authentication & Authorization:** 900 + 832 832 * **API Keys:** Required for programmatic access 833 833 * **JWT tokens:** For user sessions (1-hour expiry) 834 834 * **OAuth2:** For third-party integrations 835 835 * **Role-Based Access Control (RBAC):** 836 - * Public: Read-only access to published claims837 - * Contributor: Submit claims, provide evidence838 - * Moderator: Review contributions, manage quality839 - * 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 840 840 841 841 **CORS Policies:** 911 + 842 842 * Whitelist approved domains only 843 843 * No wildcard origins in production 844 844 * Credentials required for sensitive endpoints 845 845 846 846 **Input Sanitization:** 917 + 847 847 * Validate all user input against schemas 848 848 * Sanitize HTML/JavaScript in text submissions 849 849 * Prevent SQL injection (use parameterized queries) ... ... @@ -851,11 +851,12 @@ 851 851 * Max request size: 10MB 852 852 * File upload restrictions: Whitelist file types, scan for malware 853 853 854 ---- 925 +---- 855 855 856 856 ==== Data Security ==== 857 857 858 858 **Encryption at Rest:** 930 + 859 859 * Database encryption using AES-256 860 860 * Encrypted backups 861 861 * Key management via cloud provider KMS (AWS KMS, Google Cloud KMS) ... ... @@ -862,6 +862,7 @@ 862 862 * Regular key rotation (90-day cycle) 863 863 864 864 **Encryption in Transit:** 937 + 865 865 * HTTPS/TLS 1.3 only (no TLS 1.0/1.1) 866 866 * Strong cipher suites only 867 867 * HSTS (HTTP Strict Transport Security) enabled ... ... @@ -868,6 +868,7 @@ 868 868 * Certificate pinning for mobile apps 869 869 870 870 **Secure Credential Storage:** 944 + 871 871 * Passwords hashed with bcrypt (cost factor 12+) 872 872 * API keys encrypted in database 873 873 * Secrets stored in environment variables (never in code) ... ... @@ -874,12 +874,13 @@ 874 874 * Use secrets manager (AWS Secrets Manager, HashiCorp Vault) 875 875 876 876 **Data Privacy:** 951 + 877 877 * Minimal data collection (privacy by design) 878 878 * User data deletion on request (GDPR compliance) 879 879 * PII encryption in database 880 880 * Anonymize logs (no PII in log files) 881 881 882 ---- 957 +---- 883 883 884 884 ==== Application Security ==== 885 885 ... ... @@ -897,6 +897,7 @@ 897 897 10. **Server-Side Request Forgery:** URL validation, whitelist domains 898 898 899 899 **Security Headers:** 975 + 900 900 * `Content-Security-Policy`: Strict CSP to prevent XSS 901 901 * `X-Frame-Options`: DENY (prevent clickjacking) 902 902 * `X-Content-Type-Options`: nosniff ... ... @@ -904,6 +904,7 @@ 904 904 * `Permissions-Policy`: Restrict browser features 905 905 906 906 **Dependency Vulnerability Scanning:** 983 + 907 907 * **Tools:** Snyk, Dependabot, npm audit, pip-audit 908 908 * **Frequency:** Daily automated scans 909 909 * **Action:** Patch critical vulnerabilities within 24 hours ... ... @@ -910,30 +910,34 @@ 910 910 * **Policy:** No known high/critical CVEs in production 911 911 912 912 **Security Audits:** 990 + 913 913 * **Internal:** Quarterly security reviews 914 914 * **External:** Annual penetration testing by certified firm 915 915 * **Bug Bounty:** Public bug bounty program (V1.1+) 916 916 * **Compliance:** SOC 2 Type II certification target (V1.5) 917 917 918 ---- 996 +---- 919 919 920 920 ==== Operational Security ==== 921 921 922 922 **DDoS Protection:** 1001 + 923 923 * CloudFlare or AWS Shield 924 924 * Rate limiting at CDN layer 925 925 * Automatic IP blocking for abuse patterns 926 926 927 927 **Monitoring & Alerting:** 1007 + 928 928 * Real-time security event monitoring 929 929 * Alerts for: 930 - * Failed login attempts (>5 in 10 minutes)931 - * API abuse patterns932 - * Unusual data access patterns933 - * Security scan detections1010 +* Failed login attempts (>5 in 10 minutes) 1011 +* API abuse patterns 1012 +* Unusual data access patterns 1013 +* Security scan detections 934 934 * Integration with SIEM (Security Information and Event Management) 935 935 936 936 **Incident Response:** 1017 + 937 937 * Documented incident response plan 938 938 * Security incident classification (P1-P4) 939 939 * On-call rotation for security issues ... ... @@ -941,16 +941,18 @@ 941 941 * Public disclosure policy (coordinated disclosure) 942 942 943 943 **Backup & Recovery:** 1025 + 944 944 * Daily encrypted backups 945 945 * 30-day retention period 946 946 * Tested recovery procedures (quarterly) 947 947 * Disaster recovery plan (RTO: 4 hours, RPO: 1 hour) 948 948 949 ---- 1031 +---- 950 950 951 951 ==== Compliance & Standards ==== 952 952 953 953 **GDPR Compliance:** 1036 + 954 954 * User consent management 955 955 * Right to access data 956 956 * Right to deletion ... ... @@ -958,6 +958,7 @@ 958 958 * Privacy policy published 959 959 960 960 **Accessibility:** 1044 + 961 961 * WCAG 2.1 AA compliance 962 962 * Screen reader compatibility 963 963 * Keyboard navigation ... ... @@ -964,6 +964,7 @@ 964 964 * Alt text for images 965 965 966 966 **Browser Support:** 1051 + 967 967 * Modern browsers only (Chrome/Edge/Firefox/Safari latest 2 versions) 968 968 * No IE11 support 969 969 ... ... @@ -990,16 +990,18 @@ 990 990 991 991 **Core Metrics to Display:** 992 992 993 -**1. Verdict Quality Metrics** 1078 +* \\ 1079 +** \\ 1080 +**1. Verdict Quality Metrics 994 994 995 995 **TIGERScore (Fact-Checking Quality):** 1083 + 996 996 * **Definition:** Measures how well generated verdicts match expert fact-checker judgments 997 997 * **Scale:** 0-100 (higher is better) 998 998 * **Calculation:** Using TIGERScore framework (Truth-conditional accuracy, Informativeness, Generality, Evaluativeness, Relevance) 999 999 * **Target:** Average ≥80 for production release 1000 1000 * **Display:** 1001 -{{code}} 1002 -Verdict Quality (TIGERScore): 1089 +{{code}}Verdict Quality (TIGERScore): 1003 1003 Overall: 84.2 ▲ (+2.1 from last month) 1004 1004 1005 1005 Distribution: ... ... @@ -1007,19 +1007,18 @@ 1007 1007 Good (60-80): 28% 1008 1008 Needs Improvement (<60): 5% 1009 1009 1010 -Trend: [Graph showing improvement over time] 1011 -{{/code}} 1097 +Trend: [Graph showing improvement over time]{{/code}} 1012 1012 1013 1013 **2. Hallucination & Faithfulness Metrics** 1014 1014 1015 1015 **AlignScore (Faithfulness to Evidence):** 1102 + 1016 1016 * **Definition:** Measures how well verdicts align with actual evidence content 1017 1017 * **Scale:** 0-1 (higher is better) 1018 1018 * **Purpose:** Detect AI hallucinations (making claims not supported by evidence) 1019 1019 * **Target:** Average ≥0.85, hallucination rate <5% 1020 1020 * **Display:** 1021 -{{code}} 1022 -Evidence Faithfulness (AlignScore): 1108 +{{code}}Evidence Faithfulness (AlignScore): 1023 1023 Average: 0.87 ▼ (-0.02 from last month) 1024 1024 1025 1025 Hallucination Rate: 4.2% ... ... @@ -1026,24 +1026,24 @@ 1026 1026 - Claims without evidence support: 3.1% 1027 1027 - Misrepresented evidence: 1.1% 1028 1028 1029 -Action: Prompt engineering review scheduled 1030 -{{/code}} 1115 +Action: Prompt engineering review scheduled{{/code}} 1031 1031 1032 1032 **3. Evidence Quality Metrics** 1033 1033 1034 1034 **Source Reliability:** 1120 + 1035 1035 * Average source quality score (0-1 scale) 1036 1036 * Distribution of high/medium/low quality sources 1037 1037 * Publisher track record trends 1038 1038 1039 1039 **Evidence Coverage:** 1126 + 1040 1040 * Average number of sources per claim 1041 1041 * Percentage of claims with ≥2 sources (EFCSN minimum) 1042 1042 * Geographic diversity of sources 1043 1043 1044 1044 **Display:** 1045 -{{code}} 1046 -Evidence Quality: 1132 +{{code}}Evidence Quality: 1047 1047 1048 1048 Average Sources per Claim: 4.2 1049 1049 Claims with ≥2 sources: 94% (EFCSN compliant) ... ... @@ -1053,24 +1053,23 @@ 1053 1053 Medium quality (0.5-0.8): 43% 1054 1054 Low quality (<0.5): 9% 1055 1055 1056 -Geographic Diversity: 23 countries represented 1057 -{{/code}} 1142 +Geographic Diversity: 23 countries represented{{/code}} 1058 1058 1059 1059 **4. Contributor Consensus Metrics** (when human reviewers involved) 1060 1060 1061 1061 **Inter-Rater Reliability (IRR):** 1147 + 1062 1062 * **Calculation:** Cohen's Kappa or Fleiss' Kappa for multiple raters 1063 1063 * **Scale:** 0-1 (higher is better) 1064 1064 * **Interpretation:** 1065 - * >0.8: Almost perfect agreement1066 - * 0.6-0.8: Substantial agreement1067 - * 0.4-0.6: Moderate agreement1068 - * <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 1069 1069 * **Target:** Maintain ≥0.7 (substantial agreement) 1070 1070 1071 1071 **Display:** 1072 -{{code}} 1073 -Contributor Consensus: 1158 +{{code}}Contributor Consensus: 1074 1074 1075 1075 Inter-Rater Reliability (IRR): 0.73 (Substantial agreement) 1076 1076 - Verdict agreement: 78% ... ... @@ -1078,10 +1078,9 @@ 1078 1078 - Scenario structure agreement: 69% 1079 1079 1080 1080 Cases requiring moderator review: 12 1081 -Moderator override rate: 8% 1082 -{{/code}} 1166 +Moderator override rate: 8%{{/code}} 1083 1083 1084 ---- 1168 +---- 1085 1085 1086 1086 ==== Quality Dashboard Implementation ==== 1087 1087 ... ... @@ -1088,6 +1088,7 @@ 1088 1088 **Dashboard Location:** `/quality-metrics` 1089 1089 1090 1090 **Update Frequency:** 1175 + 1091 1091 * **POC2:** Weekly manual updates 1092 1092 * **Beta 0:** Daily automated updates 1093 1093 * **V1.0:** Real-time metrics (updated hourly) ... ... @@ -1137,7 +1137,7 @@ 1137 1137 1138 1138 {{/code}} 1139 1139 1140 ---- 1225 +---- 1141 1141 1142 1142 ==== Continuous Improvement Feedback Loop ==== 1143 1143 ... ... @@ -1144,31 +1144,36 @@ 1144 1144 **How Metrics Inform AKEL Improvements:** 1145 1145 1146 1146 1. **Identify Weak Areas:** 1147 - * Low TIGERScore → Review prompt engineering 1148 - * High hallucination → Strengthen evidence grounding 1149 - * Low IRR → Clarify evaluation criteria 1150 1150 1233 +* Low TIGERScore → Review prompt engineering 1234 +* High hallucination → Strengthen evidence grounding 1235 +* Low IRR → Clarify evaluation criteria 1236 + 1151 1151 2. **A/B Testing Integration:** 1152 - * Test prompt variations 1153 - * Measure impact on quality metrics 1154 - * Deploy winners automatically 1155 1155 1239 +* Test prompt variations 1240 +* Measure impact on quality metrics 1241 +* Deploy winners automatically 1242 + 1156 1156 3. **Alert Thresholds:** 1157 - * TIGERScore drops below 75 → Alert team 1158 - * Hallucination rate exceeds 7% → Pause auto-publishing 1159 - * IRR below 0.6 → Moderator training needed 1160 1160 1245 +* TIGERScore drops below 75 → Alert team 1246 +* Hallucination rate exceeds 7% → Pause auto-publishing 1247 +* IRR below 0.6 → Moderator training needed 1248 + 1161 1161 4. **Monthly Quality Reviews:** 1162 - * Analyze trends 1163 - * Identify systematic issues 1164 - * Plan prompt improvements 1165 - * Update AKEL models 1166 1166 1167 ---- 1251 +* Analyze trends 1252 +* Identify systematic issues 1253 +* Plan prompt improvements 1254 +* Update AKEL models 1168 1168 1256 +---- 1257 + 1169 1169 ==== Metric Calculation Details ==== 1170 1170 1171 1171 **TIGERScore Implementation:** 1261 + 1172 1172 * Reference: https://github.com/TIGER-AI-Lab/TIGERScore 1173 1173 * Input: Generated verdict + reference verdict (from expert) 1174 1174 * Output: 0-100 score across 5 dimensions ... ... @@ -1175,6 +1175,7 @@ 1175 1175 * Requires: Test set of expert-reviewed claims (minimum 100) 1176 1176 1177 1177 **AlignScore Implementation:** 1268 + 1178 1178 * Reference: https://github.com/yuh-zha/AlignScore 1179 1179 * Input: Generated verdict + source evidence text 1180 1180 * Output: 0-1 faithfulness score ... ... @@ -1181,11 +1181,12 @@ 1181 1181 * Calculation: Semantic alignment between claim and evidence 1182 1182 1183 1183 **Source Quality Scoring:** 1275 + 1184 1184 * Use existing source reliability database (e.g., NewsGuard, MBFC) 1185 1185 * Factor in: Publication history, corrections record, transparency 1186 1186 * Scale: 0-1 (weighted average across sources) 1187 1187 1188 ---- 1280 +---- 1189 1189 1190 1190 ==== Integration Points ==== 1191 1191 ... ... @@ -1208,26 +1208,28 @@ 1208 1208 1209 1209 For full traceability matrix showing which requirements fulfill which user needs, see: 1210 1210 1211 -* [[User Needs>>FactHarbor.Specification.Requirements.User Needs.WebHome]] - Section 8 includes comprehensive mapping tables 1303 +* [[User Needs>>Archive.FactHarbor.Specification.Requirements.User Needs.WebHome]] - Section 8 includes comprehensive mapping tables 1212 1212 1213 1213 == 14. Related Pages == 1214 1214 1215 1215 **Non-Functional Requirements (see Section 9):** 1308 + 1216 1216 * [[NFR11 — AKEL Quality Assurance Framework>>#NFR11]] 1217 1217 * [[NFR12 — Security Controls>>#NFR12]] 1218 1218 * [[NFR13 — Quality Metrics Transparency>>#NFR13]] 1219 1219 1220 1220 **Other Requirements:** 1221 -* [[User Needs>>FactHarbor.Specification.Requirements.User Needs.WebHome]] 1314 + 1315 +* [[User Needs>>Archive.FactHarbor.Specification.Requirements.User Needs.WebHome]] 1222 1222 * [[V1.0 Requirements>>FactHarbor.Specification.Requirements.V10.]] 1223 1223 * [[Gap Analysis>>FactHarbor.Specification.Requirements.GapAnalysis]] 1224 1224 1225 -* **[[User Needs>>FactHarbor.Specification.Requirements.User Needs.WebHome]]** - What users need (drives these requirements) 1226 -* [[Architecture>>FactHarbor.Specification.Architecture.WebHome]] - How requirements are implemented 1227 -* [[Data Model>>FactHarbor.Specification.Data Model.WebHome]] - Data structures supporting requirements 1319 +* **[[User Needs>>Archive.FactHarbor.Specification.Requirements.User Needs.WebHome]]** - What users need (drives these requirements) 1320 +* [[Architecture>>Archive.FactHarbor.Specification.Architecture.WebHome]] - How requirements are implemented 1321 +* [[Data Model>>Archive.FactHarbor.Specification.Data Model.WebHome]] - Data structures supporting requirements 1228 1228 * [[Workflows>>FactHarbor.Specification.Workflows.WebHome]] - User interaction workflows 1229 -* [[AKEL>>FactHarbor.Specification.AI Knowledge Extraction Layer (AKEL).WebHome]] - AI system fulfilling automation requirements 1230 -* [[Global Rules>>FactHarbor.Organisation.How-We-Work-Together.GlobalRules.WebHome]] 1323 +* [[AKEL>>Archive.FactHarbor.Specification.AI Knowledge Extraction Layer (AKEL).WebHome]] - AI system fulfilling automation requirements 1324 +* [[Global Rules>>Archive.FactHarbor.Organisation.How-We-Work-Together.GlobalRules.WebHome]] 1231 1231 * [[Privacy Policy>>FactHarbor.Organisation.How-We-Work-Together.Privacy-Policy]] 1232 1232 1233 1233 = V0.9.70 Additional Requirements = ... ... @@ -1285,6 +1285,7 @@ 1285 1285 **FactHarbor-Specific Mapping:** 1286 1286 1287 1287 **Likelihood Score to Rating Scale:** 1382 + 1288 1288 * 80-100% likelihood → 5 (Highly Supported) 1289 1289 * 60-79% likelihood → 4 (Supported) 1290 1290 * 40-59% likelihood → 3 (Mixed/Uncertain) ... ... @@ -1292,6 +1292,7 @@ 1292 1292 * 0-19% likelihood → 1 (Refuted) 1293 1293 1294 1294 **Multiple Scenarios Handling:** 1390 + 1295 1295 * If claim has multiple scenarios with different verdicts, generate **separate ClaimReview** for each scenario 1296 1296 * Add `disambiguatingDescription` field explaining scenario context 1297 1297 * Example: "Scenario: If interpreted as referring to 2023 data..." ... ... @@ -1343,7 +1343,9 @@ 1343 1343 1344 1344 ==== Notification Mechanisms ==== 1345 1345 1346 -**1. In-Page Banner:** 1442 +* \\ 1443 +** \\ 1444 +**1. In-Page Banner: 1347 1347 1348 1348 Display prominent banner on claim page: 1349 1349 ... ... @@ -1363,10 +1363,10 @@ 1363 1363 1364 1364 * Public changelog at `/claims/{id}/corrections` 1365 1365 * Displays for each correction: 1366 - * Date/time of correction1367 - * What changed (before/after comparison)1368 - * Why changed (reason if provided)1369 - * 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) 1370 1370 1371 1371 **3. Email Notifications (opt-in):** 1372 1372 ... ... @@ -1425,23 +1425,25 @@ 1425 1425 **Purpose:** Find earlier uses of the image to verify context 1426 1426 1427 1427 **Implementation:** 1526 + 1428 1428 * Integrate APIs: 1429 - * **Google Vision AI** (reverse search)1430 - * **TinEye** (oldest known uses)1431 - * **Bing Visual Search** (broad coverage)1528 +* **Google Vision AI** (reverse search) 1529 +* **TinEye** (oldest known uses) 1530 +* **Bing Visual Search** (broad coverage) 1432 1432 1433 1433 **Process:** 1533 + 1434 1434 1. Extract image from claim or user upload 1435 1435 2. Query multiple reverse search services 1436 1436 3. Analyze results for: 1437 - * Earliest known publication 1438 - * Original context (what was it really showing?) 1439 - * Publication timeline 1440 - * Geographic spread 1441 1441 1538 +* Earliest known publication 1539 +* Original context (what was it really showing?) 1540 +* Publication timeline 1541 +* Geographic spread 1542 + 1442 1442 **Output:** 1443 -{{code}} 1444 -Reverse Image Search Results: 1544 +{{code}}Reverse Image Search Results: 1445 1445 1446 1446 Earliest known use: 2019-03-15 (5 years before claim) 1447 1447 Original context: "Photo from 2019 flooding in Mumbai" ... ... @@ -1454,10 +1454,9 @@ 1454 1454 • 2020-07-22: Bangladesh monsoon 1455 1455 • 2024-10-15: Current claim (misattributed) 1456 1456 1457 -[View full timeline] 1458 -{{/code}} 1557 +[View full timeline]{{/code}} 1459 1459 1460 ---- 1559 +---- 1461 1461 1462 1462 **Method 2: AI Manipulation Detection** 1463 1463 ... ... @@ -1464,36 +1464,41 @@ 1464 1464 **Purpose:** Detect deepfakes, face swaps, and digital alterations 1465 1465 1466 1466 **Implementation:** 1566 + 1467 1467 * Integrate detection services: 1468 - * **Sensity AI** (deepfake detection)1469 - * **Reality Defender** (multimodal analysis)1470 - * **AWS Rekognition** (face detection inconsistencies)1568 +* **Sensity AI** (deepfake detection) 1569 +* **Reality Defender** (multimodal analysis) 1570 +* **AWS Rekognition** (face detection inconsistencies) 1471 1471 1472 1472 **Detection Categories:** 1573 + 1473 1473 1. **Face Manipulation:** 1474 - * Deepfake face swaps 1475 - * Expression manipulation 1476 - * Identity replacement 1477 1477 1576 +* Deepfake face swaps 1577 +* Expression manipulation 1578 +* Identity replacement 1579 + 1478 1478 2. **Image Manipulation:** 1479 - * Copy-paste artifacts 1480 - * Clone stamp detection 1481 - * Content-aware fill detection 1482 - * JPEG compression inconsistencies 1483 1483 1582 +* Copy-paste artifacts 1583 +* Clone stamp detection 1584 +* Content-aware fill detection 1585 +* JPEG compression inconsistencies 1586 + 1484 1484 3. **AI Generation:** 1485 - * Detect fully AI-generated images 1486 - * Identify generation artifacts 1487 - * Check for model signatures 1488 1488 1589 +* Detect fully AI-generated images 1590 +* Identify generation artifacts 1591 +* Check for model signatures 1592 + 1489 1489 **Confidence Scoring:** 1594 + 1490 1490 * **HIGH (80-100%):** Strong evidence of manipulation 1491 1491 * **MEDIUM (50-79%):** Suspicious artifacts detected 1492 1492 * **LOW (0-49%):** Minor inconsistencies or inconclusive 1493 1493 1494 1494 **Output:** 1495 -{{code}} 1496 -Manipulation Analysis: 1600 +{{code}}Manipulation Analysis: 1497 1497 1498 1498 Face Manipulation: LOW RISK (12%) 1499 1499 Image Editing: MEDIUM RISK (64%) ... ... @@ -1502,10 +1502,9 @@ 1502 1502 1503 1503 AI Generation: LOW RISK (8%) 1504 1504 1505 -⚠️ Possible manipulation detected. Manual review recommended. 1506 -{{/code}} 1609 +⚠️ Possible manipulation detected. Manual review recommended.{{/code}} 1507 1507 1508 ---- 1611 +---- 1509 1509 1510 1510 **Method 3: Metadata Analysis (EXIF)** 1511 1511 ... ... @@ -1512,6 +1512,7 @@ 1512 1512 **Purpose:** Extract technical details that may reveal manipulation or misattribution 1513 1513 1514 1514 **Extracted Data:** 1618 + 1515 1515 * **Camera/Device:** Make, model, software 1516 1516 * **Timestamps:** Original date, modification dates 1517 1517 * **Location:** GPS coordinates (if present) ... ... @@ -1519,6 +1519,7 @@ 1519 1519 * **File Properties:** Resolution, compression, format conversions 1520 1520 1521 1521 **Red Flags:** 1626 + 1522 1522 * Metadata completely stripped (suspicious) 1523 1523 * Timestamp conflicts with claimed date 1524 1524 * GPS location conflicts with claimed location ... ... @@ -1526,8 +1526,7 @@ 1526 1526 * Creation date after modification date (impossible) 1527 1527 1528 1528 **Output:** 1529 -{{code}} 1530 -Image Metadata: 1634 +{{code}}Image Metadata: 1531 1531 1532 1532 Camera: iPhone 14 Pro 1533 1533 Original date: 2023-08-12 14:32:15 ... ... @@ -1539,19 +1539,20 @@ 1539 1539 Claim says: "Taken in Los Angeles" 1540 1540 EXIF says: New York City 1541 1541 1542 -⚠️ Edited 14 months after capture 1543 -{{/code}} 1646 +⚠️ Edited 14 months after capture{{/code}} 1544 1544 1545 ---- 1648 +---- 1546 1546 1547 1547 ==== Verification Workflow ==== 1548 1548 1549 1549 **Automatic Triggers:** 1653 + 1550 1550 1. User submits claim with image 1551 1551 2. Article being analyzed contains images 1552 1552 3. Social media post includes photos 1553 1553 1554 1554 **Process:** 1659 + 1555 1555 1. Extract images from content 1556 1556 2. Run all 3 verification methods in parallel 1557 1557 3. Aggregate results into confidence score ... ... @@ -1586,14 +1586,16 @@ 1586 1586 ==== Cost Considerations ==== 1587 1587 1588 1588 **API Costs (estimated per image):** 1694 + 1589 1589 * Google Vision AI: $0.001-0.003 1590 1590 * TinEye: $0.02 (commercial API) 1591 1591 * Sensity AI: $0.05-0.10 1592 1592 * AWS Rekognition: $0.001-0.002 1593 1593 1594 -**Total per image:** ~$0.07-0.151700 +**Total per image:** $0.07-0.15** 1595 1595 1596 1596 **Mitigation Strategies:** 1703 + 1597 1597 * Cache results for duplicate images 1598 1598 * Use free tier quotas where available 1599 1599 * Prioritize higher-value claims for deep analysis ... ... @@ -1620,6 +1620,7 @@ 1620 1620 **Automatic Archiving:** 1621 1621 1622 1622 When AKEL links evidence: 1730 + 1623 1623 1. Check if URL already archived (Wayback Machine API) 1624 1624 2. If not, submit for archiving (Save Page Now API) 1625 1625 3. Store both original URL and archive URL ... ... @@ -1654,8 +1654,10 @@ 1654 1654 * ✅ API rate limits respected 1655 1655 * ✅ Archive status visible in evidence display 1656 1656 1657 -== Category 4: Community Safety == === FR48: Contributor Safety Framework ===1765 +== Category 4: Community Safety == 1658 1658 1767 + FR48: Contributor Safety Framework === 1768 + 1659 1659 **Importance:** CRITICAL 1660 1660 **Fulfills:** UN-28 (Safe contribution environment) 1661 1661 ... ... @@ -1663,7 +1663,9 @@ 1663 1663 1664 1664 **Specification:** 1665 1665 1666 -**1. Privacy Protection:** 1776 +* \\ 1777 +** \\ 1778 +**1. Privacy Protection: 1667 1667 1668 1668 * **Optional Pseudonymity:** Contributors can use pseudonyms 1669 1669 * **Email Privacy:** Emails never displayed publicly ... ... @@ -1706,8 +1706,10 @@ 1706 1706 * ✅ Moderator tools implemented 1707 1707 * ✅ Safety policy published 1708 1708 1709 -== Category 5: Continuous Improvement == === FR49: A/B Testing Framework ===1821 +== Category 5: Continuous Improvement == 1710 1710 1823 + FR49: A/B Testing Framework === 1824 + 1711 1711 **Importance:** CRITICAL 1712 1712 **Fulfills:** Continuous system improvement 1713 1713 ... ... @@ -1718,20 +1718,23 @@ 1718 1718 **Test Capabilities:** 1719 1719 1720 1720 1. **Prompt Variations:** 1721 - * Test different claim extraction prompts 1722 - * Test different verdict generation prompts 1723 - * Measure: Accuracy, clarity, completeness 1724 1724 1836 +* Test different claim extraction prompts 1837 +* Test different verdict generation prompts 1838 +* Measure: Accuracy, clarity, completeness 1839 + 1725 1725 2. **Algorithm Variations:** 1726 - * Test different source scoring algorithms 1727 - * Test different confidence calculations 1728 - * Measure: Audit accuracy, user satisfaction 1729 1729 1842 +* Test different source scoring algorithms 1843 +* Test different confidence calculations 1844 +* Measure: Audit accuracy, user satisfaction 1845 + 1730 1730 3. **Workflow Variations:** 1731 - * Test different quality gate thresholds 1732 - * Test different risk tier assignments 1733 - * Measure: Publication rate, quality scores 1734 1734 1848 +* Test different quality gate thresholds 1849 +* Test different risk tier assignments 1850 +* Measure: Publication rate, quality scores 1851 + 1735 1735 **Implementation:** 1736 1736 1737 1737 * **Traffic Split:** 50/50 or 90/10 splits ... ... @@ -1772,21 +1772,24 @@ 1772 1772 **Deduplication Logic:** 1773 1773 1774 1774 1. **URL Normalization:** 1775 - * Remove tracking parameters (?utm_source=...) 1776 - * Normalize http/https 1777 - * Normalize www/non-www 1778 - * Handle redirects 1779 1779 1893 +* Remove tracking parameters (?utm_source=...) 1894 +* Normalize http/https 1895 +* Normalize www/non-www 1896 +* Handle redirects 1897 + 1780 1780 2. **Content Similarity:** 1781 - * If two sources have >90% text similarity → Same source 1782 - * If one is subset of other → Same source 1783 - * Use fuzzy matching for minor differences 1784 1784 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 + 1785 1785 3. **Cross-Domain Syndication:** 1786 - * Detect wire service content (AP, Reuters) 1787 - * Mark as single source if syndicated 1788 - * Count original publication only 1789 1789 1906 +* Detect wire service content (AP, Reuters) 1907 +* Mark as single source if syndicated 1908 +* Count original publication only 1909 + 1790 1790 **Display:** 1791 1791 1792 1792 {{code}} ... ... @@ -1808,13 +1808,16 @@ 1808 1808 * ✅ Unique vs. total counts accurate 1809 1809 * ✅ Improves evidence quality metrics 1810 1810 1811 -== Additional Requirements (Lower Importance) == === FR50: OSINT Toolkit Integration ===1931 +== Additional Requirements (Lower Importance) == 1812 1812 1933 + FR50: OSINT Toolkit Integration === 1934 + 1813 1813 **Fulfills:** Advanced media verification 1814 1814 1815 1815 **Purpose:** Integrate open-source intelligence tools for advanced verification. 1816 1816 1817 1817 **Tools to Integrate:** 1940 + 1818 1818 * InVID/WeVerify (video verification) 1819 1819 * Bellingcat toolkit 1820 1820 * Additional TBD based on V1.0 learnings ... ... @@ -1826,6 +1826,7 @@ 1826 1826 **Purpose:** Verify video-based claims. 1827 1827 1828 1828 **Specification:** 1952 + 1829 1829 * Keyframe extraction 1830 1830 * Reverse video search 1831 1831 * Deepfake detection (AI-powered) ... ... @@ -1839,6 +1839,7 @@ 1839 1839 **Purpose:** Teach users to identify misinformation. 1840 1840 1841 1841 **Specification:** 1966 + 1842 1842 * Interactive tutorials 1843 1843 * Practice exercises 1844 1844 * Detection quizzes ... ... @@ -1851,6 +1851,7 @@ 1851 1851 **Purpose:** Share findings with IFCN/EFCSN members. 1852 1852 1853 1853 **Specification:** 1979 + 1854 1854 * API for fact-checking organizations 1855 1855 * Structured data exchange 1856 1856 * Privacy controls ... ... @@ -1891,21 +1891,24 @@ 1891 1891 **Deduplication Logic:** 1892 1892 1893 1893 1. **URL Normalization:** 1894 - * Remove tracking parameters (?utm_source=...) 1895 - * Normalize http/https 1896 - * Normalize www/non-www 1897 - * Handle redirects 1898 1898 2021 +* Remove tracking parameters (?utm_source=...) 2022 +* Normalize http/https 2023 +* Normalize www/non-www 2024 +* Handle redirects 2025 + 1899 1899 2. **Content Similarity:** 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 1903 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 + 1904 1904 3. **Cross-Domain Syndication:** 1905 - * Detect wire service content (AP, Reuters) 1906 - * Mark as single source if syndicated 1907 - * Count original publication only 1908 1908 2034 +* Detect wire service content (AP, Reuters) 2035 +* Mark as single source if syndicated 2036 +* Count original publication only 2037 + 1909 1909 **Display:** 1910 1910 1911 1911 {{code}} ... ... @@ -1927,8 +1927,10 @@ 1927 1927 * ✅ Unique vs. total counts accurate 1928 1928 * ✅ Improves evidence quality metrics 1929 1929 1930 -== Additional Requirements (Lower Importance) == === FR7: Automated Verdicts (Enhanced with Quality Gates) ===2059 +== Additional Requirements (Lower Importance) == 1931 1931 2061 + FR7: Automated Verdicts (Enhanced with Quality Gates) === 2062 + 1932 1932 **POC1+ Enhancement:** 1933 1933 1934 1934 After AKEL generates verdict, it passes through quality gates: ... ... @@ -1949,6 +1949,7 @@ 1949 1949 {{/code}} 1950 1950 1951 1951 **Updated Verdict States:** 2083 + 1952 1952 * PUBLISHED 1953 1953 * INSUFFICIENT_EVIDENCE 1954 1954 * NON_FACTUAL_CLAIM ... ... @@ -1970,4 +1970,3 @@ 1970 1970 Avg Source Quality: 0.73 1971 1971 Quality Score: 8.5/10 1972 1972 {{/code}} 1973 -