feat: complete release preparation, 10+ ad mediation, CI/CD, and docker deployment
Some checks failed
CI Pipeline / Code Quality & Typecheck (push) Waiting to run
CI Pipeline / Test Suite (macos-latest) (push) Blocked by required conditions
CI Pipeline / Test Suite (ubuntu-latest) (push) Blocked by required conditions
CI Pipeline / Test Suite (windows-latest) (push) Blocked by required conditions
CI Pipeline / Build Validation (admin) (push) Blocked by required conditions
CI Pipeline / Build Validation (desktop) (push) Blocked by required conditions
Deploy Landing Page / deploy (push) Blocked by required conditions
Deploy Landing Page / build (push) Waiting to run
Release & Packaging Pipeline / Build & Publish Admin Docker Image (push) Failing after 8s
Release & Code Signing CA Pipeline / build-and-sign-windows (push) Failing after 1m51s
Build macOS / Build & Package (macOS) (push) Failing after 4s
Build macOS / Build & Package (macOS)-1 (push) Failing after 5s
Release & Code Signing CA Pipeline / build-and-sign-macos (push) Failing after 3s
Release & Packaging Pipeline / Package macOS Desktop App (push) Failing after 4s
Release & Packaging Pipeline / Package Windows Desktop App (push) Failing after 2m28s
Release & Packaging Pipeline / Publish Official GitHub Release (push) Has been skipped
Some checks failed
CI Pipeline / Code Quality & Typecheck (push) Waiting to run
CI Pipeline / Test Suite (macos-latest) (push) Blocked by required conditions
CI Pipeline / Test Suite (ubuntu-latest) (push) Blocked by required conditions
CI Pipeline / Test Suite (windows-latest) (push) Blocked by required conditions
CI Pipeline / Build Validation (admin) (push) Blocked by required conditions
CI Pipeline / Build Validation (desktop) (push) Blocked by required conditions
Deploy Landing Page / deploy (push) Blocked by required conditions
Deploy Landing Page / build (push) Waiting to run
Release & Packaging Pipeline / Build & Publish Admin Docker Image (push) Failing after 8s
Release & Code Signing CA Pipeline / build-and-sign-windows (push) Failing after 1m51s
Build macOS / Build & Package (macOS) (push) Failing after 4s
Build macOS / Build & Package (macOS)-1 (push) Failing after 5s
Release & Code Signing CA Pipeline / build-and-sign-macos (push) Failing after 3s
Release & Packaging Pipeline / Package macOS Desktop App (push) Failing after 4s
Release & Packaging Pipeline / Package Windows Desktop App (push) Failing after 2m28s
Release & Packaging Pipeline / Publish Official GitHub Release (push) Has been skipped
This commit is contained in:
parent
5cd1de6859
commit
708e20f747
406 changed files with 42464 additions and 6199 deletions
48
packages/core/src/utils/secure-memory.ts
Normal file
48
packages/core/src/utils/secure-memory.ts
Normal file
|
|
@ -0,0 +1,48 @@
|
|||
// packages/core/src/utils/secure-memory.ts
|
||||
// Zero Data Retention (ZDR) & Biometric Audio Memory Wiper
|
||||
// 음성 바이오메트릭 데이터 메모리 상주 방지 — 처리 완료/취소/에러 시 오디오 버퍼 0으로 즉시 초기화
|
||||
|
||||
/**
|
||||
* Node.js Buffer 또는 Uint8Array의 메모리를 0으로 즉시 덮어씀 (Zero-fill)
|
||||
*/
|
||||
export function secureZeroBuffer(buffer: Buffer | Uint8Array | null | undefined): void {
|
||||
if (!buffer) return
|
||||
try {
|
||||
if (typeof buffer.fill === 'function') {
|
||||
buffer.fill(0)
|
||||
} else {
|
||||
for (let i = 0; i < buffer.length; i++) {
|
||||
buffer[i] = 0
|
||||
}
|
||||
}
|
||||
} catch {
|
||||
// Silent guard against detached buffers
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Float32Array PCM 오디오 청크 배열을 메모리에서 안전하게 폐기
|
||||
*/
|
||||
export function secureZeroFloat32Array(array: Float32Array | null | undefined): void {
|
||||
if (!array) return
|
||||
try {
|
||||
array.fill(0)
|
||||
} catch {
|
||||
// Silent guard
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 여러 개의 오디오 청크 리스트를 일괄 폐기 (Zero-trace)
|
||||
*/
|
||||
export function secureWipeAudioChunks(chunks: Array<Buffer | Uint8Array | Float32Array> | null | undefined): void {
|
||||
if (!chunks || !Array.isArray(chunks)) return
|
||||
for (const chunk of chunks) {
|
||||
if (chunk instanceof Float32Array) {
|
||||
secureZeroFloat32Array(chunk)
|
||||
} else {
|
||||
secureZeroBuffer(chunk)
|
||||
}
|
||||
}
|
||||
chunks.length = 0
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue