feat: student scan filters — skip GPS images and min CPR threshold
New profile options to reduce noise when scanning student accounts: - skip_gps_images: images flagged solely by GPS coordinates are suppressed. GPS data is still extracted and shown in the detail card when the item is flagged by another signal (faces, EXIF author/comment). - min_cpr_count (default 1): only flag a file if it contains at least N distinct CPR numbers. Deduplication is by value. Faces and EXIF PII still trigger flags regardless of CPR count. Both options apply to M365, Google, and file scan paths. Saved in profiles and editable in the Profile Manager editor. Docs, manuals, i18n (DA/EN/DE), CHANGELOG, and VERSION (1.6.14 → 1.6.15) updated. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
1 parent
dfdc46c812
commit
28c9effd17
13 files changed
+104
-14
No files matched your search
+7
-1
@@ -125,6 +125,8 @@ function buildScanPayload() {
|
||||
max_emails: parseInt(document.getElementById('optMaxEmails').value) || 200,
|
||||
delta: document.getElementById('optDelta') ? document.getElementById('optDelta').checked : false,
|
||||
scan_photos: document.getElementById('optScanPhotos') ? document.getElementById('optScanPhotos').checked : false,
|
||||
skip_gps_images: document.getElementById('optSkipGps') ? document.getElementById('optSkipGps').checked : false,
|
||||
min_cpr_count: document.getElementById('optMinCpr') ? (parseInt(document.getElementById('optMinCpr').value) || 1) : 1,
|
||||
retention_enabled: document.getElementById('optRetention') ? document.getElementById('optRetention').checked : false,
|
||||
retention_years: parseInt(document.getElementById('optRetentionYears')?.value) || 5,
|
||||
fiscal_year_end: document.getElementById('optFiscalYearEnd')?.value || '',
|
||||
@@ -570,7 +572,11 @@ function startScan(resume) {
|
||||
if (!source) return;
|
||||
fetch('/api/file_scan/start', {
|
||||
method: 'POST', headers: {'Content-Type':'application/json'},
|
||||
body: JSON.stringify(Object.assign({}, source, {scan_photos: options.scan_photos || false}))
|
||||
body: JSON.stringify(Object.assign({}, source, {
|
||||
scan_photos: options.scan_photos || false,
|
||||
skip_gps_images: options.skip_gps_images || false,
|
||||
min_cpr_count: options.min_cpr_count || 1,
|
||||
}))
|
||||
}).catch(e => { log('File scan error: ' + e, 'err'); });
|
||||
});
|
||||
|
||||
|
||||
Reference in new issue
Block a user