feat(security): encrypt secrets and centralize app state
Store Twitch and Discord secrets as versioned safeStorage ciphertext behind explicit trusted IPC. Migrate legacy JSON transactionally into authoritative SQLite config and ordered queue repositories with rollback-safe markers and sanitized backups. Redact config exports and update renderer and release-harness contracts for secret-free config responses.
This commit is contained in:
@@ -102,6 +102,11 @@ contextBridge.exposeInMainWorld('api', {
|
||||
// Config
|
||||
getConfig: () => ipcRenderer.invoke('get-config'),
|
||||
saveConfig: (config: any, fileCapability?: string) => ipcRenderer.invoke('save-config', config, fileCapability),
|
||||
getSecretStatus: () => ipcRenderer.invoke('get-secret-status'),
|
||||
setClientSecret: (value: string) => ipcRenderer.invoke('set-client-secret', value),
|
||||
clearClientSecret: () => ipcRenderer.invoke('clear-client-secret'),
|
||||
setDiscordWebhook: (value: string) => ipcRenderer.invoke('set-discord-webhook', value),
|
||||
clearDiscordWebhook: () => ipcRenderer.invoke('clear-discord-webhook'),
|
||||
|
||||
// Auth
|
||||
login: () => ipcRenderer.invoke('login'),
|
||||
|
||||
Reference in New Issue
Block a user