* feat(docs): mirror every docs/ page in all 65 locales Extends the documentation mirrors from the 22-page core set (#13940) to every Markdown page under docs/: 152 sources x 65 locales = 9,880 mirrors (6,208 new), language bars rewritten for the full locale list, state adopted so the blocking drift gate now covers all 152 pages. run-translation.mjs: an oversized block made only of table rows or list items (PROVIDER_REFERENCE.md 244-row table, FREE_TIERS.md 71-item list) is cut at item boundaries and rejoined without a blank line — the single 16-40 KB request outlived the backend socket for verbose scripts. 48 older mirrors whose tables had lost rows were retranslated with --force. * docs(i18n): refresh mirrors for the sources the base changed since the branch cut Section-level retranslation of the 29 docs (and README.md) whose source or mirrors moved on release/v3.8.51 during the run, then state adoption; the drift gate is green again on the merged tree.
22 KiB
Compliance & Audit (සිංහල)
🌐 Languages: 🇺🇸 English · 🇪🇹 am · 🇸🇦 ar · 🇦🇿 az · 🇧🇬 bg · 🇧🇩 bn · 🇨🇿 cs · 🇩🇰 da · 🇩🇪 de · 🇬🇷 el · 🇪🇸 es · 🇪🇪 et · 🇮🇷 fa · 🇫🇮 fi · 🇫🇷 fr · 🇮🇪 ga · 🇮🇳 gu · 🇳🇬 ha · 🇮🇱 he · 🇮🇳 hi · 🇭🇷 hr · 🇭🇺 hu · 🇦🇲 hy · 🇮🇩 id · 🇳🇬 ig · 🇮🇹 it · 🇯🇵 ja · 🇬🇪 ka · 🇰🇭 km · 🇮🇳 kn · 🇰🇷 ko · 🇱🇹 lt · 🇱🇻 lv · 🇮🇳 ml · 🇮🇳 mr · 🇲🇾 ms · 🇲🇹 mt · 🇲🇲 my · 🇳🇵 ne · 🇳🇱 nl · 🇳🇴 no · 🇮🇳 or · 🇮🇳 pa · 🇵🇭 phi · 🇵🇱 pl · 🇵🇹 pt · 🇧🇷 pt-BR · 🇷🇴 ro · 🇷🇺 ru · 🇸🇰 sk · 🇸🇮 sl · 🇷🇸 sr · 🇸🇪 sv · 🇰🇪 sw · 🇮🇳 ta · 🇮🇳 te · 🇹🇭 th · 🇹🇷 tr · 🇺🇦 uk-UA · 🇵🇰 ur · 🇺🇿 uz · 🇻🇳 vi · 🇳🇬 yo · 🇨🇳 zh-CN · 🇹🇼 zh-TW
සත්යයේ මූලාශ්රය:
src/lib/compliance/,src/app/api/compliance/අවසන් වරට යාවත්කාලීන කළේ: 2026-06-28 — v3.8.40
OmniRoute විසින් පරිපාලන ක්රියා, සත්යාපන සිදුවීම්, සපයන්නාගේ අක්තපත්ර ජීවන චක්රයේ වෙනස්කම් සහ MCP මෙවලම් ආමන්ත්රණ SQLite මත පදනම් වූ විගණන වගුවල සටහන් කරයි. සටහන් කරන්නේ මොනවාද, ඒවා පවතින්නේ කොතැනද, කොපමණ කාලයක් රඳවා තබා ගන්නේද, API යතුරුවලට සටහන්කරණයෙන් ඉවත් විය හැක්කේ කෙසේද සහ දත්ත විමසන්නේ කෙසේද යන්න මෙම පිටුවෙන් ආවරණය කෙරේ.
ක්රියාත්මක කිරීම src/lib/compliance/index.ts (T-43 — "අනුකූලතා පාලන") සහ src/lib/compliance/providerAudit.ts තුළ පවතී. විගණන ලිවීම් කිසිවිටෙකත් දෝෂයක් විසි නොකරයි: කිසියම් අසාර්ථකත්වයකදී ඇමතුම නිහඬව නොසලකා හරින බැවින් විගණන සටහන්කරණයට ප්රධාන ඉල්ලීම් ප්රවාහය බිඳ දැමිය නොහැක.
සටහන් කරන්නේ මොනවාද
පරිපාලන විගණන සිදුවීම් (audit_log)
logAuditEvent({ action, actor, target, details, ... }) වෙත කරන සෑම ඇමතුමක්ම එක් පේළියක් නිපදවයි. ක්රියා තන්තු domain.verb (හෝ domain.verb.outcome) රටාවක් අනුගමනය කරයි. කේත ගස තුළ තහවුරු කළ ක්රියා වර්ගවලට පහත ඒවා ඇතුළත් වේ:
| ක්රියාව | මූලාශ්රය |
|---|---|
auth.login.success |
src/app/api/auth/login/route.ts |
auth.login.failed |
src/app/api/auth/login/route.ts |
auth.login.locked |
src/app/api/auth/login/route.ts |
auth.login.error |
src/app/api/auth/login/route.ts |
auth.login.misconfigured |
src/app/api/auth/login/route.ts |
auth.login.setup_required |
src/app/api/auth/login/route.ts |
auth.logout.success |
src/app/api/auth/logout/route.ts |
provider.credentials.created |
src/app/api/providers/route.ts |
provider.credentials.updated |
src/app/api/providers/[id]/route.ts |
provider.credentials.revoked |
src/app/api/providers/[id]/route.ts |
provider.credentials.batch_revoked |
src/app/api/providers/route.ts |
sync.token.created |
src/app/api/sync/tokens/route.ts |
sync.token.revoked |
src/app/api/sync/tokens/[id]/route.ts |
compliance.cleanup |
src/lib/compliance/index.ts |
සෑම ඇතුළත් කිරීමක්ම action, actor (පෙරනිමිය "system" වේ), target, details/metadata (JSON), ip_address, resource_type, status, request_id සහ timestamp ග්රහණය කරයි. සංවේදී යතුරු (apiKey, accessToken, refreshToken, password, *token/*secret/*apikey සමඟ ගැළපෙන ඕනෑම දෙයක් ආදිය) පේළිය ලිවීමට පෙර පුනරාවර්තීව "[redacted]" ලෙස සඟවනු ලැබේ.
MCP මෙවලම් ඇමතුම් (mcp_tool_audit)
සෑම MCP මෙවලම් ආමන්ත්රණයක්ම open-sse/mcp-server/audit.ts හරහා පේළියක් ලියයි. යෝජනා ක්රමය (src/lib/db/migrations/002_mcp_a2a_tables.sql වෙතින්):
| තීරුව | සටහන් |
|---|---|
id |
ස්වයංක්රීය වර්ධනය |
tool_name |
MCP මෙවලම් හඳුනාගැනීමේ නාමය |
input_hash |
ආදානයේ sha256 (payload එක ගබඩා නොකෙරේ) |
output_summary |
කෙටි, කප්පාදු කළ සාරාංශය |
duration_ms |
ගත වූ සැබෑ කාලය |
api_key_id |
ඇමතුම්කරු (හිස් විය හැක) |
success |
1 / 0 |
error_code |
අසාර්ථක වූ විට අවසාන දෝෂ කේතය |
created_at |
ISO කාල මුද්රාව |
ඉල්ලීම් / භාවිත සටහන්
මේවා මෙහෙයුම් දුරමිතිය වේ (නිරවද්යවම පරිපාලන විගණනයක් නොවේ), නමුත් එකම රඳවාගැනීමේ නළ මාර්ගය බෙදා ගනී:
usage_history— එක් එක් ඉල්ලීම සඳහා භාවිත සාරාංශයcall_logs— එක් එක් ඉල්ලීම සඳහා සම්පූර්ණ සටහන (පේළි සීමාවට යටත් වේ, පහත බලන්න)proxy_logs— ප්රොක්සි තදබද සටහන (පේළි සීමාවට යටත් වේ)request_detail_logs— පැරණි සවිස්තරාත්මක ඉල්ලීම් සටහන (පවතී නම් තවමත් කප්පාදු කෙරේ)
ගබඩා යෝජනා ක්රමය
පළමු භාවිතයේදී ensureAuditLogSchema() මඟින් audit_log අවශ්ය වූ විට නිර්මාණය කෙරේ:
CREATE TABLE IF NOT EXISTS audit_log (
id INTEGER PRIMARY KEY AUTOINCREMENT,
timestamp TEXT NOT NULL DEFAULT (datetime('now')),
action TEXT NOT NULL,
actor TEXT NOT NULL DEFAULT 'system',
target TEXT,
details TEXT,
ip_address TEXT,
resource_type TEXT,
status TEXT,
request_id TEXT,
metadata TEXT
);
timestamp, action, actor, resource_type, status, සහ request_id සඳහා දර්ශක නිර්මාණය කෙරේ. පැරණි DBවල නොමැති තීරු අවශ්ය වූ විට ALTER TABLE හරහා එකතු කෙරේ.
රඳවා තබා ගැනීම සහ පිරිසිදු කිරීම
වෙන වෙනම රඳවා තබා ගැනීමේ කාල සීමා දෙකක් පිළිපැදේ:
| පරිසර විචල්යය | පෙරනිමිය | අදාළ වන්නේ |
|---|---|---|
APP_LOG_RETENTION_DAYS |
7 |
audit_log, mcp_tool_audit |
CALL_LOG_RETENTION_DAYS |
7 |
usage_history, call_logs, proxy_logs, request_detail_logs |
CALL_LOGS_TABLE_MAX_ROWS |
100000 |
call_logs සඳහා පේළි සීමා කප්පාදුව |
PROXY_LOGS_TABLE_MAX_ROWS |
100000 |
proxy_logs සඳහා පේළි සීමා කප්පාදුව |
cleanupExpiredLogs() රඳවා තබා ගැනීමේ ක්රියාවලිය ධාවනය කරයි. එය src/instrumentation-node.ts වෙතින් සේවාදායකය ආරම්භ වන විට කැඳවනු ලැබේ. සෑම ධාවනයක්ම එක් එක් වගුව සඳහා මකා දැමූ ගණන් සමඟ compliance.cleanup විගණන සිදුවීමක් ලොග් කරයි. දිගු ලිවීම් අගුලු වළක්වා ගැනීම සඳහා ප්රොක්සි/ඇමතුම් ලොග් කප්පාදුව කාණ්ඩ වශයෙන් (BATCH_SIZE = 5000) සිදු කෙරේ.
අතින් සිදු කරන ඉල්ලීම් ඉතිහාස පිරිසිදු කිරීම රඳවා තබා ගැනීමේ ක්රියාවලියෙන් වෙන්ව පවතී. ඉල්ලීම් ලොග් පිටුව POST /api/settings/purge-request-history කැඳවන අතර, එමඟින් call_logs, පැරණි request_detail_logs, සහ ${DATA_DIR}/call_logs/ යටතේ ඇති දේශීය ඉල්ලීම් කෘතික මකා දමයි.
පෙරනිමි අගයන් src/lib/logEnv.ts තුළ නිර්වචනය කර ඇත (DEFAULT_APP_LOG_RETENTION_DAYS = 7, DEFAULT_CALL_LOG_RETENTION_DAYS = 7).
noLog ඉවත් වීමේ විකල්පය (එක් එක් API යතුර සඳහා)
API යතුරු සලකුණු කිරීමෙන් ඒවායේ පහළට යන ඇමතුම් ගමනාගමනය ලොග් නොකර තැබිය හැක. මෙම සලකුණ api_keys වගුවේ (no_log INTEGER DEFAULT 0) පවතින අතර, වේගවත් ක්රියාමාර්ග මාර්ගයේ සෙවීම් සඳහා මතකයේ ඇති කට්ටලයකටද පිටපත් කෙරේ.
# ලොග් නොකරන යතුරක් සාදන්න (කළමනාකරණ සත්යාපනය අවශ්යයි)
curl -X POST http://localhost:20128/api/keys \
-H "Cookie: auth_token=..." \
-H "Content-Type: application/json" \
-d '{"name": "Privacy key", "noLog": true}'
උපකාරක (src/lib/compliance/index.ts):
setNoLog(apiKeyId, true|false)— මතකයේ ඇති ඇතුළත් කිරීම සක්රිය හෝ අක්රිය කරයිisNoLog(apiKeyId)— ඉල්ලීම් මාර්ගයේදී පරීක්ෂා කෙරේ; එය අසාර්ථක වුවහොත්api_keys.no_logවෙතින් තත්පර 30ක් හැඹිලිගත කළ කියවීමක් භාවිත කරයිNO_LOG_API_KEY_IDS(පරිසර විචල්යය, කොමාවලින් වෙන් කළ) — ආරම්භයේදී මතකයේ ඇති කට්ටලයට පූර්ව පූරණය කෙරේ; තීරුව සෘජුව සක්රිය හෝ අක්රිය කළ නොහැකි විට ප්රයෝජනවත් වේ
පරිපාලන විගණන සිදුවීම් (පිවිසීම, සැපයුම්කරු වෙනස්කම්, MCP මෙවලම් ඇමතුම්, ආදිය) noLog මඟින් බලපෑමට ලක් නොවේ — ඉවත් කරනු ලබන්නේ එක් එක් ඉල්ලීමේ ගමනාගමන ලොග් කිරීම පමණි.
REST API
| අන්ත ලක්ෂ්යය | ක්රමය | විස්තරය | සත්යාපනය |
|---|---|---|---|
/api/compliance/audit-log |
GET |
පෙරහන් සහිත පිටුගත කළ පරිපාලක විගණන ඇතුළත් කිරීම් | management |
/api/mcp/audit |
GET |
පිටුගත කළ MCP මෙවලම් විගණන ඇතුළත් කිරීම් | (open-sse) |
/api/mcp/audit/stats |
GET |
සමුච්චිත MCP විගණන සංඛ්යාලේඛන | (open-sse) |
දැනට CSV නිර්යාත අන්ත ලක්ෂ්යයක් සපයා නැත — උපකරණ පුවරුවෙන් නිර්යාත කරන්න හෝ SQLite දත්ත සමුදාය සෘජුවම විමසන්න.
/api/compliance/audit-log විමසීම
සහාය දක්වන විමසුම් පරාමිති (සියල්ල විකල්ප වන අතර, පෙළ පෙරහන් සඳහා සියල්ල
LIKE %value% ගැළපීම භාවිත කරයි):
action,actor,target,resourceType(හෝresource_type),status,requestId(හෝrequest_id)from/since,to/until— ISO කාල මුද්රාlimit(පෙරනිමිය50, අවමය1, උපරිමය500)offset(පෙරනිමිය0, උපරිමය10_000)
ප්රතිචාරය JSON අරාවකි. පිටුකරණ පාරදත්ත ශීර්ෂයන් තුළ ආපසු ලබා දේ:
x-total-count, x-page-limit, x-page-offset.
curl "http://localhost:20128/api/compliance/audit-log?action=provider.credentials&from=2026-05-01" \
-H "Cookie: auth_token=..."
උපකරණ පුවරුව
උපකරණ පුවරුව /dashboard/audit හි විගණන දත්ත පෙන්වයි
(src/app/(dashboard)/dashboard/audit/page.tsx). පිටුවෙහි ටැබ් දෙකක් ඇත:
- අනුකූලතාව (
ComplianceTab.tsx) —/api/compliance/audit-logවෙතින් පරිපාලක විගණන සිදුවීම්. සිදුවීම් වර්ගය, බරපතළකම (තොරතුරු / අනතුරු ඇඟවීම / තීරණාත්මක, ක්රියාව + තත්ත්වය මඟින් ව්යුත්පන්න කර ඇත) සහ දින පරාසය අනුව පෙරහන් කරයි. බරපතළකම සේවාලාභී පාර්ශ්වයේදී ක්රියාව/තත්ත්ව පෙළවලින් ගණනය කරයි. - MCP (
McpAuditTab.tsx) —/api/mcp/auditවෙතින් MCP මෙවලම් විගණනය, මෙවලම් නාමය සහ සාර්ථකත්වය/අසාර්ථකත්වය අනුව පෙරහන් සහිතව.
ටැබ් දෙකම 50 (අනුකූලතාව) සහ 25 (MCP) යන පිටු ප්රමාණ සමඟ පිටුකරණය කරයි.
සැපයුම්කරු අක්තපත්ර සහායක
src/lib/compliance/providerAudit.ts මඟින් සැපයුම්කරු-කළමනාකරණ මාර්ග
අක්තපත්ර සිදුවීම් නිකුත් කරන විට භාවිත කරන හැඩගැන්වීමේ සහායක සපයයි:
summarizeProviderConnectionForAudit(connection)— සම්බන්ධතා සැණරුවdetailsවෙත ලිවීමට පෙරapiKey,accessToken,refreshToken,idToken, සහproviderSpecificData.consoleApiKeyඉවත් කරයි.getProviderAuditTarget(connection)—targetක්ෂේත්රය සඳහා ස්ථාවර"<provider>:<name|id>"පෙළක් සකසයි.extractProviderWarnings(...payloads)— ප්රතිපත්ති/ආරක්ෂණ අනතුරු ඇඟවීම් ([sanitizer],prompt injection detected,content has been filtered,safety filter,policy violation) සඳහා සැපයුම්කරු ප්රතිචාර පරිලෝකනය කර, ගැළපීම් 5ක් දක්වා පෙන්වයි; එක් එක් ගැළපීම අක්ෂර 400කට සීමා කරයි.
හොඳම භාවිතයන්
- PII (නීතිමය, වෛද්යමය ආදිය) හසුරුවන API යතුරු
noLog: trueලෙස සලකුණු කරන්න. - ඔබේ රඳවාගැනීමේ ප්රතිපත්තිය සපුරාලීමට
APP_LOG_RETENTION_DAYS/CALL_LOG_RETENTION_DAYSසකසන්න. පෙරනිමි දින 7 සංරක්ෂණශීලී වේ. - ඔබේ අනුකූලතා වැඩසටහනට අවශ්ය ඕනෑම කාලාන්තරයකදී විගණන වගුව වේදිකාවෙන් පිටතට
(
sqlite3 dump) නිර්යාත කරන්න — ඇතුළත් සංරක්ෂණ පහසුකමක් නොපවතී. - බෘට්-ෆෝස් හඳුනාගැනීම සඳහා
auth.login.failedසහauth.login.lockedගණන් නිරීක්ෂණය කරන්න. - නව පරිපාලක අන්ත ලක්ෂ්ය එක් කරන විට, ස්ථාවර
domain.verb.outcomeක්රියා පෙළක් සමඟlogAuditEvent({ ... })කැඳවා, IP සහrequestIdස්වයංක්රීයව ග්රහණය කර ගැනීම සඳහාgetAuditRequestContext(request)හරහා ඉල්ලීම් සන්දර්භය ලබා දෙන්න.
තවද බලන්න
docs/security/GUARDRAILS.md— PII ආවරණය කිරීම, ප්රොම්ප්ට් එන්නත් කිරීමdocs/frameworks/MCP-SERVER.md— MCP මෙවලම් නාමාවලිය සහ විෂය පථdocs/reference/ENVIRONMENT.md— සම්පූර්ණ පරිසර විචල්ය යොමුව- මූලාශ්රය:
src/lib/compliance/,src/app/api/compliance/,src/app/api/mcp/audit/,src/lib/logEnv.ts