feat: Add legal compliance changes
- Replace 'diploma mill' language with objective 'unaccredited institution' terminology - Rename DiplomaMills.cs to UnaccreditedInstitutions.cs with neutral language - Update EducationVerificationResult.IsUnaccredited property - Update flag titles to 'Unaccredited Institution' and 'Institution Requires Verification' - Add legal disclaimer to verification report page - Add Privacy Policy page (/privacy) with UK GDPR compliance info - Add Terms of Service page (/terms) with candidate notice requirements - Add footer links to Privacy and Terms pages - Update all tests to use new terminology 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -14,17 +14,17 @@ public sealed class EducationVerifierService : IEducationVerifierService
|
||||
{
|
||||
var institution = education.Institution;
|
||||
|
||||
// Check for diploma mill first (highest priority flag)
|
||||
if (DiplomaMills.IsDiplomaMill(institution))
|
||||
// Check for unaccredited institution first (highest priority flag)
|
||||
if (UnaccreditedInstitutions.IsUnaccredited(institution))
|
||||
{
|
||||
return new EducationVerificationResult
|
||||
{
|
||||
ClaimedInstitution = institution,
|
||||
Status = "DiplomaMill",
|
||||
Status = "Unaccredited",
|
||||
IsVerified = false,
|
||||
IsDiplomaMill = true,
|
||||
IsUnaccredited = true,
|
||||
IsSuspicious = true,
|
||||
VerificationNotes = "Institution is on the diploma mill blacklist",
|
||||
VerificationNotes = "Institution not found in QAA/HESA register of recognised institutions",
|
||||
ClaimedStartDate = education.StartDate,
|
||||
ClaimedEndDate = education.EndDate,
|
||||
DatesArePlausible = true,
|
||||
@@ -34,16 +34,16 @@ public sealed class EducationVerifierService : IEducationVerifierService
|
||||
}
|
||||
|
||||
// Check for suspicious patterns
|
||||
if (DiplomaMills.HasSuspiciousPattern(institution))
|
||||
if (UnaccreditedInstitutions.HasSuspiciousPattern(institution))
|
||||
{
|
||||
return new EducationVerificationResult
|
||||
{
|
||||
ClaimedInstitution = institution,
|
||||
Status = "Suspicious",
|
||||
IsVerified = false,
|
||||
IsDiplomaMill = false,
|
||||
IsUnaccredited = false,
|
||||
IsSuspicious = true,
|
||||
VerificationNotes = "Institution name contains suspicious patterns common in diploma mills",
|
||||
VerificationNotes = "Institution name contains patterns that may indicate unaccredited status",
|
||||
ClaimedStartDate = education.StartDate,
|
||||
ClaimedEndDate = education.EndDate,
|
||||
DatesArePlausible = true,
|
||||
@@ -64,7 +64,7 @@ public sealed class EducationVerifierService : IEducationVerifierService
|
||||
MatchedInstitution = officialName,
|
||||
Status = "Recognised",
|
||||
IsVerified = true,
|
||||
IsDiplomaMill = false,
|
||||
IsUnaccredited = false,
|
||||
IsSuspicious = false,
|
||||
VerificationNotes = institution.Equals(officialName, StringComparison.OrdinalIgnoreCase)
|
||||
? "Verified UK higher education institution"
|
||||
@@ -88,7 +88,7 @@ public sealed class EducationVerifierService : IEducationVerifierService
|
||||
ClaimedInstitution = institution,
|
||||
Status = "Unknown",
|
||||
IsVerified = false,
|
||||
IsDiplomaMill = false,
|
||||
IsUnaccredited = false,
|
||||
IsSuspicious = false,
|
||||
VerificationNotes = isUnknownInstitution ? null : "Institution not found in UK recognised institutions database. May be an international institution.",
|
||||
ClaimedStartDate = education.StartDate,
|
||||
|
||||
Reference in New Issue
Block a user