-- TC kimlik no şifreli sakla ALTER TABLE users ADD COLUMN IF NOT EXISTS tc_kimlik_enc BYTEA; ALTER TABLE users ADD COLUMN IF NOT EXISTS tc_kimlik_hash TEXT; -- SHA-256, tekrar kayıt kontrolü -- verification_requests: eski path kolonları yerine şifreli blob path'leri + view token ALTER TABLE verification_requests ADD COLUMN IF NOT EXISTS enc_key_id TEXT; -- hangi key versiyonu ile şifrelendi ALTER TABLE verification_requests ADD COLUMN IF NOT EXISTS rejection_count INT NOT NULL DEFAULT 0; -- Tek seferlik view token'ları (fotoğraf erişimi için) CREATE TABLE IF NOT EXISTS kyc_view_tokens ( token TEXT PRIMARY KEY, request_id BIGINT NOT NULL REFERENCES verification_requests(id) ON DELETE CASCADE, created_by BIGINT NOT NULL REFERENCES users(id) ON DELETE CASCADE, expires_at TIMESTAMPTZ NOT NULL, used_at TIMESTAMPTZ ); CREATE INDEX IF NOT EXISTS idx_kyc_view_tokens_expires ON kyc_view_tokens(expires_at);