Spaces:
Running
Running
Live Audit Viewer: about + known limits
Browse files- live_apps.js +3 -0
live_apps.js
CHANGED
|
@@ -617,6 +617,9 @@ O.audit = (body, h) => {
|
|
| 617 |
'The live, hash-chained audit log of the kernel (last 200 records). Each record stores sha256(prev + canonical JSON of the record).',
|
| 618 |
'Verify recomputes every hash in your browser with WebCrypto and compares with the server verdict. "Flip one byte" asks the server to tamper a copy and shows the failure.',
|
| 619 |
]);
|
|
|
|
|
|
|
|
|
|
| 620 |
let lines = [], recs = [], server = null, sel = null;
|
| 621 |
const actorSel = mk('select', {class:'vl-sel', style:'max-width:150px', 'aria-label':'Filter by actor'}, mk('option', {value:''}, 'All actors'));
|
| 622 |
const okSel = mk('select', {class:'vl-sel', style:'max-width:140px', 'aria-label':'Filter by result'}, mk('option', {value:''}, 'All results'), mk('option', {value:'ok'}, 'OK only'), mk('option', {value:'no'}, 'Refused only'));
|
|
|
|
| 617 |
'The live, hash-chained audit log of the kernel (last 200 records). Each record stores sha256(prev + canonical JSON of the record).',
|
| 618 |
'Verify recomputes every hash in your browser with WebCrypto and compares with the server verdict. "Flip one byte" asks the server to tamper a copy and shows the failure.',
|
| 619 |
]);
|
| 620 |
+
{ const T = window.VK_I18N && (window.VK_I18N[document.documentElement.lang === 'ko' ? 'ko' : 'en'] || window.VK_I18N.en);
|
| 621 |
+
body.append(mk('details', {class:'small', style:'margin:0 0 8px'}, mk('summary', {}, (T && T.auditAboutT) || 'About this record'),
|
| 622 |
+
...[].concat((T && T.auditAbout) || []).map(x => mk('p', {class:'muted', style:'margin:6px 0 0'}, x)))); }
|
| 623 |
let lines = [], recs = [], server = null, sel = null;
|
| 624 |
const actorSel = mk('select', {class:'vl-sel', style:'max-width:150px', 'aria-label':'Filter by actor'}, mk('option', {value:''}, 'All actors'));
|
| 625 |
const okSel = mk('select', {class:'vl-sel', style:'max-width:140px', 'aria-label':'Filter by result'}, mk('option', {value:''}, 'All results'), mk('option', {value:'ok'}, 'OK only'), mk('option', {value:'no'}, 'Refused only'));
|