diff --git a/client/containers/SuperAdminDashboard/ScamFiles/ScamFiles.tsx b/client/containers/SuperAdminDashboard/ScamFiles/ScamFiles.tsx new file mode 100644 index 0000000000..c1cbeccdab --- /dev/null +++ b/client/containers/SuperAdminDashboard/ScamFiles/ScamFiles.tsx @@ -0,0 +1,600 @@ +import React, { useCallback, useRef, useState } from 'react'; + +import { Button, Callout, FormGroup, InputGroup, Intent, Tag } from '@blueprintjs/core'; + +import { apiFetch } from 'client/utils/apiFetch'; + +import './scamFiles.scss'; + +type StepState = 'idle' | 'loading' | 'success' | 'error'; + +type CdnStatus = { + httpStatus: number; + cfCacheStatus: string | null; + fastlyCacheStatus: string | null; + servedBy: string | null; + age: string | null; +}; + +type AssociatedUser = { + id: string; + fullName: string; + slug: string; + email: string; + spamStatus: string | null; +}; + +type AssociatedCommunity = { + id: string; + title: string; + subdomain: string; + spamStatus: string | null; +}; + +type CheckResult = { + key: string; + s3Assets: boolean; + s3Scam: boolean; + cdn: CdnStatus | null; + associations: { + users: AssociatedUser[]; + communities: AssociatedCommunity[]; + }; +}; + +type LogEntry = { + time: string; + message: string; +}; + +type Props = { + cachePurgeConfigured: boolean; +}; + +const parseKey = (rawUrl: string): string | null => { + let url = rawUrl.trim(); + url = url.replace(/hxxps?/gi, 'https').replace(/\[.\]/g, '.'); + const match = url.match(/assets\.pubpub\.org\/(.+)/); + return match?.[1] ?? null; +}; + +const spamStatusIntent = (status: string | null): Intent => { + if (status === 'confirmed-spam') return Intent.DANGER; + if (status === 'confirmed-not-spam') return Intent.SUCCESS; + if (status === 'unreviewed') return Intent.WARNING; + return Intent.NONE; +}; + +const spamStatusLabel = (status: string | null): string => { + if (status === 'confirmed-spam') return 'Confirmed Spam'; + if (status === 'confirmed-not-spam') return 'Not Spam'; + if (status === 'unreviewed') return 'Unreviewed'; + return 'No spam tag'; +}; + +const ScamFiles = (props: Props) => { + const [url, setUrl] = useState(''); + const [parsedKey, setParsedKey] = useState(null); + const [copyState, setCopyState] = useState('idle'); + const [deleteState, setDeleteState] = useState('idle'); + const [fastlyState, setFastlyState] = useState('idle'); + const [cloudflareState, setCloudflareState] = useState('idle'); + const [checkResult, setCheckResult] = useState(null); + const [checkLoading, setCheckLoading] = useState(false); + const [error, setError] = useState(null); + const [log, setLog] = useState([]); + const [spamLoading, setSpamLoading] = useState(null); + const logRef = useRef([]); + + const addLog = useCallback((message: string) => { + const entry = { time: new Date().toLocaleTimeString(), message }; + logRef.current = [...logRef.current, entry]; + setLog(logRef.current); + }, []); + + const handleParse = useCallback(() => { + setError(null); + setCheckResult(null); + setCopyState('idle'); + setDeleteState('idle'); + setFastlyState('idle'); + setCloudflareState('idle'); + const key = parseKey(url); + if (!key) { + setError( + 'Could not parse an asset key from the URL. Expected a URL containing assets.pubpub.org/...', + ); + setParsedKey(null); + return; + } + setParsedKey(key); + addLog(`Parsed key: ${key}`); + }, [url, addLog]); + + const handleCopy = useCallback(async () => { + setCopyState('loading'); + setError(null); + try { + await apiFetch.post('/api/superadmin/scam-files/copy', { url }); + setCopyState('success'); + addLog(`Copied to reported-scams bucket`); + } catch (err: any) { + setCopyState('error'); + setError(err?.message || 'Failed to copy file'); + addLog(`Copy failed: ${err?.message}`); + } + }, [url, addLog]); + + const handleDelete = useCallback(async () => { + setDeleteState('loading'); + setError(null); + try { + await apiFetch.post('/api/superadmin/scam-files/delete', { url }); + setDeleteState('success'); + addLog(`Deleted from assets.pubpub.org`); + } catch (err: any) { + setDeleteState('error'); + setError(err?.message || 'Failed to delete file'); + addLog(`Delete failed: ${err?.message}`); + } + }, [url, addLog]); + + const handlePurgeFastly = useCallback(async () => { + setFastlyState('loading'); + setError(null); + try { + await apiFetch.post('/api/superadmin/scam-files/purge-fastly', { url }); + setFastlyState('success'); + addLog(`Fastly cache purged`); + } catch (err: any) { + setFastlyState('error'); + setError(err?.message || 'Failed to purge Fastly'); + addLog(`Fastly purge failed: ${err?.message}`); + } + }, [url, addLog]); + + const handlePurgeCloudflare = useCallback(async () => { + setCloudflareState('loading'); + setError(null); + try { + await apiFetch.post('/api/superadmin/scam-files/purge-cloudflare', { url }); + setCloudflareState('success'); + addLog(`Cloudflare cache purged`); + } catch (err: any) { + setCloudflareState('error'); + setError(err?.message || 'Failed to purge Cloudflare'); + addLog(`Cloudflare purge failed: ${err?.message}`); + } + }, [url, addLog]); + + const handleCheck = useCallback(async () => { + setCheckLoading(true); + setError(null); + try { + const result = await apiFetch.post('/api/superadmin/scam-files/check', { + url, + }); + setCheckResult(result); + const assocCount = + result.associations.users.length + result.associations.communities.length; + addLog( + `Status check complete — S3 assets: ${result.s3Assets ? 'FOUND' : 'not found'}, S3 scam: ${result.s3Scam ? 'FOUND' : 'not found'}, CDN HTTP: ${result.cdn?.httpStatus ?? 'N/A'}, associations: ${assocCount}`, + ); + } catch (err: any) { + setError(err?.message || 'Failed to check status'); + addLog(`Status check failed: ${err?.message}`); + } finally { + setCheckLoading(false); + } + }, [url, addLog]); + + const handleMarkUserSpam = useCallback( + async (userId: string, status: string) => { + setSpamLoading(userId); + try { + await apiFetch.put('/api/spamTags/user', { userId, status }); + addLog(`User ${userId} marked as ${status}`); + setCheckResult((prev) => { + if (!prev) return prev; + return { + ...prev, + associations: { + ...prev.associations, + users: prev.associations.users.map((u) => + u.id === userId ? { ...u, spamStatus: status } : u, + ), + }, + }; + }); + } catch (err: any) { + setError(err?.message || 'Failed to update spam status'); + } finally { + setSpamLoading(null); + } + }, + [addLog], + ); + + const handleMarkCommunitySpam = useCallback( + async (communityId: string, status: string) => { + setSpamLoading(communityId); + try { + await apiFetch.put('/api/spamTags', { communityId, status }); + addLog(`Community ${communityId} marked as ${status}`); + setCheckResult((prev) => { + if (!prev) return prev; + return { + ...prev, + associations: { + ...prev.associations, + communities: prev.associations.communities.map((c) => + c.id === communityId ? { ...c, spamStatus: status } : c, + ), + }, + }; + }); + } catch (err: any) { + setError(err?.message || 'Failed to update spam status'); + } finally { + setSpamLoading(null); + } + }, + [addLog], + ); + + const stepIntent = (state: StepState): Intent => { + if (state === 'success') return Intent.SUCCESS; + if (state === 'error') return Intent.DANGER; + return Intent.NONE; + }; + + const stepLabel = (state: StepState): string => { + if (state === 'success') return 'Done'; + if (state === 'error') return 'Failed'; + if (state === 'loading') return 'Working...'; + return 'Pending'; + }; + + const hasAssociations = + checkResult && + (checkResult.associations.users.length > 0 || + checkResult.associations.communities.length > 0); + + return ( +
+

Scam File Removal

+

+ Paste the reported scam URL directly from the email (defanged URLs like{' '} + hxxps://assets[.]pubpub[.]org/... are supported). +

+ + {!props.cachePurgeConfigured && ( + + Cloudflare cache purge is not configured. Set{' '} + CLOUDFLARE_CACHE_PURGE_API_TOKEN and{' '} + CLOUDFLARE_ZONE_TAG in environment variables. + + )} + + {error && ( + + {error} + + )} + +
+ + { + setUrl(e.target.value); + setParsedKey(null); + setCheckResult(null); + setCopyState('idle'); + setDeleteState('idle'); + setFastlyState('idle'); + setCloudflareState('idle'); + }} + onKeyDown={(e) => e.key === 'Enter' && handleParse()} + large + /> + +
+ + {parsedKey && ( + <> +
+ Key: {parsedKey} +
+ +
+

Removal Steps

+ +
+ 1 + + Copy to reported-scams bucket + + + {stepLabel(copyState)} + +
+ +
+ 2 + + Delete from assets.pubpub.org + + + {stepLabel(deleteState)} + +
+ +
+ 3 + Purge Fastly cache + + {stepLabel(fastlyState)} + +
+ +
+ 4 + + Purge Cloudflare cache{' '} + (verify Fastly first with Check Status below) + + + {stepLabel(cloudflareState)} + +
+
+ +
+

Check Status

+

+ Checks S3, CDN cache headers, and searches for associated + users/communities. +

+
+ ))} + + {checkResult.associations.communities.map((community) => ( +
+
+ {community.title} + + + {community.subdomain}.pubpub.org + {' '} + ·{' '} + + View in Spam tab + + +
+ + {spamStatusLabel(community.spamStatus)} + + {community.spamStatus !== 'confirmed-spam' && ( +
+ ))} +
+ )} + + {!hasAssociations && ( + + No associated users or communities found for this asset key. + + )} + + )} + + + {log.length > 0 && ( +
+

Activity Log

+ {log.map((entry) => ( +
+ {entry.time} + {entry.message} +
+ ))} +
+ )} + + )} + + ); +}; + +export default ScamFiles; diff --git a/client/containers/SuperAdminDashboard/ScamFiles/index.ts b/client/containers/SuperAdminDashboard/ScamFiles/index.ts new file mode 100644 index 0000000000..e08999b881 --- /dev/null +++ b/client/containers/SuperAdminDashboard/ScamFiles/index.ts @@ -0,0 +1 @@ +export { default } from './ScamFiles'; diff --git a/client/containers/SuperAdminDashboard/ScamFiles/scamFiles.scss b/client/containers/SuperAdminDashboard/ScamFiles/scamFiles.scss new file mode 100644 index 0000000000..48527607f9 --- /dev/null +++ b/client/containers/SuperAdminDashboard/ScamFiles/scamFiles.scss @@ -0,0 +1,146 @@ +.scam-files-component { + .url-input-form { + display: flex; + gap: 10px; + align-items: flex-end; + margin-bottom: 20px; + + .bp3-form-group { + flex: 1; + margin-bottom: 0; + } + } + + .parsed-key { + margin-bottom: 20px; + padding: 8px 12px; + background: #f5f5f5; + border-radius: 4px; + font-family: monospace; + font-size: 13px; + word-break: break-all; + } + + .steps-section { + margin-bottom: 30px; + + .step { + display: flex; + align-items: center; + gap: 12px; + padding: 10px 0; + border-bottom: 1px solid #eee; + + .step-number { + flex-shrink: 0; + width: 28px; + height: 28px; + border-radius: 50%; + background: #e0e0e0; + display: flex; + align-items: center; + justify-content: center; + font-weight: 600; + font-size: 13px; + } + + .step-label { + flex: 1; + font-size: 14px; + } + + .step-status { + font-size: 13px; + margin-left: 8px; + min-width: 80px; + } + } + } + + .status-section { + margin-top: 20px; + + .status-grid { + display: grid; + grid-template-columns: 200px 1fr; + gap: 8px 16px; + padding: 12px 16px; + background: #f8f9fa; + border-radius: 6px; + font-size: 13px; + margin-top: 10px; + + .status-label { + font-weight: 600; + color: #555; + } + + .status-value { + font-family: monospace; + word-break: break-all; + } + + .status-found { + color: #d32f2f; + } + + .status-not-found { + color: #2e7d32; + } + } + } + + .associations-section { + margin-top: 16px; + + h4 { + margin-bottom: 8px; + } + + .association-row { + display: flex; + align-items: center; + gap: 10px; + padding: 8px 12px; + background: #f8f9fa; + border-radius: 4px; + margin-bottom: 6px; + + .association-info { + flex: 1; + min-width: 0; + + strong { + display: block; + font-size: 14px; + } + + .association-detail { + font-size: 12px; + color: #666; + + a { + color: #137cbd; + } + } + } + } + } + + .history-section { + margin-top: 30px; + border-top: 1px solid #ddd; + padding-top: 20px; + + .history-entry { + padding: 8px 0; + border-bottom: 1px solid #f0f0f0; + font-size: 13px; + + .history-time { + color: #888; + margin-right: 8px; + } + } + } +} diff --git a/client/containers/SuperAdminDashboard/tabs.tsx b/client/containers/SuperAdminDashboard/tabs.tsx index cf77a25da3..415c9c51a4 100644 --- a/client/containers/SuperAdminDashboard/tabs.tsx +++ b/client/containers/SuperAdminDashboard/tabs.tsx @@ -10,6 +10,7 @@ import ExploreCommunities from './ExploreCommunities'; import Hubs from './Hubs'; import LandingPageFeatures from './LandingPageFeatures'; import PlatformAnalytics from './PlatformAnalytics'; +import ScamFiles from './ScamFiles'; import SuggestedHubs from './SuggestedHubs'; import UserSpam from './UserSpam'; @@ -59,4 +60,8 @@ export const superAdminTabs: Record = { title: 'Spam Users', component: UserSpam, }, + scamFiles: { + title: 'Scam Files', + component: ScamFiles, + }, }; diff --git a/infra/.env.dev.enc b/infra/.env.dev.enc index 11bb2fb24f..9d1e2e3bbc 100644 --- a/infra/.env.dev.enc +++ b/infra/.env.dev.enc @@ -1,60 +1,61 @@ -AES_ENCRYPTION_KEY=ENC[AES256_GCM,data:QTHQKsrGXVcC6n0Df+FPitm4spVEFmor8tBW1Us4KecRHT/CS/c4liG/zhmxg608o1BImvYUoNXOnAUzx0c7rA==,iv:UyRQD8CY/wKgBvfVwT9A6KME2OS8qr/DaFByVw2hy40=,tag:tEAiJg8C3RQFzVbl/kof0A==,type:str] -ALTCHA_HMAC_KEY=ENC[AES256_GCM,data:pEQuEORnajXVGVKBeGIybmceHBr94su8UjdRdxVDs/w5P2lA+AOkljqmf58pFp4QYljvb8WM0K0Qucu6BX6nsg==,iv:5JKeF6ZlnlL9QKtSZQvSA8owri690+LfqdjO8qH9h0k=,tag:hYnfaZdz2U1NZrOyGbAmRg==,type:str] -AWS_ACCESS_KEY_ID=ENC[AES256_GCM,data:Zh6nZj9vyGdL7YYyjZnV1Hu2fsk=,iv:vIN6uPJMx0+BDGcHe3tazIOwZdzeqYSznyxDWgPE7yU=,tag:AkTJteLfaO55PmCpFdDHGQ==,type:str] -AWS_BACKUP_ACCESS_KEY_ID=ENC[AES256_GCM,data:AukGF5oUW76exk8tlVSCK8C4EbY=,iv:uYhLhWI5MmLLYX+0tE7b6JLSUmVgfV2/M/Rc2dbJeO4=,tag:a0vAFyRyyb926Oq1UMIGaQ==,type:str] -AWS_BACKUP_SECRET_ACCESS_KEY=ENC[AES256_GCM,data:uM/KzblBwrJX9ixFEk3thYP2x/c2pn+GHU0SfkbvbNUo6bJQKPHUtw==,iv:Kl9+6SMhzqd0/FepOET/5wOlmFHG0NSl40hZ+xpc2cw=,tag:ce4G5Wj8IhLtqGH9j4yOgA==,type:str] -AWS_SECRET_ACCESS_KEY=ENC[AES256_GCM,data:3yhIGaVfcSx82Iu570lGQTj7wg6/U4eKLJBX3fWllFUXPQ7YTaTSxg==,iv:Zw789TR9JYE8Zub372k1+nUUHHp5898+leNGmUUadxQ=,tag:OdHy7ixCn9HgAcyOotFf1A==,type:str] -BACKUPS_SECRET=ENC[AES256_GCM,data:vW/KL6d2JrTLEqMyWdewdG5arNFi/k4XItSJIpKtLCubWtVPA7Vx+ndKafk=,iv:A08RonZOgfK5Rv+jFCrPulB5GLFtPWQhzWEo7qVI0H8=,tag:YRMdEGEXtHwbXYHOxGb2IQ==,type:str] -CLOUDFLARE_ANALYTICS_API_TOKEN=ENC[AES256_GCM,data:2ycCWIKjallqDhI3tI7Y3DkJD64i6PpwTUkb+mTcFiho5W53mCjqX7LHoBQ/KM6//aHN7f8=,iv:14R0jm2nxMCd1pfRDah2n1b807opRio8/1oMqG6CBXc=,tag:uOH4SQRvgkW5wumxqQ1RfA==,type:str] -CLOUDFLARE_CUSTOM_HOSTNAME_API_TOKEN=ENC[AES256_GCM,data:aQjJLeWn2p0K5aMlGQezyhhnuvp8zIKCSdEzQRPq5y3vq5cRdrSijdLNl5PyFbyse3OdKW0=,iv:cY4t9ygDSouRuebY5sFQnOsFmMHD+STqiI5A7DOxpQw=,tag:CBEsbEuvR5sTy6iSboIfXQ==,type:str] -CLOUDFLARE_ZONE_TAG=ENC[AES256_GCM,data:G8HYYAD4o/9v2ewmQHLoyi7Gs/IC+rRfVbtrO7WG9lo=,iv:UU5q1PeCYI685vP0M0mPnfvUg1jEaJF29+n65YMGrms=,tag:PzupiZcYg+S60keNcbZscw==,type:str] -CONTENT_SEARCH_TERMS=ENC[AES256_GCM,data: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,iv:mRgRYJVuUOeYwrCZbjZIVZzjNuWpTsLkNYpl0j/wZNE=,tag:kOtCOlJB3gKyzaZsUo1Y9A==,type:str] -DATABASE_URL=ENC[AES256_GCM,data:oEBTHXU0LJ4AmF9ProfQDon5aGG4vDQK5JIC/o7OENh6Od9I/zRMaxOvyPM=,iv:EeYD+Z829jA7mGKL0HUDoMBbMTpxp2IaDm+Z+Ik98K0=,tag:NtmCFVY4OCmc73dKlWvtHQ==,type:str] -DATACITE_DEPOSIT_URL=ENC[AES256_GCM,data:4OWiB4JXhX2j/yk8YF//3yYLZpG2RC34yUJUeBi9ilNySQ==,iv:2TPp76R7IK2LxrFPTv1BbYIYEEf9oyZbY9fODp8negY=,tag:ei3JiVgIS44q06fvPIPioQ==,type:str] -DOI_LOGIN_ID=ENC[AES256_GCM,data:dBNBTJAj,iv:+L9bHQ0qpE30YIvkHhLy0F94xk4WltCQ0kiN1tm5MH8=,tag:42lv4Qc61GMca9SU22yPaQ==,type:str] -DOI_LOGIN_PASSWORD=ENC[AES256_GCM,data:pYL86VNuswtQyo5VTmDSBO8FWbo=,iv:eyDVpD/d9R/YqUDiAN823aRtWJSEIx71aZ5vzpSxMTo=,tag:3dWa2DwrxdeYfYxL4G84hA==,type:str] -DOI_SUBMISSION_URL=ENC[AES256_GCM,data:tUIkPyvU2TE3cWaGgDf+AFgzFgDibsgUUV2hNkdDvJxGYsAecNaq34o=,iv:SoWYYFQaI78/4KdwSu3Q70vYsTawiwv3rHDCPAN+J0g=,tag:u+4BZU0agtSkFHBPF3G76Q==,type:str] -FASTLY_PURGE_TOKEN=ENC[AES256_GCM,data:w24gixo2dL6Nly9Numyq79W1FkC7gog5QxIwb7r1iJw=,iv:NJXaDOiofZwIHtuFaFbAc1S/A7wsZURUt5DD89lvJIc=,tag:C4hoW3wSrcEFXrapr5UVQg==,type:str] -FASTLY_SERVICE_ID=ENC[AES256_GCM,data:km/VXm/CCP2VUJFkdrh/G/tr+A8VbA==,iv:x9vrwMvPg4eXUQB3MuzZ9Ra5jD3y4hJYHGl2vTWmyys=,tag:rXPz7yyBL1i7g3BNe14xbg==,type:str] -FIREBASE_SERVICE_ACCOUNT_BASE64=ENC[AES256_GCM,data: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,iv:t/EvVAQw2gbV7qwOZO+MlmKqCETbC7gqRsXrKxDvWUk=,tag:g68huzvs+cmz/jNKj786IQ==,type:str] -IS_DUQDUQ=ENC[AES256_GCM,data:+obHZg==,iv:L92l1JcMlAf3eBgrmn5ktSkRWAu80OsM25pWAwbCGz4=,tag:mgSQTM2cjEyoG5tVwqQQIw==,type:str] -JWT_SIGNING_SECRET=ENC[AES256_GCM,data:dkLpNzbugrM6XUEjI9PbmXqVDMB41fbL0BRCZ5Wh1/cnXqpAZg9X1+ql1qIAWl4vUdTT0Qla5hBvQS9AcTl2VrCsu3opJgZ9KfooMnO6fgeIcKn2jolWWOXgafKZ9OauXHUCCAyhZK2MHz7kY2NcaJHjqdE+gzec0BW4s+T+44iKeX9lWCueGD0Z0pomAfJCHVh5TOppxNase4rth48Fpl0b+jbIpA9puXcFSHV4xfPPnDlo3zeO012HdTf28QWOT7hwnw5aTBDKyqFoUNoJ/wONtzYpkMoiuYAWJT8iamrCBSJP5yuQfnQHHBxlx8DVqN2sB598XkvvBRJTjL8c4qU/9sKQK+SeX8OiJ6b7oIr6tnBuHGtmHy/atJqCTlABv083gLA1Yvsl7oI+3XZkqWcuT1JmsJzM5IhfrrcgY66qVAfQtBwd7SLB/sX9286n62FCLu+sy+otl4Tc4l/Cbm9Eslp+LV+XD/XvixqSnrH1tVE6WZv+t0LM6GA6UALm9C0kP+WFqu91/q1hK5WYXTFpeOCy8t1u+ORQUABQf5HtJMxgsk9kDyKO8IlQlLs63szsa3kERJbQyy3UEKJ80Uywhkgz6MDF3U1QbJEfGxgq7wInl4nGFLe9Dso61ULzUHOZD+03JcwS1cVpHXJO+2FsLs+diiV16XqNxUu26YFu/cbCc2/0mbrJoFF7KnrW2e8s2nzdBsWh0qj0A1mNWmhEC7HkmRaqkajhGR5Mqgp94P4/Aoz/BIJoiCXOk+LF8GpodrghGSVDsJBGD6/2om385LE218tCnmShzI8IBT8oRh7IXnTKmZX5Pi1dxD3GG6wjtFL5ecxNRlVPZITCEbj2sIN+HaweqP8rzgufrO+Qbn6uySR5zjAsvTZt1QRsn7m9nLFHy5UzZbrpIxt4x00x14oUpTBnDhakm5OYRkc7Sk4o40mO1ibSMdXBCRMiAs9Wwlw6DfeBxF2zbbNGX3T6A8TsNuZLhQIPhol0KKNNhrIeozqi7w2gmJjTlJQVttg0fin8KFI9cwKlhcuFQknO3bzB5v7RxZEg6PdWQvS3L3f9uuISwgFS8sV8IloXIlmJwqDxE/g8bhRysdj1XHLxvSxd4VNex323H7Uw1h+6U2Pqufa4JDbcOUl8a58DJE69xNs+9a0vKhI6sghAe8fq682BNM0kiV5etoT4AHwr61VVnT43okoUFWBfYRwnWhwn0kDZ2N/Tc6zIF26FRXqKRS/WKNI4KBN51tVRCX73Y9BReSEMAHwz64A4wnvn32orT2ICejTkauSawFGOcBB80kws3zMCcHkcueu+5aZL4687N9h2UpAu1S+JEwE1HGRTb1PP9SHE+/dr3+yVig==,iv:bepSFYamCtmRhGMhoMUmEvKcwGX8KG6bCPlU0fE6dsU=,tag:9by0PjYZ9GZIpja/XPzHYg==,type:str] -MAILCHIMP_API_KEY=ENC[AES256_GCM,data:OSemiKy5JLCj8q3cB6MqPbDe+BJv46zR3Pjh59l4qTTt4/9W,iv:FQ1aBZDU26e9pVwiHjoxit4h88EWYSFF0YS3/jE6edY=,tag:Eg9BksR/m7a6UCDFxnSfCg==,type:str] -MAILGUN_API_KEY=ENC[AES256_GCM,data:vmeClID/tuJeMKhAEBqGuUlKVmoRZk4XH80faSFBSkfoJqX3,iv:ueEV3T3tD1DEgti4MXQLgEohKzgqMwHKK5jCMt+xlJg=,tag:o8++Leq8zn0yESoS2w+GzQ==,type:str] -NODE_ENV=ENC[AES256_GCM,data:5sqC5U2w3gs9bA==,iv:fmfMUpFPGfIt0X6ZAbm4j4oH2pCiRYy7OG66eb7C7EU=,tag:E9fgASNvznjqbzjKMn3VWw==,type:str] -S3_BACKUP_ACCESS_KEY=ENC[AES256_GCM,data:D2H1silMP93AZI/N+rIR2iSkE9E=,iv:lmMAB7dcHhFyS/nxjCBtBJrrH3NIrmg+GiO/ba7NmjI=,tag:QQ2KHknsdIisnhgKDrL4Xw==,type:str] -S3_BACKUP_BUCKET=ENC[AES256_GCM,data:l+WkrTk4NsH/Rfc=,iv:fkdyvBn//ULtid63U/CKTXgpx70bk46QMQ4sOBZzdnw=,tag:eOkieRCMvwymWm+uRnpTaw==,type:str] -S3_BACKUP_ENDPOINT=ENC[AES256_GCM,data:yOdkAwO+XStgzkwo8Nt5RSDU96JexzeU2UwMpORgzNLQXm4=,iv:kw2k3EedL5bjVbCL6CEHY/F0aSNg0lHAKUaCb3EzGyc=,tag:sKwXq+SD3+4O/a4rs3PgIw==,type:str] -S3_BACKUP_SECRET_KEY=ENC[AES256_GCM,data:/kFd13/ExfcwFX4/zcQSQ0j5E/9M0avGQluhl6I00lXS+eJz/qVg8A==,iv:kyJaxXyk9cAXFNeATBjMqC0yEvI3mGwD49a+/q9tUPY=,tag:pYuabKR84BpiYYPyGhoc8w==,type:str] -SENTRY_AUTH_TOKEN=ENC[AES256_GCM,data:kXbKKC5rK0JNyp4YXOk1IObQEsDjdbg7lt5l/lKQzfxHi982e25Ux5kTY59xp2SnDyNNVQZaFa5qhQGKG5fQBKDL6NNir81f9hdIimLaPr0f/Z7zw8Lx2uZoOXwf0gSRIp3E8tnNj0aj009miOp9zfd/gHUeSwPXdF2bKxu6SMbSOXoK7G89w8gTLtuKdcoptqIGYAWlUYOKmYiDY7XewRp0vil1skaom6Y+6k+t3rbr3L0a9Q+Cc3pxDQ==,iv:ZiX210v2BthDmlh0wXLydYbj0GzBY/fb7VtahLt46+k=,tag:+2DVZo9oxBFojHtEbFXUIg==,type:str] -SENTRY_ORG=ENC[AES256_GCM,data:9rhL,iv:qWrrpZLPsBNiV85XtjY0MCj4nY3jlptAFmjxiWAXQeA=,tag:7gh4OpcrMGWeRyeLsZ8ztw==,type:str] -SEQUELIZE_MAX_CONNECTIONS=ENC[AES256_GCM,data:azQ=,iv:aqInEL2yeXtDwZPL4oovJhvvKDS1VohqCfKxJhijWcg=,tag:u2xR+O3Gh4Sl+/SBqJzwUQ==,type:str] -SLACK_WEBHOOK_URL=ENC[AES256_GCM,data:XzGfApMoNtWvpoUef/NlC4P6ms9FMCRnMHNs95ZBk89ht1sDOlBCdtRmt2/Kzv4SQA4oTDRA4J357AGZKP8L/UeWswBHB1QeFnz9GvZE3w==,iv:XNrtFa0gGgGcFcyMBxKDF/8tJpRSdJ5Zqi+l3m6M8TQ=,tag:zJrK07YBxmc0X4bfAUoDhQ==,type:str] -SMTP_HOST=ENC[AES256_GCM,data:GJLUyrkiEl4zPyTj6ZxNCKPZaA1aIhMOlR4vJ7fohSrYMw==,iv:aRD1It5hgjVSIMEbtXOJs8/pUaXHsQ063Zfko7Z6+C8=,tag:jl1t5KiG3ftueSdHyQzkwA==,type:str] -SMTP_PASS=ENC[AES256_GCM,data:+pnmEDvbXpNLpnroMv5FD2Y4otwjTk3k2JX82+ve2xIs9dzKMDkVPXkXcqo=,iv:cF/29JYKF+IwGRAWZzLuDt0+ZxJ3K/eegMr8XHG4GDY=,tag:/932F/VShBTzjBR03TPMbw==,type:str] -SMTP_USER=ENC[AES256_GCM,data:FyH5lsmBv5KleZlUM060W11YqeM=,iv:3xr6bPbG4pIW6Jc/pnuP2RAtl94JBYUJ2QdwOsE0mnM=,tag:zOkkt4HVcKjiVQNfp2IqyA==,type:str] -ZOTERO_CLIENT_KEY=ENC[AES256_GCM,data:TbcRcUKMSbnh4uZa6eMMzwTGVbc=,iv:zP1yYWFNh2W4d7+IP8v9ut+qTmgZ2LNNa7YzALXKOzE=,tag:LRKOtZYEvuelCYU7m6/kXQ==,type:str] -ZOTERO_CLIENT_SECRET=ENC[AES256_GCM,data:AuqTkMUytxv42YlsARXnGr5lkXE=,iv:xZdJ26k0WSfwGdkxsLLrpy8vYzYQRPM3edhksMSGOUo=,tag:v8YJYUqGIinUGRr4ITA5cQ==,type:str] -#ENC[AES256_GCM,data:5UNnOoaCSXve3FQuWEeMQTU/bvg=,iv:TvRWMmfiSIgZu1E/H271RZg7t5ZXZuS00ZWUZNZuHU8=,tag:Wy+4V2xZWRQ/p8YRR9fBUw==,type:comment] -OIDC_ISSUER_URL=ENC[AES256_GCM,data:KD3dcG0IBxI65gS9zn0zU2OyqH7XDLaUjF97NBtg65XQSP9LmA==,iv:Rgr2YOSprfARpIclEz1vnvv9d5n02ICtXILisV98qSc=,tag:jIh/cOn4gxP+u/9GsGLgDQ==,type:str] -OIDC_CLIENT_ID=ENC[AES256_GCM,data:d6wnR+55BHfe,iv:y2qsuRl8+74N6CreatAlEnmezfTRPvOuRdaLF2H3Vy8=,tag:wpsl8Oo9oPJD0KkerDwsCA==,type:str] -OIDC_CLIENT_SECRET=ENC[AES256_GCM,data:h7rW7LyWb92196d7KvJ7gQLMJAnTwNw9qV1mmnyU2qwUXottErv463JD/87Roc2NT/VPVrs5lNcTGEMF1uikaQ==,iv:Q4/I1SPV41YqYoH2LSpcThgb89jcj08oebatpmKzOBU=,tag:ef8yNKjrJCpgyklDhY2h2g==,type:str] -AUTH_INTERNAL_API_KEY=ENC[AES256_GCM,data:oDMLpeLW5AjUPjzQmwb59NA6ULq8YdLraJLeuKR5WK6yBTZt4OKImnqQnmYXCN59O5YCrqmNFVJDci18N9BQYQ==,iv:dGYxwjgQn5iomGFldVMWnJpfxLtyQkwazDO+fBVK2X0=,tag:OZjvP9v87af9Ubphi1s2WQ==,type:str] -OIDC_ACCOUNT_URL=ENC[AES256_GCM,data:7Fj4JuBQ130186MMlgURKoCGijYwDASqAjISd+hnoQBajNuxXuLOBg==,iv:0O50QSvdldSESMoBNZyagGz8QYUkip7QqiZkcwuAku8=,tag:WZSTC+XX85vPKmWD4i5jSg==,type:str] -APP_URL=ENC[AES256_GCM,data:/x8aPCCcsslp6gD7MwA5IC9WO8tAHg==,iv:MIBAmZCLD21QI4CsDWkyTIuSfsY4BhlFRRQ+lI/7/Zo=,tag:UNR22KrCQdSpMsWWPzXI+Q==,type:str] -sops_age__list_0__map_enc=-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBjSmZoSHREN3NVMXdFNzRv\nRmllOGNYUExHRGFXamR3dE9yb3ZJYUsyaWo4CmtQYjBmL0ZpSkdtL0ZKUS9ya1gz\nN21keVZTeTNFbnFzbXhZM2N6Z2xXTk0KLS0tIHV4bklFRWdvMVBIdkpyd1VxYnpL\nNVB0SUZ3aTJvYnlzRUpIYURLRlM1aWcK6Vpqr6F+Fa2jO9ndX5OeXoe8Mgg9KBPa\nt196Mw3nG5v+/9m4iH24/Aip7rR2USnuQ2NWZ18NqdBgb2cstLOWaQ==\n-----END AGE ENCRYPTED FILE-----\n +AES_ENCRYPTION_KEY=ENC[AES256_GCM,data:gxH7MIKA2SRO9TdTN19vW3aWGMH9kIsc648NQ3ruaTSsqmPo8ANkXcIYLw6jlsCSDU85ArEARFPq7sPd6p7ZHg==,iv:slRN5JoIVl1xENahQd37jGQnTpJvGAp4vAtDohVvqeQ=,tag:hSxi63Dc54l0d2qJWumQyw==,type:str] +ALTCHA_HMAC_KEY=ENC[AES256_GCM,data:eLmTsq1lSumMdls3P9drQCTK36/xs9QP+KGSNtrKchs+yG54/5N4eB090RPzarAVxF8z5iJDszlqtATKqsBbEg==,iv:0CAgESin3o/wRcis2PP2dH7MEH8e55r7bucAgoyA6qA=,tag:VWHvrTybPC32UxhZ/tij3Q==,type:str] +AWS_ACCESS_KEY_ID=ENC[AES256_GCM,data:dBn3jH1BUWMwGMY1q831CQm9Ot8=,iv:Vi8YEB3dxfXhAHGMVFpyE98PWLHb5iiEjYtmwe7fa5k=,tag:drYANPCglcQzTsPqIZ2eKg==,type:str] +AWS_BACKUP_ACCESS_KEY_ID=ENC[AES256_GCM,data:hkBmxm6b2pdQSCuiRNoT519NEiY=,iv:+dWazVd1hRA4VcYdRhyXD2CKO6o2Do/Pn/KQRBsujRA=,tag:BrO48rb+/m89cPswNEUe8w==,type:str] +AWS_BACKUP_SECRET_ACCESS_KEY=ENC[AES256_GCM,data:2nxmvH/9PwemEQ9sR8oqL7huCqBvWjNy6Jwq4qUaAUL4wYCzCXqRXA==,iv:B7ApVnsroUquimkrTixqOdmslT9phIRHxaXVDoho7T8=,tag:1Dx6v9crI1mzLQOL37i7Lw==,type:str] +AWS_SECRET_ACCESS_KEY=ENC[AES256_GCM,data:pHIOG3ats1Df9pNWZhFqiTZ+o9eWdrDBKkhxT24PB5CkIl8WycN11w==,iv:/Pl24dVx/i8W1nLRGWOve8ieu00emaXfDbcOyM7PtFA=,tag:timU+MhPgbQFGq2QigIwUQ==,type:str] +BACKUPS_SECRET=ENC[AES256_GCM,data:ahtOe2sWkhRS7e8qHMX6k6B16i3NCYjzYhunydhQh/aveobz+BltMAXa00g=,iv:ciXty6hGE4lWvTTfOl+vssAkYjQqZOVEMwkmpOaQkuU=,tag:o0ehmRbWjs4gtguDHS2sVQ==,type:str] +CLOUDFLARE_ANALYTICS_API_TOKEN=ENC[AES256_GCM,data:tgLnbC/ZsnGbd7SQ6LmmDxmS3CJ8BqxuoULTHQYQwp3Li4qQetgrl059byCGUoXTds9DNvA=,iv:dtcV/bYX5ZUKx/B0k/kUJWMHmlxRzMUSQDfY5jZWlXs=,tag:g27uEOI5SNzno0j08bV3iw==,type:str] +CLOUDFLARE_CACHE_PURGE_API_TOKEN=ENC[AES256_GCM,data:+v/onl3PHIXkaPF/CrWUllg+6yd8eHrtKAqqMMSnl5r8LiMuYryvGmkpmIT5Uhf1QKARAdE=,iv:YPQX2Sv2K59KYsfk6CmJp/uI1p3ZbzSrB7eiyGUN0v4=,tag:p3WselRZXnpGvCUetzQMnA==,type:str] +CLOUDFLARE_CUSTOM_HOSTNAME_API_TOKEN=ENC[AES256_GCM,data:m+zgGWlTXCEzxTiw69ghTOMVNMK3MXo3hd3halB33dYuGOzkZAKypqeHSSdZPEscP6GbVrg=,iv:Yq+srSopMDkLh40Ee7nGEKFGKtF/huWrg4dTmQ6LIDA=,tag:KWdBPSRNIhYDD51WAxGY0w==,type:str] +CLOUDFLARE_ZONE_TAG=ENC[AES256_GCM,data:VSli973c1IRlKDj5Xg6kXCgc7z/AZy/1FoyWSJsRAA0=,iv:nR/Zfr4RWu6zRn9cBtMvTpFWafRtuQV1kAsXyjF45ck=,tag:Onv+SS2CKUtXg8Qn5g6yNA==,type:str] +CONTENT_SEARCH_TERMS=ENC[AES256_GCM,data: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,iv:xw1DbbZmTFCmH67V8RNDcNx0Af0zrvv1FFM61mOUN2o=,tag:u5JEOCnh4+QsauiuGmwxYg==,type:str] +DATABASE_URL=ENC[AES256_GCM,data:7L66IArH7afAzW0qOnBWLJzDQt86OPs2a4FvGDs6iC7gTYcQ2KFpI3TG19Q=,iv:0fv5oT3mqJDbvtGSEJAwozGNZg22tOD6ZTVf02sZPwU=,tag:7ejIaVIzg0DF59sywB4xIA==,type:str] +DATACITE_DEPOSIT_URL=ENC[AES256_GCM,data:T0udniflC+rDRclMDcnP513tjqNQw8VljY33lrUeCOQdUA==,iv:Rp1vtjX589qQlZo3x0KflIuGlSnKyJfYdGNagEfd+6Y=,tag:M9oJY9zRnAHrG3WaEmhC6A==,type:str] +DOI_LOGIN_ID=ENC[AES256_GCM,data:qqLyX334,iv:EKC2nUS/XZJbcQqRfGUGdwEYlFr8Sfv2kRr9VxBGF/Q=,tag:dZSxKiapmPsjKJT14hZQtQ==,type:str] +DOI_LOGIN_PASSWORD=ENC[AES256_GCM,data:TQN0pmU9mH/wGSXyZBclB9uriNM=,iv:kRaBigV5Y0+dIT1S9HraFETnnF4VpmCxtg6miZR4aJ8=,tag:7D1Pxhf6feSpRk6Q4/fZsg==,type:str] +DOI_SUBMISSION_URL=ENC[AES256_GCM,data:nDpKWgNfEN4D5uBzCSVW2sEIY7NwfozMhdK2wSoZE4YuXgGKmxu8xV8=,iv:H9zyNX4QW0fKGXH02hGhsEmwtPwLVTG4M9RdTPMOWJc=,tag:Dbbop6McjcaSm7SzKdTb8Q==,type:str] +FASTLY_PURGE_TOKEN=ENC[AES256_GCM,data:l/x+LRSR33Q5ml1QezVz/yr6BWnyG3apc7ntHx+eCRE=,iv:brkWMNmRiXiksMQCVea3RTIf3k3hR68kwKbONwozXtA=,tag:g+VlzTpOqtMGfTmMFuEh5g==,type:str] +FASTLY_SERVICE_ID=ENC[AES256_GCM,data:fJvGB2J9KShhfzGPWsaeN2GJUxGPVQ==,iv:bYmlwZMFtVDktvcR6CEyqHkU0V0BeqZT3PYYUpZAPvM=,tag:ukqN4101jhmXPO4D+vXLYQ==,type:str] +FIREBASE_SERVICE_ACCOUNT_BASE64=ENC[AES256_GCM,data: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,iv:ld/xfciOjxFwtAXeWQuvmHCAikaPSjC271qlQ1OeohU=,tag:JnS2NHIMVv4OUQB7EuGFXQ==,type:str] +IS_DUQDUQ=ENC[AES256_GCM,data:Ht6ChQ==,iv:2agthVac3+ZDySQxuGbndvnqFAMssxAm0k2EU7j/KqI=,tag:JuhITyakAHu9wTKIpaUVow==,type:str] +JWT_SIGNING_SECRET=ENC[AES256_GCM,data:vsjTa55AuQZToFlX3NyTt/yy+sWX8oOLYx8jfoCTzFpzPC9X8z8rBz7SttvXXByxgtCOOhEMvtxCvVy7e/OSTt3h0/F5JihRlSRs8OiZB4KIQWOGhMf/8s1rzr8yc+nvQTMET+sMbWoaHUwyObbhyfM6xwDnv2GU36rCHf6G/Kfslyi0JnqFY6XFZPr5DmUwZZDonrHPWvuuvaEIE7z9UZ/dY5+ocNxPCfc5tpqlkN5FYwWkYsGwjyB4kxuPggkBb6NHtHdqA/qrS9WE343vc8QVpTEy1Kl8PSo9CcR4+ddZCfoYeto5Wcpva9mUtn5riEG3W6CWEkbQxHhrSDLTgTzZfBda0YDKEl/hkAamYXPzi1KTs1ZeA1i6PZ03RSRmVg98sqb10VWuj9j8OejNQ8PXW/23GTlW9dpX9hqsjIxKfS6CkNludDUJWjtw6Vgfq+wvPMRgUM/bRgVNqsRgv1SEQL9RkorUiIZgBSqYMuDmZ1fsRXqzP7e+tbwGeZbLFBh8H2mXqPG/bayqHVi3V0fpzn+mwqnYfmYXcbTap+8ZwXZF5gE+xC54/vtAalxbV50g8jfEVpMw5E4/8FV3I4tdhjV8Xp14c7PhYk4sDNCRJ3wrVvgs3rMhozMmtBRK/qU8JH92AH0ZUNrN4NvM89oSPYMotVYUheyfkO+Ng57IUd6/r/Q5JmoEtNrXqK8JBGzSpdiJUigxQa7b10fEO8//dUDVsNqjkFxy9LSuqTvlS/W1NcRBzI2wO4e7ULmn40CYtELJ4FxC/WG5uKK37ArJ7Ov3Pu6Yz2Qy5XtLztZM1Gl58oU1J4cYZcNkRS3ZK8xNQm2czIAd/WZlV2gm/oz+V/cpsVMeqU/2zH1fe8shTKF/9yd6Vab4GNznL6ldnSr+3YiyS/oevkG5Rs+N3wxRHC1cj8BqsgTtii3YZc3nZe7pCM4HvjBERJ7QqK15ZtAs3KXaxvg4DZHeoIDV6ZKgW8SRZkxifSYxHyxNxFmsAdZ6UKfysPkspVHiHrS+CFPyv4Ba5IjyZHDDD9hQ2YJZNGXZ1inThH7UE+y8CgNiE1uqZtcKE5WpFl1hEDdB4h7B3gqRm9ImUQuSXtTkBWgAZRak93GIF3WXunY4mATptHPTabI0G0TwTP70r5IowGpFCJTY1xgCmMDxopwTdaqbRUEUCE7Kx26ckB9UyLjYYEbEyuNlLhdVA8n1TzWI7YRbP5Jiz3dR6mUGVXzDH10fWr0O8t0CWTwTGKUxlrHYHhMDS3v8uH/rVQfVnJS0TBHpDVXgSXCUUXVfNokSnUBACd6Z25AgJuMbFw7inYdHwLTwJibxg3LT+baJ4CtAGjCyYYOKlR6A0CSgxg0Qfw==,iv:SZfobacZeNKUsqNN9BAm9g2NEhIA/NUSenuu2ovrunI=,tag:dsbp0zf+VQ3bUuMBQzRRhA==,type:str] +MAILCHIMP_API_KEY=ENC[AES256_GCM,data:hKkAxPJzLvwQ3vZzHtqJjM+QfawGrQgHuPAzzPJJxK++wHjN,iv:77JxycGQOWDgFk/zqyL2qI8SF4ubIMVEtkI1B5gD+rA=,tag:QJ9RsT8NRAogbzW6pgrTUw==,type:str] +MAILGUN_API_KEY=ENC[AES256_GCM,data:zI95A059gfR9X6LWEwFKyY8rtHAFdqdMNgFQ1rJmElLfVKa+,iv:MCMqTrLYD+2/wc6zdbV5ET1gelYStZkmW3nQ+6pu4Uo=,tag:s2aOa4qeqfws2RHPLvbHVQ==,type:str] +NODE_ENV=ENC[AES256_GCM,data:FPrmY9sFNQfqAg==,iv:uCRljm+lk6iBn6YvwYOaZ6dQj/V3mO54sBTRKfX0lag=,tag:fWcRICtaiFv/eDV0Z+Mi8g==,type:str] +S3_BACKUP_ACCESS_KEY=ENC[AES256_GCM,data:YTQVkZ7bBmu4GnnYMlmDAtXzqOw=,iv:DaV68F3S3n90UuyXvbWvQIsRpZ+h9msZLE2q3UjCH1s=,tag:9BRGK3LOh97ij59l6IKfQA==,type:str] +S3_BACKUP_BUCKET=ENC[AES256_GCM,data:R/YHx3aquexvaw0=,iv:+66fr9/t/BHLeneZij1gFHpmiodhSv+I0avftNa9Hlk=,tag:gSJpQvvFmvUauQwnqXGHSg==,type:str] +S3_BACKUP_ENDPOINT=ENC[AES256_GCM,data:+WS4GrBBsxVjjJWciW9fTlg4q0CyoXRPbD2q3B1vwbwcp0k=,iv:fM0k3LRsg+m3bGHFSnpB8lGJrcY6SFdJY+7pTDIa/Jw=,tag:ATgFvcoUVfiosIJNwZY7hA==,type:str] +S3_BACKUP_SECRET_KEY=ENC[AES256_GCM,data:ckdXPgJ80TDA94ZOKkhCe5QRVMcAgRaohHhjrBWv+ZOSUzkjYSuGEw==,iv:15HtIFQLaCVeYc2igOhQF75APsqnF4nbs6Q4Wnisihw=,tag:XlCVXB8oZ2XQR8wfmpo/Tg==,type:str] +SENTRY_AUTH_TOKEN=ENC[AES256_GCM,data:pFhhWNtEyGQCE6gvfcKrjSiW3JazhBdlsySFj/eK0Zao3wyO8ivFlFZe8Kem8lle2MwHi6I0hVRF6Oe7w7tp1RtlA/Y3iyjKeioNgbJ7q7gOXsloi2Pp/sidC+jYoCVAlejI71w5NYu58b0UsMSlpatTIQysdWUU8t1+oMh1+9d2Sf0bwHeCZiW0e99kt3R3mPZ2k/r/MfDheFmtHDxHaxPjdyRCNpF6FtASKcB/vmd0/WfwegBwosjt/A==,iv:SbQ9Z7JZeVoW2pdd9CdKy0jOEm8ZSjJnGX5HjJeYFb0=,tag:qrkYWFDpiFhQPRP+BN8Jwg==,type:str] +SENTRY_ORG=ENC[AES256_GCM,data:Rdvk,iv:5FxFMKbk35ugk0JnkiXpM/Q4VyuNNOE4r+KiltxNVRc=,tag:qjyWQ7LvwXf425NzViSfjA==,type:str] +SEQUELIZE_MAX_CONNECTIONS=ENC[AES256_GCM,data:mq8=,iv:8aTFLPtDxI4h0DKgHPafb/3HuUV9uRIlI+by0F2YHO8=,tag:Fw5AwlOzBHmAT9hhOI7jtw==,type:str] +SLACK_WEBHOOK_URL=ENC[AES256_GCM,data:3z/OBLE8NOrnZIkn+hWDBwBFZcmuuq32Y/mTslwq73zwiLUFzfDauB9FXV8L2ZWDzMCtokyh71SOJzU2i3YEAm/u2vbPZPRaVerDEsS02A==,iv:ixESXAEeTjk0GOpWz/I8uibCgayIuFI7UmDMCXox3fU=,tag:/UQ+1BLM5sfus19DAExZDA==,type:str] +SMTP_HOST=ENC[AES256_GCM,data:q9XAuWQ4xdX+mxwCDTrA13ecDI6J6edBQwmkvAMB94AQoQ==,iv:LiE5Y67X2EcA18111vzAmG7Zfota5J9kK0s/xgT0xJQ=,tag:0C9E8PK5GQBltnDpkF4/8g==,type:str] +SMTP_PASS=ENC[AES256_GCM,data:tNjcEifdfSSSjRtXjijmguFVbIVEJGOWVU6Bw+R909h6Wlflsd1Q+0HTGTc=,iv:kEkUaK4WYSoCSCKoYWYby/cv232oLz8wDIkiWQqSjAQ=,tag:WAgkztZaS9w3GISgTK5vmQ==,type:str] +SMTP_USER=ENC[AES256_GCM,data:2gyGiOtwbfeB398mWHNDtZfb+dg=,iv:DQRDzBenoLhNHuYX0wPRmzFCSHI4VocnCdN2mwCMGFk=,tag:4UOQi192O3i5kVy8vFHjtw==,type:str] +ZOTERO_CLIENT_KEY=ENC[AES256_GCM,data:6HDQHEWYjxRgZ5JxecgRgixnFoA=,iv:i0qt5/TIyYWZx2+Fp9upTuOldksV9Zhhqe6YvdmQuck=,tag:bJvFFouQbYgoj7Z1q2++MA==,type:str] +ZOTERO_CLIENT_SECRET=ENC[AES256_GCM,data:2LRtiH67MiGBLslODSiJtkYZkJw=,iv:Q8moyTzJoX1QySDcGIElQS21Z6AULd7xYUL4l+c4AuQ=,tag:NlSQblk1mNvz8tN/J3Vs9A==,type:str] +#ENC[AES256_GCM,data:6/ewlr6r+1XHhe8FQubyZrwmvYY=,iv:5c+6mzcW1z6s7CCWLv4Eb1/yVaXZj3yI+eccZGLuDe0=,tag:lT4pLsSNZNcQD7WJ/3MysQ==,type:comment] +OIDC_ISSUER_URL=ENC[AES256_GCM,data:1zCsC7pYX9V5UAh2FtELf33cZ2J63nrnJAEyBFTVn+GqaTJstQ==,iv:OyxugrL/Sfsq1PpHojy8nR1uBGD+vMlMfINxe3MkKEo=,tag:c2oJpmZ8W3Dd2uguNw23kQ==,type:str] +OIDC_CLIENT_ID=ENC[AES256_GCM,data:2angSVYcz48p,iv:6J0su0ymS769FS57ONPqiqyxO+dSNW1lAGKhVhluLhA=,tag:+hgWLLPSZamF/mWh3EuC6A==,type:str] +OIDC_CLIENT_SECRET=ENC[AES256_GCM,data:J8U7fPnyQM7x4LB9YwAP8148i+6Z9lCphtcVj8D3EOAfFw4+EjkxDzvT0RivPVtDhcDDXtdgIbgV/wOQsh0WTw==,iv:0kVWD8nN8moEr/MSdhs80AAkMm98TnCu6C5zvZfl2Aw=,tag:UjQPtcN7VAS1JcNiVeN1TA==,type:str] +AUTH_INTERNAL_API_KEY=ENC[AES256_GCM,data:VgcGryxwMuvuQAeN4u+M7qCLIoWpg4KsNkl/MW1jaGvjtb85TNlRuE9QzizgYuWW51n3UMxiWQfj4twwrSfZiw==,iv:2qis+UNTQt49qXVuA+QhOIccOLI5Ps5bGWt+VbKn1nE=,tag:S4h7UtVfS/h1PpFOCD8QEQ==,type:str] +OIDC_ACCOUNT_URL=ENC[AES256_GCM,data:mMeZBu3zxzY/GHdDGrLu92hF513GR4c6+nBEY6Toj6O8+I2bP2SDWA==,iv:aWRIO4yUPXRRNBQEN19egROZRMIbmPBPELeKA+PMvd0=,tag:9EQUMUE5eOG+eDllV9ZTww==,type:str] +APP_URL=ENC[AES256_GCM,data:IVJM5jUTokz1JXnQKtSju0Nz3OjPag==,iv:G+UgFy5emT9wkSSBpqG0wNVlviwr+UaCT1/31RtFv5Q=,tag:jyij8S+7o/gQt4X/gc3vmw==,type:str] +sops_age__list_0__map_enc=-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBHUmdYcS9LQVlzUVpxQ21u\nVWhIUzJlWnVtMzN1c29oY0VON0ZqelovZURjCkQ5Q0kxcDNMWkZuNkkyUFJld0Ro\nOXcwNy9FVU5VbEZzZk5GL1dMYzN3VW8KLS0tIHc2Qnh2TWkvalNaZGZUWnNQYUU3\nZXdQRkcvSE83a0VXOFo0VFVPdVpVU2cKWFDJFY+5kcQEoa6NJu5g+gsTi8lWTgv9\n+lMu7MhsmGPUoR6Ywxog8QTUdHaCElhWXw683Da3VhioJvN3n/+9CA==\n-----END AGE ENCRYPTED FILE-----\n sops_age__list_0__map_recipient=age1wravpjmed26772xfjhawmnsnc4933htapg6y5xseqml0jdv8z9hqemzhcr -sops_age__list_1__map_enc=-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBnaXZUcHR2eWJFZWpTdGYr\nUVo1RG9tNzlaU0s1RVNwbGhtQnBocWpmQ1dJCms0NWpGa0dBZVN3QTFOSGg2SDVT\nN3VoNmtuMzU2bktBSlg1R3BVMlJTaDQKLS0tIEdDSTFOdzFPaG1HdW54R3hsdTBF\ndzNtd0IwRlF2YlkwdXZlSnQ5ZFQzRFkK7eC7apakezOG8qrZGIy6JgY2onMw2oGO\nB0Q++/YzEfDOt7sipS6/IgWynq2LjmQweJcsRo+P4x8LiKhxmuKkiQ==\n-----END AGE ENCRYPTED FILE-----\n +sops_age__list_1__map_enc=-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBka3JyUFdDa0xUbDY3SGFY\nb1ZoNnVlR0U2V2RYZWhDTHZmUk5QOXhtaDBBCjh0Vy9Vc1Nib05IR1RhNnhYTlZO\nTmdGbUtUZTE4NXl3N044QWF4bkg1Rk0KLS0tIC8xbHMzSGdGTnJGNzFFa25rT0VQ\nR2U2QkYvZElteExZT2lkZGQwL3ZsdTQKByv5+JNHT1RNkCNbkW42p2hUiJCfIsdf\nwyUgGdfMEfKcOhliA091H7C0/ID39xu0p+9A9EDaVYsqsRTCVeUVcg==\n-----END AGE ENCRYPTED FILE-----\n sops_age__list_1__map_recipient=age1vhftscteyrwphx0jpp0yl60xxrjs77jq05mkzv88js7ckc926vcqepp2cj -sops_age__list_2__map_enc=-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBHbDFXUGRMWFdJVkZpSm1y\nOE00U1FRbEtCVnhWbXN6N3FQVkxvNWF5NWdNCkdaZ2E3d1VkamFMQjRHUzhGTGJB\nTjQva1VpdUdBbi9mRWdHN3pxYyt6bE0KLS0tIEdFVFJodC9tWWNJOW45WGdDeXFv\nS3h5cHlnNVlNU25oSUlOTlBsZFlSUk0KbztjhSLmznefAXgvroXIj9g5SaNXdjnH\nS8wrDSFixtT0o6ZOC+R0qg3Ny9txbztq8cvY3DsqrQjw5xca4AhEXA==\n-----END AGE ENCRYPTED FILE-----\n +sops_age__list_2__map_enc=-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBpNFd3MHUyRVJKaHQxTUEy\ndnFwSGhBbjdqZXhYeGc1L2hIcEpCVnBWUW1jCnFRcHRTMmRwZWFZQVBJbEdNS3Zw\nM0JGL0NocmQ5bnhna1g5dnRRMmx0bTAKLS0tIHg5R2Fmd3p1TU1xZE5Dd0JaZXNq\naURZeFRXRFpOb2V4bm1xUEM1VGVMaTQK4WLIRTGP2Ht/QRxvIjo0F/FgkLjJ8shz\nExPFo0WhF/yr3kW1WfzYw+XSDcWJfiezRKtFHaYrlvMmNDpUJ8hywQ==\n-----END AGE ENCRYPTED FILE-----\n sops_age__list_2__map_recipient=age1slx6e48k7fre0ddyu7dtm2wwcqaywn5ke2mkngym3rpazxwvvuyq9qjknk -sops_age__list_3__map_enc=-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB2cWlKczAxbXJYQ29FNVlO\ncDd2bEY1Sm1DbnZrOWl2cm82c0FWYitEOEZNCmVlRjFUdGRIV05mVkNIUlo2S0t3\ncFFsRXp1Wk1KaThNSTc5Qmk1akViMTgKLS0tIGxyU0pDd2NrVE1neUlnSE9KcVZT\nWEp1SFNQVjlRR3IxTXJzU2wyZUNaOWsKlBCNRxI/V6f8p6SUkh/FnzvZw0WSeRa0\nuSOH65C34wBw7F/fWqRDSnjrbNp4iGH1GPNUh7ogS4ZkodY2VQqohA==\n-----END AGE ENCRYPTED FILE-----\n +sops_age__list_3__map_enc=-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB1NFZIbnd4TVgrQWw1YWh4\nY28xaXYxRTBBWjNkQS93OVFuejZuWUZUNDFZClNiMWViOFNVVDBqM1lNL1hXSWZq\ncnNjMldvMXpjWWVTcEJIa1dHVnFRaGMKLS0tIHdzc0NFK0k4a0dDK05waCtxRnlK\nVWErdWNYQ2dxS25WV09TNXd2WUNQNmcK7xvTpH2p1BEbd09cJr+5SpDef79K8AsJ\nyIooRQbHtWJ5g8ZjVDvVv7mACiRNBd72h2rCAimRhebrpGah6Fg43w==\n-----END AGE ENCRYPTED FILE-----\n sops_age__list_3__map_recipient=age1vfhyk6wmt993dezz5wjf6n3ynkd6xptv2dr0qdl6kmttev9lh5dsfjfs3h -sops_age__list_4__map_enc=-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBKTWxPaFJkTi9EZkVsdXov\nZC9WSVJPejhaNGg2RU10eHZ2dXBscWxQNXd3CnZxYitoeXhkVXhmOEJDSG90Y2dM\nbFBmNlJJMlJ5dm0ySXpyTjZvMGFqTWMKLS0tIGhWQkY0Q2RwR3lpRFJWYzNid2N0\nbWNYK2Nlc0E4ZklORGI0eHpUU2xSeU0KnbN1ppQhOJPVVjJ3p5Rk0jemcRQq+RgM\nBKJLfupw9yz2fsYIOn2bRU84JMGswDZd9KD/9hOKLQrES7V0UxlDZw==\n-----END AGE ENCRYPTED FILE-----\n +sops_age__list_4__map_enc=-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBwTDJYQW9uMEdnUDAxN0JN\nQi92c2VHNm5JWHZHYzhzVXk2d2lsYjJiUHpBCkZUM1JJNEdGdmJKWmNMTVRnVHFN\nQy9KblAwdndXRzRrRUZObC8xZXhkUUUKLS0tIDZBMkJoVXNtMkUwdjFPY0ZtQUVZ\nbGw5ZjNPMU02QldtWkptbENpYkRYNFEKVnv/+qMYWG3nZI/08V2x9qTlIy+hEWGb\n3TvvgyyOvm9+cceVBxgjE3OAUHTI3AP7O+1HPsT5T96OAruMlHAvmw==\n-----END AGE ENCRYPTED FILE-----\n sops_age__list_4__map_recipient=age1jwuvzyghfer7rx3qtqa4vs0gxyff0sg6pqgmqvp5zlhnpmvrkdlsdha4kx -sops_age__list_5__map_enc=-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBWNmhYYmVnay9MNHJlOFlR\nQU1KU1UzeGpobCs0RkZEcERJM0R2eHVzVEVjCmhTeDNPUmN0VVhnNWNNN2pLMXpT\neGZFdzFHSmY2c1FRVmdtbXY3Z2FkbWcKLS0tIFRweFVad09KNDd5QjJPbkEvdjBo\nRDAxTWQyWkNVb2hoRGFTRWRaZzF1SkUKYICTvgSDU5Zvh5Xwkj6PYYO4+l4NXd4M\nn3FMQ/HnpwPQB5YTDCNGW64RPgg7DizKQYhwJfvouN8jppNgLS1S3w==\n-----END AGE ENCRYPTED FILE-----\n +sops_age__list_5__map_enc=-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBLYW15Ny9xb2psWlhidWJG\nS2lCd2p2ZVFyVE1oY2UxVUhUeTkvN29JcVVjCjZvbzQvTWdaSEdCSmJKWHo3UjFW\nSFQzV2l2bjUvVk1EamV0QlRmOGRSNU0KLS0tIGZvYUZDd0pySUd1ZVlnVXdoZTdL\nWk51NGFoSWhrWG05SXl1WHYxMUd3TVEKD4pqfsNj8ZtuY4nzkH3OfDayRI9gjItW\nycC8KJ9cVDVwdP5UYMpZJjErcdsl0sHQZTF9YnN3S1cVkJ5C5Z65Og==\n-----END AGE ENCRYPTED FILE-----\n sops_age__list_5__map_recipient=age1pgxk292zq30wafwg03gge7hu5dlu3h7yfldp2y8kqekfaljjky7s752uwy -sops_lastmodified=2026-05-20T17:17:38Z -sops_mac=ENC[AES256_GCM,data:E57DxTP+vuC9BlaVev4qkxHeHmcFLjTMjuUzvI1UjVdBSQW8ySig/ys2kRbol9I8yOri9IbHlD+Ii2XUIN7z6KhLVIBHoN6462fJU6uJOs8ic72b1lk2XRBFImhzhuvydx7L/MBfXt6+V/1G/ACq+3g0YuTVkMu2oFiR34rwcK4=,iv:APIaikdSLA5HBJPE5DZDQpbdgD26SX5gdUpIRqM0Tlc=,tag:SQR1QHHm3tU06vi4cBaY4Q==,type:str] +sops_lastmodified=2026-06-04T02:09:43Z +sops_mac=ENC[AES256_GCM,data:OvlS6T6YuyeLD0Ls7ORleCNLcy3HVilUGu9mkOJrL4UN7Ld1GxthyENK62nTHroxeKmvltnMnSxZMb59RFQlPXDHi/fChIfGSFC2gsJ7QjnqyccRE6u3RFQptqL5gjeDdPv9Q3Rn9NI8Cdh4O1LCnnnk44uyFFCXOqwaEC3084g=,iv:y8N9EGW2fNTrLevwCZUbMXxOvBsJ2VERpI8mnNNg70U=,tag:ph2oejF8X9Fg/FyMlDRLPg==,type:str] sops_unencrypted_suffix=_unencrypted sops_version=3.11.0 diff --git a/infra/.env.enc b/infra/.env.enc index c56371cfde..e0f7ee8aa2 100644 --- a/infra/.env.enc +++ b/infra/.env.enc @@ -1,61 +1,62 @@ -AES_ENCRYPTION_KEY=ENC[AES256_GCM,data:Rb8p/Q7y8T8bj+QsSUoREgvQQ4juEJkkQJOZ4HCEG5cETtMnX2PeKEmGJnvCLDGQxcmcTNY8FOfpoQNQn+c+BQ==,iv:RYVAAggyGs7E3NCFFeYpCMdvv2iGT7Fk+vFUYxkhwTg=,tag:hvs14F7Y8dnBIWf3+Hp/Rw==,type:str] -ALTCHA_HMAC_KEY=ENC[AES256_GCM,data:HHd9xcbgKNhtIFHRXNakSn6eszeI3hfPLfjdgX8CUbP283Q8g/W8naU3FMG43j6CxuAoZXoimo9ua9l2ClqEaL89oYp8UkPf9ySphTDIrwzWIYelEmFDUxv2kxaTIwnyziBSXBsM9Za93IxdU3WBiIBPU/xl89tBywzPTXVVmqk=,iv:0Iv8rAc4NGxYWgQeeIcvUtaIC/e2EigMLIlIpCHw/wU=,tag:+9Ufxrh7cHIHuBZxY8T/EA==,type:str] -AWS_ACCESS_KEY_ID=ENC[AES256_GCM,data:afGBZUwTv7JPJxrU8O6IZ0Ff8MA=,iv:D67ERuD+In+ViOquixuLNomlAzxtvFXD3Kg8z7b0Dfo=,tag:imReGZGqRoJC1+8FwSP87Q==,type:str] -AWS_BACKUP_ACCESS_KEY_ID=ENC[AES256_GCM,data:PPIXUkRfD/K5pMg73BH0Lr7v2uA=,iv:IOkV8xlarjgPwZaA7MailwtUeNOqY8L6+Gzzjt4jxHg=,tag:XSiuboy5dImloSvVVU0n3g==,type:str] -AWS_BACKUP_SECRET_ACCESS_KEY=ENC[AES256_GCM,data:R4WFN09++pHl96degrNkldpTdXwkW0CzaHugWlrLg4Tst9jhumc88A==,iv:Hp4lbrJ8qjf66FL255nmoYeKKRnV56Oeuwrs4GUrkqQ=,tag:IIJTWj4v8/w6cWKh9lmjzA==,type:str] -AWS_SECRET_ACCESS_KEY=ENC[AES256_GCM,data:SxZyLHf3uqevdyvYbqwzCv3MR9lQ2E41dkcIFuJ7bQvHvj7BvPu7eA==,iv:Pb52mdAjkXdc3Yv2oAqYHMgAoXJmhZtwb9dsUAtm/xQ=,tag:FNuwxcuGBSOKbyXoc4tJUw==,type:str] -BACKUPS_SECRET=ENC[AES256_GCM,data:BQuPEsZJ4nDaPBx6zI1SyE3zI24NqdUj2vOWJJA/83x1osWZ/uIA/CA0E3Q=,iv:isGQZGhJ3qrZzZ/A/3uxDfu3P6OZspJFuh6wsmzZGGo=,tag:dj1S4E6RpXdvo+iKKmJneg==,type:str] -BLOCKLIST_IP_ADDRESSES=ENC[AES256_GCM,data:vOJNtI4XoIt54mUO2G0Gr7Imlf/F,iv:uGte2NDGJ8FDzQr04HEbyy16eL9N3iQzAuEs083woGk=,tag:8QmjriYUgfVv1ea4NGUk4g==,type:str] -CLOUDFLARE_ANALYTICS_API_TOKEN=ENC[AES256_GCM,data:6XTa179pf+WJuQezPfS18iTZa/0otUnG+fGAuVFUedloyFbT5DmHxYWLPJ1pDa7NUpLni08=,iv:LIpI+a2iEELKIE3jolG22toVBsouivpMT8Flp1gxhc4=,tag:TZ1TnmN3gT/Sp5Fu2y6LQQ==,type:str] -CLOUDFLARE_CUSTOM_HOSTNAME_API_TOKEN=ENC[AES256_GCM,data:BT+IafsvZ3vHtB0678VsR1IBsIuaYPsfBKIPwT3xb4wQ8TiTIEE0KRFYSoDsxu11Wg0q0/A=,iv:p3GAMzADfVd7pAffkrP9sgWcKaMUhTePXSeUmE9TSUw=,tag:dwNJIvRS2oTA1LY4z4+V4w==,type:str] -CLOUDFLARE_ZONE_TAG=ENC[AES256_GCM,data:jq/0WRN6Mk1xGwaDRZe9XWiySh+F+ZyjHfDJvg9sxHQ=,iv:ICJiWpiiXTqGv4VVodwXUvaAsQ4KXVGNXEKSTwAUTRU=,tag:TT2pXOQXZh+YKrzfow/Fpw==,type:str] -CONTENT_SEARCH_TERMS=ENC[AES256_GCM,data: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,iv:wJYo1JlO/T1r0V5xV08PWUW/ABKaGWtwliI9v0y9x/4=,tag:6U1yQelpvoBVwczyFGsnaA==,type:str] -DATABASE_URL=ENC[AES256_GCM,data:kpCVMaY3Ha+ybplD9VPvCeRQEt61yoSu0Dn6JR5Dq8PtU1rdA1Ewk0YiCT4=,iv:K5yVw8w7+UsG09xXZTHC4Q0Z0VylRQBVr0h/QuuS7TA=,tag:UnEm3S6LO4/V1NB6mT6biQ==,type:str] -DATACITE_DEPOSIT_URL=ENC[AES256_GCM,data:AWe1swwvbchmZR74yfzheNNAeTx0iZhzUS5OoBM=,iv:vm1oWKva8CoTahrJRLEtQpKlcURrScVhQIHOeVSGt7I=,tag:YCmRyYujj1dwBD9KaS6DnQ==,type:str] -DOI_LOGIN_ID=ENC[AES256_GCM,data:ztqYO35m,iv:oXWNxzAPIqaQ9WYrbbi5ESNhT/9s8jakr75wEfP7Aw4=,tag:m8ufweCmoNhbcb0iS5RTkw==,type:str] -DOI_LOGIN_PASSWORD=ENC[AES256_GCM,data:uLERMaUTWMrpkiHmRhLW4RT729Q=,iv:THMJshfMlF232SRnYgdz5IcWC7q6h1vB7RpB8+Cnyxk=,tag:DS3eDHZVORVrKE26L7hq3Q==,type:str] -DOI_SUBMISSION_URL=ENC[AES256_GCM,data:oi98KqaBFe3pSAzSH+Rc0GYJR3SA6nicj3wx04J+vx0D/490jPNRfw==,iv:lNFpyU++R77YzGUM9elVCJ+j51G3J8SgOmEBJVtbKX0=,tag:xWZqnH4/b5wYPwoXsfmlXw==,type:str] -FASTLY_PURGE_TOKEN=ENC[AES256_GCM,data:1j93DIsNHb9HJ1DTHMCy+JX95cUIj6rJnAcWXsIEiXw=,iv:PfTYmWxl7lSY6JLhHbnFeJKKVMgFuMVzjum8NbWOiw0=,tag:uN4MGUe+KehHFsSVfwsJ0g==,type:str] -FASTLY_SERVICE_ID=ENC[AES256_GCM,data:cnhHu1xfiGQAZpTbdlmo5F3w0bsiAQ==,iv:8FFbwbJnkgR9vh8NU7sKMTaTKMgCpfjlQqgN4enSu7U=,tag:R+I+XANrlDx8bRo0rJU3jA==,type:str] -FIREBASE_SERVICE_ACCOUNT_BASE64=ENC[AES256_GCM,data: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,iv:wDDidSsOKgcynBnC7bxgADxJT4C61/OmGb2XtLFbIOo=,tag:Pizy5E49y96EYTI1VQp1zQ==,type:str] -JWT_SIGNING_SECRET=ENC[AES256_GCM,data:BGlvfkuWh0iHW/Hj96cZSY66xiK+oChbHzBTpXPLbhcwUYkDOjIF/bjwJZeiVfGwSmfen7ERi6ZjasI6vChiJMCVqdmjShInlaunOEUB0f759kdtqtN6jOKp9ZnMcQ5MlAE3N3XVPhNS0VuBY6F4zwcMeGLDXbZXc7HViUjKtJd+8OttLGgmE7MMjJ5+/ajn42JaGYD9Q6Bb7x4ibb4J2BFRO16m4iH0KQXEoWb20ikkh4H4EyC0h6BgQ49G5hnJIukkziASwDt1dN6NNuRU7RQSkPYi20x35tyDx2u/GxHAEZxdL9S5BHQV7PW4OyP7Kw9pOmVSFmrIiHIO3V1Hf2O2+Tm2b1qtxkZagMmXjMOyurtAoKlfXLIpEdXumSWZivFdnkfyXrGp8cvlajY1fTG87Q8n/C78AJ/Z8oiwN05IursUlHbSE2xWmoY8IEoLvphfZSZ2aZoeBUbe0+sjnK8Utkd2vInwhZUaPo+78jmAfHtcscIMzzAdZV5u7qkelkhDWOuo9ORKSbZ+MqcuSSNekUqIiA9UE3dnkYLgVtM/6B08nU9i4HkzXFyHh0AqmOMqdSBjXXSdAMPV+AjadNUGdyE33lTzPQun6VfiUNuOTt1NCD4IjS/fklvdzKuw+xkIZ/VhGEIr+FNxJJUnT6gDHKkAXLVotXYXwBJfiWU=,iv:10/6CnMbjNucMtV686xPWHAkFVzzl/SutwG5qafOtO0=,tag:UHFHQ7swB7kLS9XkknSKKA==,type:str] -MAILCHIMP_API_KEY=ENC[AES256_GCM,data:DsCvDCEZ3fHGc6W4XMFdN1OHLi1zC9+fwAToBOOs7PFO2z2V,iv:8XOGBn/W0OyhbLO2dYre0ukgk9xX40u3M/vLttz3BFY=,tag:7YNavzArdtVh8LoTKKf2ew==,type:str] -NEW_ACCOUNT_LINK_COMMENT_WINDOW_MINUTES=ENC[AES256_GCM,data:V4k=,iv:aqYkd18RYpa7kuuzbpAmSk9Vcr47BW8kIZm9gKEwEXU=,tag:RIsIsobpnql49/0WX7ymVQ==,type:str] -NODE_ENV=ENC[AES256_GCM,data:KwOcuP7/y4p1EA==,iv:T989Sim7c2uyqTH8uL6yeAPajoYJahzFemZcSyI/Sss=,tag:mkChCafe8w2VZy5a52tRhQ==,type:str] -PUBPUB_PRODUCTION=ENC[AES256_GCM,data:XjBuCw==,iv:nSFjSKPbf4Uu6hME/jDQxce3cYH1pJO8DJQMF1NyWKU=,tag:NmH5qyOtM96tX5EDIR1cTg==,type:str] -S3_BACKUP_ACCESS_KEY=ENC[AES256_GCM,data:/QG2ZvWm5+yRLQ9jk2WoiAjJMI4=,iv:8zSs4ZHAVpf/ZHkkugQqrpCQeF8aKUCOwEeE/Xoknlk=,tag:JIMyV0NLIZy26dtgrTK66w==,type:str] -S3_BACKUP_BUCKET=ENC[AES256_GCM,data:ahjpBwf2y41SpCM=,iv:fUODBbghyloP8U8PbKACtr55E7cm1UmgC7CbpTHs8l4=,tag:LfgUFA5rGG4zqw9JMb/UTQ==,type:str] -S3_BACKUP_ENDPOINT=ENC[AES256_GCM,data:ovFYPVj43nPuTmg/UtA1JDtyUxToGLuGFMZEVc/lbEmfeqI=,iv:rQ+oqx7YraJkJMBB39GNaHAQtI9jUAeehv0BdmWBUts=,tag:oyW7YFacdo9br6m27u5Awg==,type:str] -S3_BACKUP_SECRET_KEY=ENC[AES256_GCM,data:3Bj6Gffv8F9xrpfh6WkEXmDIsCMSASObbHR20oP2tUZfw15q4ev1fw==,iv:kDmAFX4YXr9pqtRJoqtPlucXZGl5mWso4FpzuGo+ZhQ=,tag:Jdw9gj6IXNAdolEBSvhT3g==,type:str] -SENTRY_AUTH_TOKEN=ENC[AES256_GCM,data:PUaTTaw3pyiUbuCm0WDBoNKwt8rUv2gKKzX0sROPDCLfXxgwaCWTV6nZwjxyaryIpsfpL2x0zfvKH/AjnvLc0AFbBO9sU+cCrq3yuQFCuK2T4olrOitaZGbigHpiEtCPM/laCRS5vxGhbENynWM33mz+jHUEsKNFcQOyKzb5U6SibDS5Cs1WeFoPGObslsfR9FinmMpehf0bvHgneEur0kPw7iHdtpDIJf1/1+o9YcRqJwvaaUx+ZVXYVA==,iv:gd5qwJM6wMUOxwXcDZMPUPXbfSRRr29ZMEZX+SxStFo=,tag:/v6LTnbX71Rf6inniPCCbA==,type:str] -SENTRY_ORG=ENC[AES256_GCM,data:5mlX,iv:HYvoEOkVMOTw5I4/5n25G/4VJGp3cgU7TKYFpvbTsG8=,tag:6a9akdj+cQUhusG2gxi5bA==,type:str] -SEQUELIZE_MAX_CONNECTIONS=ENC[AES256_GCM,data:qSw=,iv:i+u6W2yUFvEZhgJwWoMj6sQTE3InQrm781t7b3f10gI=,tag:hEwRJ6hP+66kskzxsf/sgQ==,type:str] -SLACK_WEBHOOK_URL=ENC[AES256_GCM,data:wTLkeHcl5sRBZwS0cN76m7wzK08jMgaGbENvxqLOLDajwV6QcI1s86CGey3HHpef4iUX22ZKuFZ9Q8FyS4x/XwQi1cckvzjznqF45N6BXQ==,iv:yr8bcynfv7ASsta0iyB0I3ex2Yej+lcUE1XdmGkrD18=,tag:h5NFEQ0tWsfCra7v+wQXcQ==,type:str] -SMTP_HOST=ENC[AES256_GCM,data:BUyE1bVMOJEJOtgHqkHU9hxxMcM4BN6se/ErfQvZjvTYkw==,iv:JaISCEPObi0iArR0dr9dqSg6AxIFJbFGGYRewntPFxo=,tag:Lr2xuIvVz9MIwVXvb01wNw==,type:str] -SMTP_PASS=ENC[AES256_GCM,data:jDTmSuleP6u35yLS+u6R7Pm3jgOM1sKTBajDZ9QWZ5pBUN5LdI/X8Kly3vA=,iv:q7OLmKSfYT1ggmF5vL3QijvwoWBzLbsZ9AsZBXxDWhs=,tag:CtAOweypxrewqTLbxEIowg==,type:str] -SMTP_USER=ENC[AES256_GCM,data:pr660T3ADIaK06QaP3WHaD19nj0=,iv:fNEeFbvdPa+QYyXpGGJNkUCZmBvtuU/j2c0w1HLlTqQ=,tag:u83hapQheqPzh06iELenQg==,type:str] -ZOTERO_CLIENT_KEY=ENC[AES256_GCM,data:TnNAGrCWHBPFJn/bdvXBG+dcTkI=,iv:xvQtGH/6zaRL4LgtAnO4zloLBh8SxnHByasRo6PTuec=,tag:8Bg3x/oVwLEroJCY2aA+ww==,type:str] -ZOTERO_CLIENT_SECRET=ENC[AES256_GCM,data:ujfa/HTCpDoosNoa6TxDF6UQM3E=,iv:EdC4fX9W8XdObL35eNRzcT2UgUNmRfH3NAeLgqytAUI=,tag:GErhJOFLqVhia2G3rdJ0PA==,type:str] -#ENC[AES256_GCM,data:tUzJpG36v1MCZVwtDivOa2dPI9E=,iv:XAaV6kSZUxcAj8W3R8tjiAu+ZIKyFaGiOReyBg1x4A8=,tag:TZQErGhvNehnHw8G76Y0VA==,type:comment] -OIDC_ISSUER_URL=ENC[AES256_GCM,data:7FcCegV2iNhxPWuZcXLt33MpOjxKoGZQTzT3lQhjpEsn,iv:/OQgpmtPttmd3Zm9TFUi0U1xaQOp2Jh0hrjp1g8cHsA=,tag:S2aWuK0BSN4f5wupxd9Mig==,type:str] -OIDC_CLIENT_ID=ENC[AES256_GCM,data:rRPEdmmq8tyb,iv:K32MKM7A8mj7zJ1rnKzAYTVaAjl5gEB0gtrdMtCSYYU=,tag:pH7S/4tulQjantSnBr4SfQ==,type:str] -OIDC_CLIENT_SECRET=ENC[AES256_GCM,data:QaSFOmYu68bG0zAjSstcaZmh8jgH36eRKiu450gCFsJomt5+Z7egA8UNqRTvLf6i7FQ+gJvBDUvqSzEpZNuuXQ==,iv:JsTveBXK/CH/gD6YaL4IQ3vyJGujIXmRH4ydmrvj87Q=,tag:qJVn8dPnmgIEQTPpCMPchw==,type:str] -AUTH_INTERNAL_API_KEY=ENC[AES256_GCM,data:S3S2Gq8xnsvlfKnoaOEaZ7Akpn9cZQtazJGTay0k9Baq7uqZRSy+IWjoB2CiYLr/CAtESwcHweY2FcslltJrmg==,iv:6PGhhLcsORNTJH/xFzbZrAh5mx2UNR7bB85vhOYPEp0=,tag:sc0VggJh77D4GtMyKfmIIw==,type:str] -OIDC_ACCOUNT_URL=ENC[AES256_GCM,data:tmhgeJpCj3kX52riHjncNk7nVNBUw1ic9EzSOlyW9HEOr83t,iv:k5+OtNyPHhgBF0XXpaCVS8q5HoJhYw5QeV4q/Fgu0ss=,tag:kyUUke7FJ13UQsJSxG4zrA==,type:str] -APP_URL=ENC[AES256_GCM,data:qNnlTBK+bpluTRPCL3gHGgekA5FtUw==,iv:FMAbRxulpga3W+A/bmSZbrmtaY8Cgmqu4gJMEqSFlps=,tag:DnFx1Y9Rhyho80fTQof3qw==,type:str] -sops_age__list_0__map_enc=-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAyOW8xclhZZldKbnN6VGtR\nQjIvUFNrdXBRTTQ5RUtiNklsaUFOWkZwd0ZRCjNnbjFIZnZPeG1oT3c0Tm5CaG1O\nRXJPY1pSS1JET3BqaGprME4zTVhPVFUKLS0tIHcwemZWbFpTdlFuSHBBZFgvSHdV\nMkFFNkI0ZGFKVEZET3h1bW51OXJwRHMK0LpTnZaAak+N3h58yiSJMzY/Xw44iC6t\n5okiCdXSTB/fl8VJAtaNwqRS93dLwdzRAPO94KitKtYdeQlE2s4tHA==\n-----END AGE ENCRYPTED FILE-----\n +AES_ENCRYPTION_KEY=ENC[AES256_GCM,data:rgAHhz5whNk5s+mVwH7LIOYZsMX47ZWmhPWpDpE91YrlaVHIqUxa9llZ3evkjYYNdmKZi+GEuFxwTsqRKAco9g==,iv:hvLOjMTuG9dqYpxssPV3VF+mbhEWU/8ydQLyhOcLmiI=,tag:pZO5+XklclzE+d80boQmAw==,type:str] +ALTCHA_HMAC_KEY=ENC[AES256_GCM,data:rniT66IjcZ6HpRB+D2VSfEwOiZvQQr9yjUgyIc6G81KvVgQuFQ91I48upeaN5iVVgNpERf72zRNfzJWQvfC4sq3bMq+ie/6r2HiZFNwJCdlx0kgCt48dX1S5aVuNX+5Enl2yt8OUeyfoBQOC2kMPYPK8zKvIbtZhgPfSg5+HXpY=,iv:LfH/ayDqIVJMygqLa+i5S1EebTQI+CnipVQx2gasjbA=,tag:nAv0zRV4llwbqNs2oxRVGw==,type:str] +AWS_ACCESS_KEY_ID=ENC[AES256_GCM,data:1zptsAS95skZa78LxK7i8LOxqy4=,iv:NiVIk+ipe/DVxOvP0rWGBo8BigTVxu4L72cRhOElVok=,tag:qxf/1uJn6yMmDh3vhQkUJg==,type:str] +AWS_BACKUP_ACCESS_KEY_ID=ENC[AES256_GCM,data:sth2fyHwZeCRAyus0pih+OVkvvk=,iv:25hgAWMMVX//KWMgVjVvBVUmr83cndDBVmLyz24itfQ=,tag:dwxVHiDEgeOd2aGnFMLKvw==,type:str] +AWS_BACKUP_SECRET_ACCESS_KEY=ENC[AES256_GCM,data:MMTDXv32OQ9RbIb9sjXuxhjn+/+8Lp3Ko6geJzmj35+KDoLPODOB6w==,iv:tJNRqpyBnHTa4RMKUTCtvfInj0g11/aACn1wVJj+Zu4=,tag:hqPD19ArL9tQR4dhsZnalw==,type:str] +AWS_SECRET_ACCESS_KEY=ENC[AES256_GCM,data:lZuKRseWYj3z3sdRxG7IvWNxwbbbzaiYjPL7P9wuPDxctm5iIYKuJw==,iv:aIy2mx/7LiSwYRaB8zIrVApLP5jZTU2kND1XTgCFGUY=,tag:FikPELd9/d3oABwMGhI/sA==,type:str] +BACKUPS_SECRET=ENC[AES256_GCM,data:BkyoV3MZGZOvJwIDTr8mI95S0IXqYoqaIWyA9l0zXvg2B4vZjrQkgbQYevk=,iv:6uJPWFi8kQXEoFqOkZYPmksQ7YDMJmHivnyV2/tSr8A=,tag:9HV8pizYXhU8uTZ1AfFKAA==,type:str] +BLOCKLIST_IP_ADDRESSES=ENC[AES256_GCM,data:DApRA/t8Oe4kJdCxoof2wVi15mbP,iv:91YXwdv989vXm+1tc5D5ZhNA49YbCT6PKDNJai/vPZ8=,tag:g+2v8iZbTKAhIHDtlETRSQ==,type:str] +CLOUDFLARE_ANALYTICS_API_TOKEN=ENC[AES256_GCM,data:YFZLxoiDtWnWkR8KtR8FO3g+vnHD0Gvs0R72Sbc/ceNyYLFFKw+39pylnris3tW6ywdYZAQ=,iv:Ln7Oy6pNkZdpbEj3mO5CiXF5PThtszvdv8/8QIms9bI=,tag:j9tcPmcsLr440S8A+7+SZQ==,type:str] +CLOUDFLARE_CACHE_PURGE_API_TOKEN=ENC[AES256_GCM,data:RH84ipC4LOEtqKpmudfzzrTdoIFaGfhqDMu+gNT3ovCOCg4PlgVjQpuwBAVDYmZqaEfjfTk=,iv:X0XVhp09dwIKg4+kkVD+jOTepCiR203OtuOgLZMQjZo=,tag:2BX256ombya8ZGEbO6LUhg==,type:str] +CLOUDFLARE_CUSTOM_HOSTNAME_API_TOKEN=ENC[AES256_GCM,data:FfAX9ffup91OYDH9hF/FqJf28f7E2kYH6K+pxcpkb5plrDrMBJ8uqpWsmBy4XYwjgfw3sJc=,iv:c2t5zGZ/ohDdF/0g9Nw1II31+XKo20NRwOJZhO91YEE=,tag:dCgWPqlT0gINqGCq1Z610A==,type:str] +CLOUDFLARE_ZONE_TAG=ENC[AES256_GCM,data:Bzq0BwZu2ll+qf2K7QSzuY5oKCdxyHOo9vYSO8O1g9U=,iv:b4HdFl8Wt6+VOM9ytE6MbJfX/gfJldIJuBmrH4xBcc4=,tag:1bRBpl7CiTK/be2y+A3VHQ==,type:str] +CONTENT_SEARCH_TERMS=ENC[AES256_GCM,data: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,iv:HepgG9vKzqlEhAo+SFzRLUGrTds24YRa0pKJ1lR46zs=,tag:kgiFRx9GmE9smg9Al5/sWQ==,type:str] +DATABASE_URL=ENC[AES256_GCM,data:QBjxggR2fBTuQLtntQDFRNlnfVbCWCICM7IDjb997gbGrSRAMf8fBzvDuLc=,iv:rnt4mJUHwLD22+2v+qtD3X2xEbU4WL4RFkpvObLuDwY=,tag:g+M3lZYxg3is+xBNoIghHg==,type:str] +DATACITE_DEPOSIT_URL=ENC[AES256_GCM,data:ICyvDXO7uSEXhhJAyJfKu2IZckr3jthZDgrM3n0=,iv:NyrAfVY0kZkmGLQm1uhBLnyirL7SzWGkWslrTF7x9wA=,tag:XRLWzW/uwR0hDuhtIsiCXA==,type:str] +DOI_LOGIN_ID=ENC[AES256_GCM,data:fUceuAGW,iv:OD+uv5tfdRQpdq2SkFIJCiWPP5fY9I6kaaCIv2zdZts=,tag:drC6y6X3sSIBcKo2mBjqDg==,type:str] +DOI_LOGIN_PASSWORD=ENC[AES256_GCM,data:of+zF1zTaUj9uZYUDJdC2XX3qec=,iv:jjVUW4DKTwBTvvzh+k+ksVeiNt6yyK3vSAhG5c8EPAc=,tag:1dWTnx2DnTpDUjnvVW8lpg==,type:str] +DOI_SUBMISSION_URL=ENC[AES256_GCM,data:GCB1khBM3UO2sHLdSn9KjYuT7KdUO3DtKWu6HK2G6cVZvYsp6d+Qhg==,iv:JRLFHwyAVGv4GAdZuLLaBOrvPX4Z8na7Lqqh02CzZdQ=,tag:3o/NgoU2hc+MPJhxQwAlbg==,type:str] +FASTLY_PURGE_TOKEN=ENC[AES256_GCM,data:OOygREj4VAriS9H+Lv6chrYoDw/7RTrGZwe0l2bBXac=,iv:ERaR2JMPlGeVwH/ACiF2glHFzeZZb2cOLjgmRks2M6Y=,tag:1pap0eNo3VE1l3rniEtJyg==,type:str] +FASTLY_SERVICE_ID=ENC[AES256_GCM,data:0QsgDazJ1+W77+l8OrrfunRYV0d4bg==,iv:SZmnW3dWSYgae2Q0xVh8TehT/jybTLK20XLktVwi3gI=,tag:m/VsFm/NLiV3J8eloMukrA==,type:str] +FIREBASE_SERVICE_ACCOUNT_BASE64=ENC[AES256_GCM,data:lMQqRDIdcbUYGSzXrxZRF9EgnvGsaljQBim1PMRSczq8PaCARkUGMYBkfqXqtAmP3TX5BEXkkRm0Zw9sTW//vDlbVmbqzMM6BbU2OFZW1qPEZhjO3be/F0DTrdlLD+xmCB0xU00C0z+hZdtb6Vv86sMTaBnux76OqTTO36qd7ouUp9Pls24HX9l9BpNqsJ0EX9s8J1zNWMFO+19kE0goje2o+JGKDCJEHHeIAD8aNkHzROAxneETGbEPrVvl7EcJZJyBWXbPF92X6UU+vJT2GS6eRJ685WqTv20fVFipANzYQmBSNcD3fXbVu6G0a3WdUPZ7xsTcUGrOjB/3LxaEI17u7+UQDiV88qaaSNrZBIhw+XrPus5QiJAJsxVN2AxGUUmziO5XO8Xra4p1d8SYnoDTwO+zNTGCNM6zb09UYPSY/yktHXldK82CrMQpxBEXzaEduOnncvOoWfTsJSqpX6M3+uRmCFmPo8Sa/SBU0ZZSrAEJ18FcCw20ItL9lIUVQWzzaERrHIrL8GkYbsXGsSsWU1utJOD5kfh4pRZ0L5W+46WTNf3c8D/92sKCIqfTnL7VvVw2GpF92g3R5JqK9i+t5kcPkLEt898+6iPhu43zTbWM1BHEm5QDp8rmK6b3tKe9ashA8pb6fNS61oL/FPUxhPKSIzpY0igLuUEbNqkYMH3+Z2NUnrlB2GWRuQme+pxAksF3P1H7SEatOr6t4AID+Wb5aiUiwGxnp5LeTdpdeAwKZIcQK1Hlp1vWhSaVeQM9GJoiIZnxhxr2AxDF1Di+cbQwMlsOk6jenidrgs6Q2veVYiYlEORTjgVWgIEY0rgQlSyC/k3H5SBI2SCDarMWm/ZLzypkRJunOytuuzSeIeTcVfNqs2a4oI8TYzqQflPWTwq8v89fX8/FjOVWmeMqBA4Xm3+zCAFI7fzRO9ERWXSR5XN9JLrnr7hB7V+ON/BHr7Pq8hCN7aH2jv9Mcwua3camPbkgxbFGTAc18xmN2qmDOA/pxLU8+7DUsj6DYNJU5mSWHGH0oZCKnfeSlnLQmBHpYYYP3CczN5FtgMas3/ideB5cHm17zQXGgANi9fzgCfSSnsjVxp4hKtJYJY3BkucOCbUbX/KU9B0BLW/khPOEcYl0rHKVYjPoxaZSk7qHxgE/N/yTrzpt1vfxgb2I2C+iB2Y3pCZNzcNelQ5fiCiC0N0UO1MKQEVtnZ2RD5t6EEYsxuLlcE/d5kMoic+FK++JzXikKnBKN5TiGZpwODgx3PNhx7pQuDtSgID6zsyqsxk1QPYdd1I3yHMFkxfRR5vKJsXJk0tHukwDYIbNIHnAfyVaEhYFUR9BevIPX1u8CnxbV8zB3fS1edpSh91bjUm9YCKDKAiG2jiLzeIb5SQzm2LDTURqizOMILGwrBOpGxFK4V3KxapZpmm0gruuFlUQE5O45Uer8o1pTQVE4IQ2oKLI0aS5VYPxe5KubdFUgi+swLlm9zv3aLO3FuJ7ATOp+nOU3VcDCexr2b2VyFfW2NJwKsk8nJkm2OxixlPb9XgNbMoDvCMwxhBPpSsDjNJJxoV1ujfzZSaH+7jSq1nZpwVuFKYe9xz1W+b6u0pTeJpcOi6ys4x5o14+/CDyXmuemkeYopgnzlwXTA0/Q/7273l41jxSvnLbgiRI4j5RbEOvdTyhY0UUnPqR5Q782D6ftfY/KnOS3ADOn605SO4eCG45bi7/f7SmcxSaMZzPHkYKEWW25AQ/vFKeFtSzqDFsVPrbWowbASLTQdGhicTYISG6gk6QD71xhgedo1gpjt032f1N/9NJWqlgDcqoy5erLkLrGqXkAmPPFuMNleDUiHOLKpjtPWIIc+7TM/7IWw74FCXPo9X51U1Kaz1MIBOY/cfXPHdJoNBMElMrDaLSS0VCrUdfC0EdNIT6YV4xtBu2VvaIEAnDB0NLfQRXVSUGk6+l0J/BPTAMlH4KaT2S1WB59t6kmPRUv+qad7N0p5LCD9NK/XRgDsXya7tR2Hbs9yXH7LM3JXkXJr5gzQjBx5vyh9n01lAu95T1VWZ8QJNEJIQtEATkmBLJ5bJLV5Lolodf4DXG4YDQsVSZUoaIgbmOl4ADHBgvASyDSic6h2iCenNte4MX6m7/7wVAnSs0rycCrboH4LYuJfktepvNLCz5oTQ16zYAgo9R2/w3z3YpyBAbbFH/kGvB0AgG0QNmDW69MmyCFCi8gGUEhrAT+XtEAIBF/n6jj7wm211iPXRMVxfXCPeXpmMPQAwwQGBDSqeJXp9T4hLdGmrSiJ8EuC4CSzF3f2aST/93DPn/SOKfyywrrWb96ZQJx21zREIJ0hAq7+nDQttqd9xtIkA5DwE5LqmbnBZlgd8K1RwvrhZW0evqq7YmTxoC+CUEY7a/IlqvHy3/19WBZLipngmtdgQyRrjkDquH1AP3jdMEsOJcnNp5Raa8ihRzbm5clbfM7Dj53caKXOAycvfGTzJ/g9pD7Sx/mmetVulQBGWCrmkyKzsm7h4H+KUAv4otcooxJRMsKdEXyfhbpBGOsdAA3RDjqhrEGMyqTQnI6n8YbMtZWYktgMBPHm8Ne7FgKKi9SL6db9m0DlfEAhEuFtkmtZ0kEVwzXIXblQ+QaZCBCNDNljjsH6w4ojygypmjteafHEX0Tm0dU2O0HgVIEVZ1EE/Krxcu5OaafR13iEv1zryVtSIZc4wa9/unsWh/R+foOvUMMEiE50jZrlw1zqv5LFc5QJJQl5pIxGcJnurSIxmgmyC2Olb+cSZ0GY3LOtBIAs/P/6dp4JUWsjgHjgO0/R5r1lCbqkkj3nD1XtODI94lrsopsZ7nLgI7e5biyBu5q9ZYTCjbXw947sTdkY8MurBcxFbDB6caZxlt66AMxCnvBcfE9O7Z73sO4qveEQeDpgfcytSKRnfXBU3t0pfbQyh0tL6JFteClOe4FbWhBcAC39Q4ks3si+o28jF17PngYscH4HleJS6UyriqXl/0IglbdF4og8wPysgs+wjoTDw6c2aISpZmHMiGSH33iXR6phuL4eFADqotjgCvYWn0A+8gUDhAm7Y6RCx9K33EcxXnTXbbabXtaHn2qA5yAd91KR/ikAFjuuuZjUS/XcEyvlCeE9vkryF1hm3wXR7pW0IM8/AaN9uhaUZioUWZRuDJhNCpAKO3Ggo3wFeruQ8WmcJjMRRUH4VcpHFrr5pb1YgdzswPZFdAyCLWLsFXiLHuV1s9KImLTWyr+LHe9Td0ZXJVyLAlaiACVkqt1obhq5QlI2V2j+5yAqd/+swYAfGh3juBq7CmWMbgFun60ce+IH+jPdr1eMNKT12FqC7T6LW0gTklCbI+kKYwyDj0ohflsl/zFPyIq+kgKrpsIrKmziKAnsfPGsW9fvEEUknKVI2/ah+apQxOSaAm+h/xePSeez/FcV2jLaN5V2b2w2aOnem6hEK6DbZywh4/cukiElyNZ5yXzZpGj3uNeh61UUSNZUxh+UwCwwGKm+31DnOsylhjVxVodbROSw1T5BSF8YoUKEF/VfxFjyLViKPYr0wHhTD+qWijhaj07MePUL3rKE9rPO5vGnXDZPOtHECdUJZ4ICuDlxydUBV+mBfMOl1mrN1yWP2R/SUAp0rQSJukY1rmI3DACTb/GHiOgGm35dCtUPAjeLdDFH/Ec2EXjznWqH7B/20n6+MdQCerl8LL2TfqvF0Va/OCUhfZRp7P09SI9NoK2G6dB2WSI4CWIIGKgYK0X09zGSBqzrUr844wR3zK0vfmgUZcF1bsRxdv6ehcMGZHwEvxeOxrK14kxydG1W2sHdjN4HA+DqWY+4tKpcI6nhUjv7G9IfvDiAFpjWxaqOO74nXg/MpvSkVKQf/fP0gfftI6hTVo3NHeMPTf8A0HrUZ38qSBsxhvlGtyDgH4Ak0Zce/Qh7hZffEnjNGl0ABko4y9wUjILMqqbaGFlfQ21qEcCZXDMuhII/ttdKoBXtfudMKsAkWDNMpbZAhM6JtBGraHEkLoJt8sfwWnj7efpOvDkebddWhqR4VHcy7l9dRlL4vo3bnRmcSDpTzA7lltqjzCytoljsrw6p65h4urFh7rrVbJff+AvWuMOcwHFR6UpVpW5NkWlL6AnZVOBDgJ+8Ko/It6Ygc=,iv:U1Djp1uuCI6cEjAIgCixMcyuDq5Gff7a7uX8tRHS1/w=,tag:qRiCP8RegzWTqDTQ+DZKMA==,type:str] +JWT_SIGNING_SECRET=ENC[AES256_GCM,data:xnWhIpvVdLOl31KCHK2/c0xW7rb7qoex/zDIawLuTba0HG/Rk8XhsAoe9NjBZGLzrXSP5dskIF/C4Dr/6jeAolKRqC6nfqlr0/uR/iqx5msZ+JDa1wlYGqSFthodwQTeAhe2DVCW4sxLp+SSwtrgFqP8a2JCwK6fVI4RgcGQtORGUnrRbRuH5DLAG3tUpCHsbdwxU9XYeDxNeJXBiVCCC5AMDx68rNgWfT3fp22lN6C8v8ti2WQbUB9CuAh9OQYn4EQEg095SW/AugYsZuEMxIngPzsSMn6zm/Wf/AigyjRnhii+59BMYIKyhzPnBPvZzm7pYIpgE9N/BS6f0oG6a2HxcL1WY2pf5LUrxPp76GCvpO5SBkB3X594mchA4xpZhKhZJywCBt2tzfeIjGO/0L+ST2rWIBQNBUFJlxFgMFXAX6Ln9uneIEZ3f/MsV9lSGDmRxsZNSx/sU2kxuW0hnGDyd1QIlnq84VXNr7zZbHisvQvQNbVpSuCm4XLo0yZ3Fgn/TEU5qCqywnhZlcGneWEGbloEnHjl8eRbBgjcez2QSqZXv9LrYtUYM5H57H9I+NsMg1LMmUgix/hPkY145E+u3z6YPW+Y1DUTdP36ZEAWFGAogTIP/jxyk6PZGC9rAcxYo1fsMFKIxTTWpsvGcPWOsvexTlMBHTwMLqJWlII=,iv:pZBZrgmuIdviJqB0DfR12VT7cdLEfPThdCmx93Vq98I=,tag:oMENrb7DbpNt9LpDm8NtAQ==,type:str] +MAILCHIMP_API_KEY=ENC[AES256_GCM,data:mlt8XNWNqfkaBg8gembPGDZRxTRNTHXSvv073sk0TK2dUDId,iv:1JmOTAfdvw24vX133cdOttaodJzD+rFmqWTMn9AQ/Ew=,tag:NqzGAJtDBAY1CEEsPLMpfg==,type:str] +NEW_ACCOUNT_LINK_COMMENT_WINDOW_MINUTES=ENC[AES256_GCM,data:S9w=,iv:qLP/bF5l0ZTE+rV763Hi6C9vnhJaSO8H5f0ThM/oUO8=,tag:6jk8k3D4FpSbXgCfAbDj0g==,type:str] +NODE_ENV=ENC[AES256_GCM,data:2s7gXfSfZWXHWw==,iv:Y5tESqY/jkIaOVSg10pBle80LI0RZ3I0nHGkoXKMwzY=,tag:JFNO96n1MiozJ11FKgxUYQ==,type:str] +PUBPUB_PRODUCTION=ENC[AES256_GCM,data:+UN+bg==,iv:0sD1C2HrdZrJBfvI/roqlCLKoyoOjBMOCy3ffZtInsI=,tag:Ctiwke1LT9snqk8akXI9Cg==,type:str] +S3_BACKUP_ACCESS_KEY=ENC[AES256_GCM,data:xpAtJ67TJLjzRVp54IzNFOAheIM=,iv:+V90GLzgO4GZUSdsp08huz6TqLxGw8HBAWmPjpB8C8k=,tag:VYeM5Xjdr1m0IsvY/JDEtw==,type:str] +S3_BACKUP_BUCKET=ENC[AES256_GCM,data:ZgMCknYldx9gMRM=,iv:mYMZC0qUIxaOF+iOWx0/IbCArFkH+5I1ZrFTWmbI1Yg=,tag:yYKnQMelwkJZm/PiM7hLTQ==,type:str] +S3_BACKUP_ENDPOINT=ENC[AES256_GCM,data:9Gt8FI2f8GdDIJ7GlbS8YeCJ5Qp6GCfYJoP7LGkV3q7I7xo=,iv:gwGmsXUoJ0a75NuskzddE1dDLsQA1STiR5r3CZ0iBKk=,tag:EuMqNZJFU5irDN3Nr0yiLw==,type:str] +S3_BACKUP_SECRET_KEY=ENC[AES256_GCM,data:dg3Y185lTktHqO1UEh9i+J44k1pqH+/M8uTvN7FcICpwVoibnm7oWw==,iv:2OT1IvFhSuec6Jho4ASzcWZI5CTWRmSHiJgZSi/T8vE=,tag:+PmS5UzJkysgbULSbkROzg==,type:str] +SENTRY_AUTH_TOKEN=ENC[AES256_GCM,data:pspe9sYHuBgxlsQ1XKaHVAEYTJYi4khaBSh66/2AFGnKe0f8JQKaqbX8k9PYkDHd3WyB0MLoP9MCfZMcg1Oj4XOyR0b3MJ0LpjyIZWX7+L4IHUiytmNdjV/HHa0vYb6VDHZSQzON/3wWjru4UcSq19th0a3wr+m/5Qbhr83VOOqFisb1hurnn/rUt9i6rThs51HVl9G6bqKKihVEAo+aaQsjWQJ3i/68cAMehqHxlQtYqqTdPNwBQUauEA==,iv:WLeW/MwNNzTziMHS69w6HgexeLb6ZJq9KV+o0GuERrU=,tag:jo+Evf8iX9Ud1TdSvr8xWg==,type:str] +SENTRY_ORG=ENC[AES256_GCM,data:6ut3,iv:Gj2fUncRl+3cJ08VmfngEgZr23kXgyy075WFS1zMt0Y=,tag:ZoFXoTk9vNevyYLA0DpKXA==,type:str] +SEQUELIZE_MAX_CONNECTIONS=ENC[AES256_GCM,data:V5E=,iv:z9cie5vCJ0AeNuG9Yv4xxO9T2dx06fH3j/cHOhLTkzY=,tag:0RmfmBdrpa6Ryc2rJ8wZ0A==,type:str] +SLACK_WEBHOOK_URL=ENC[AES256_GCM,data:J4lKwgggCU1PZ1GjvMcO6PYcMn1enlXNp23aSpRs3jMAUYLpl8VC5aXVQ6o3hnrCHd0AWsddB+3dXZED8HeVx7LQy+Bje9rRyAY9OfSNvw==,iv:8gWNBeeW+ltoflHSyWpC5tioJx+gABB7tmaAXRt2DK8=,tag:J0gdsJG7XKezRyfjYRVMKA==,type:str] +SMTP_HOST=ENC[AES256_GCM,data:AjXGjwynwyD21qhWzai6PgSsb2uPgMwenX5225dyWDiceA==,iv:rUlUkI3MN8jW/SBC3mQUD5kcCMQV6N8qtN0S21m2mss=,tag:U9xh6OBQUz0vlwClpG63fQ==,type:str] +SMTP_PASS=ENC[AES256_GCM,data:gDBtk87fVsewAs4j4RUQbNtLj/CzBYqD34KT6/kqNOA6AeXF9OlFkFN9zh0=,iv:Z2l31/qPUs4grcPqtBpqOD/yLHnvQ9d5fYvpcJg2S8E=,tag:K97WyJ8HkvRK5nQUqQdLsw==,type:str] +SMTP_USER=ENC[AES256_GCM,data:V9QHy0ux233MpGDKy/PBpFlddjU=,iv:PQnj/MZnt8+fni0akDg4u6lzd/QK/Bkj8zcJWO9SjjQ=,tag:6kJjMXPN8oPZcLAFoNmTsg==,type:str] +ZOTERO_CLIENT_KEY=ENC[AES256_GCM,data:++VGhiqgPF8f4JR3lq2SG15MHsw=,iv:UfqUeUjdc8iL2YUkwFIilGHCQhVmtAZfa5lp+p0nTyI=,tag:nBq65fdeCLb6DmWhJI0lDg==,type:str] +ZOTERO_CLIENT_SECRET=ENC[AES256_GCM,data:QIsGfR2YjrkGgizDdldEboWvZd8=,iv:u4w38vkLjV0Oikxxh1zpfzFbQ720shUxV0x/c52PDSY=,tag:7H0JreYnt3qXL7zz5Qgmuw==,type:str] +#ENC[AES256_GCM,data:w+2foOe4MvVcC4i9dkKgPTQ3ENg=,iv:i9vd8gx5+ikra4Yv21GKt9aVdnjNoVAAQscYMZBK/BE=,tag:YuQCvL587Xe5KveOyok+EA==,type:comment] +OIDC_ISSUER_URL=ENC[AES256_GCM,data:1Dz5kMYdIZ8vTSyPrOuWSUmahgCnwyApwfrhjcq/jdIg,iv:M2aW/bc/Uydkp4p5kIg3KR+CnBsGx//8/E1YOJ2Tgkk=,tag:TG5rWNiZkKJwwImLHYWaSQ==,type:str] +OIDC_CLIENT_ID=ENC[AES256_GCM,data:aHMHDnK+t2ch,iv:PRI4NQyLRtYE+0J3JxQpCDmCDreXTqe0DaX3kyGLXqI=,tag:NtcQ6I9eohlJeLYEHXvuKw==,type:str] +OIDC_CLIENT_SECRET=ENC[AES256_GCM,data:+rdCI+Nu1svrMeUrzDSqg3A8L9QWG21PHoVKtPPGbwRlub8DqlUsBN5cA7FSyCLW1vMELjHzDo1mxyrGo489Qw==,iv:KPJIPC9zKK2rK3dSidRXQD7WvrJdCJpffF95pFh7/Z8=,tag:Pks8QNjBSE/gpCRuj/C/hw==,type:str] +AUTH_INTERNAL_API_KEY=ENC[AES256_GCM,data:5QroCg/Rmss4eK5EBenbygR+j7jaSjOaW1WGsF/xeHNxeVlz3n36LPI9+SUdxBIWqyI9A2ZLq8Qw+4hOF5zb2A==,iv:AWONuHqr556s+4fIESCeP7FZuRitEcSO+q4mAZa7Goo=,tag:koDidjCUD4LGf5BUictQFQ==,type:str] +OIDC_ACCOUNT_URL=ENC[AES256_GCM,data:XqeNhYz5+B80EQN+kvznhQpkBbEX+Zohll1YDcKyf/bGW/wo,iv:VWxnRV1PDDcn+ORCtYlaVzrIhX4mjx2cR7ItPfybmws=,tag:BihFc+taqv31/skoaqCBdQ==,type:str] +APP_URL=ENC[AES256_GCM,data:GJEbQuBwFHK3Oz27L+vw27d1cNDvWA==,iv:TATOzwkgAqvQbM/Qw8WrB9WJxZeiDVEfcCCxmOOE20k=,tag:34e0NjBI/k/LH1aJnUt0Zw==,type:str] +sops_age__list_0__map_enc=-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBBVGRPelF0Wk5VSmcrakg1\nRktDbG1HcmYzRTVuVTN6WGtCRFdNWlN3VEJJClNyU2VwSUovRElsYWQ2bENDZkxv\nSWJIVTdwVW5ENnM3M1N4Y1NEVUZmbFUKLS0tIHRvRXJFOUNlRndzcGJNREJpVG4y\nalJ3ZW5sRE1SOGc5K1piNk1FMUJLczgKku6VlScozG13HG4pudmwARK8KM5EQoEL\nLBdXdJE6rb3I14Ik0otBRKcvZBGzEy2lt/Job4GFDtv4vFRmNbUTMA==\n-----END AGE ENCRYPTED FILE-----\n sops_age__list_0__map_recipient=age1wravpjmed26772xfjhawmnsnc4933htapg6y5xseqml0jdv8z9hqemzhcr -sops_age__list_1__map_enc=-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBpWFZKYWg0bDJ6QmJMaXp0\nZ2tnbDA1aFFycmh5TDJMV0pzam5HTlR1LzNRCnZ0cEQ4ZGRNMm5NRFVJRWV1NGNo\nc3dOLzBVK1RRbWY5dS8wL240RFphRFUKLS0tIGIxMTV4VGdaOVRhWlBNOUlmbGln\nbFIzdUc0NEF0Ymc3N1RzakZBSDN2ckUKkAdNqWbWaIS5SK1Wd4nMq2eGTttfGd0i\nlgGytU6HINzF9yU7OAeK73Q6WWunHHy9DUYoD3dl8tedbxN7FlDxsA==\n-----END AGE ENCRYPTED FILE-----\n +sops_age__list_1__map_enc=-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBUcXMyR0ZSUG5EVm8vOEFV\nUGFSc3FHSUp3bitLSEY2enJEUG9SQzEwYzFBCnUrdzFaVUtCMlRsZGEzMi8vR2RE\nVDhKemVEdTJiQmZQaGs2OVJ6MXJvV2cKLS0tIEl1Z2I3bG9ORmxoZFpaV0xpQWdx\nMnVVdG1CUmhYS1FoaVNhc0RFd2QvOGMKmaqoCvML23QCX2UlKCEYjUjMP72vTZrH\nxUss53t57hrMFIdFUcaAffGH3iR7rV8IVDs0HT34nChNUW7Y1pNPIg==\n-----END AGE ENCRYPTED FILE-----\n sops_age__list_1__map_recipient=age1vhftscteyrwphx0jpp0yl60xxrjs77jq05mkzv88js7ckc926vcqepp2cj -sops_age__list_2__map_enc=-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA2SXJDTUJoS0NqWVZ6cnRB\nYk9YejhWclVwTkxSSGJSelJJeDNrYnB3eUhnCmprYnRlTElpajA3TEFCTlk5YTdQ\nZWdTTkpyUVUyVVZuNnQycmtGZmhaVGMKLS0tIElCeGcxb2NqdEhwSytsWGtPSVU2\nTFJxS0VsWFFBbm5reFBQRkZaOTVneUEKuMJjoNAQtQipFP9Kod0ejlO1SX9PpWB2\ncR7Q3VcIUf7t5u+pnpJ7e56lHHcaAfiOUQFsShvjjXBLwXTeFu3IJg==\n-----END AGE ENCRYPTED FILE-----\n +sops_age__list_2__map_enc=-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBKVHZQeDUwc0hwUkcvR3Rz\nSEpPMHBQL2ZLQmJGWUNEeEdURVoxTmh1UWhNCnMrL3NNQjBGNHA4L01vcW9qbXNU\ndXp2Vlg0b0lCbjJJelIzSGM5Y0xkQUEKLS0tIEZmNFRjaDIySUxFSUhlOGk3WEN3\nZFBxUDV6bXR0QzV1VXQ3RzFSK1RxZmcKBmdKcGJYk2oK3rWGums7Gh81K/l/FPj/\nB4AuP8qeQcRmPHINsKizWYhVkc5LTqm7z/9DlQBDrU8ZRpqmiITh1A==\n-----END AGE ENCRYPTED FILE-----\n sops_age__list_2__map_recipient=age1slx6e48k7fre0ddyu7dtm2wwcqaywn5ke2mkngym3rpazxwvvuyq9qjknk -sops_age__list_3__map_enc=-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBJUzVqRGJUUllLbFJGSlRC\najM4L2lqclcyVWpYcElVbGlsTm9yaXE0a1hBCmFRcDRXV3Y5RHNvL1VtV1Y4UG5P\nUDdYV08zV1gwS3I3QU9aUlhyV3hITzQKLS0tIEpLZzBPV0V1VVJtRkVjd2lmdjFB\nSjdKWHJQakF1K3ZRZzFNanBkSFNhNkUKTq/DTismWQDjyf+L8fxq2VOiNUCLXAse\nfujiuMVcrYIKXP8yR2tAyylsdDzto/g4e5RzX93/GsMnlvWrPfPZJQ==\n-----END AGE ENCRYPTED FILE-----\n +sops_age__list_3__map_enc=-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBobHpPUFlCMFpwWjlhakxo\nenZQRUNEVFh0RFUrd0EyTWdSWDF5UDdOd3hNCkdhTmo2cGFUZlI5TTNBNXdoeHJ2\nbjYvZ1B0NHJFVHhyeGgzRFBMb3JYWUEKLS0tIENzT1RJaHZrOGo1REZycnBVSFUx\nbE5RdkZ0cEp1VU5jTGljMHdMZUo5TW8KaZIFBY9a1xe5fzNMXqNQml6SspIsulrr\nIxr32OiLU297gL16yWxYtbqZQvOeLf9DMZwo72mONPm3TpJwieOXZg==\n-----END AGE ENCRYPTED FILE-----\n sops_age__list_3__map_recipient=age1vfhyk6wmt993dezz5wjf6n3ynkd6xptv2dr0qdl6kmttev9lh5dsfjfs3h -sops_age__list_4__map_enc=-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBpRXdaTFRLa2F3Wkg2T25o\na3V2aU4zZ0RRYVFoYjI2OCtTWURNcWtYTEhNCkNIcW9Zcm9GR2JOUTZ4UlBUSXV2\nenJNVExldnFBeEZZbzMrRVZuaWRFQ1UKLS0tIEJUMS9QbkRMazJpRE40bjBJbDlP\nZjk3SkhTQ1J5RFk0WDJKMS9tUENrRVkK1d9PJZF74p9GdFrmSLazCXBjgXRwNZ9G\n0QDbPasLQze8o9s55irb8vTAI+yQsdJnupHR8qDxj0AAsSRyl6Nt9w==\n-----END AGE ENCRYPTED FILE-----\n +sops_age__list_4__map_enc=-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBVTzA0T1RrNFVleVZ5T1V2\nczdQZ1ExTWZEdk1vVTJuQ1c3cFlvMHU4RlM4CmJncWc0bE1ZVTFlbzNnelZCbkRy\nVFFtTWljU2tmY2pMdGFMT0tEQUlmbXMKLS0tIDJqOXIxZzNtTlMrTXZ4ZjlRY3E1\ncWV2RWUvY25RNWROOTkzVXBjTWZhRE0KDXzHwWrfKmkDYg3XPoJV068Xh0I393wd\nWkiGVuSXJmZWUH2o4xDP3Rp5ekug8nKDPdsmMZ23rGLbRFN5auG8Rg==\n-----END AGE ENCRYPTED FILE-----\n sops_age__list_4__map_recipient=age1jwuvzyghfer7rx3qtqa4vs0gxyff0sg6pqgmqvp5zlhnpmvrkdlsdha4kx -sops_age__list_5__map_enc=-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBjK0o4TEtERVNlNCsrTG91\nSkg4WktLa0xMc1hUbVBtTS84ZGhZQ3NRWFdFCnlQRmVjdklya3lEamdESjQ4VWpM\neG9kaGpyVVJadjY5cUwwc1NpUi9lSU0KLS0tIFRERTlEM3FQYlM0WjhsZ2dNekhm\nRlBPb2p6MWV0b2dudmNxUVgvcldQNFEKvogefgMFzKyL6VjrbNUWxTMDKl0+CeAR\nbf+3TNzTxurazzgqNRgUheXZ9mv4YKo5Yu1MNgI6Rm0JJwfZryogsQ==\n-----END AGE ENCRYPTED FILE-----\n +sops_age__list_5__map_enc=-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBkQUswMXcwei92TEhOV2xu\nZ1NJUDFBSTg0SzhYV3puUlR3TTRMMTdQNHljCkg5NnJLZXBDM3FsMVd3WFhoUEc4\nT05uTTlDTmZ5QlVZZnJPN0dXdnF2VUEKLS0tIGJOOFVaYk9mSHZFZDlmUFNoWlRZ\nMkNFSXRKc3hUQ0hBLzlZeURPRFltb1EKYwiW+6Xp3+qabAl02nB9FdGr213M1ETC\nFJT8i9X6PvcmMQNaASOf9b1Ch6PjyJvv/20ZogY2JePqlOBK4mv1Iw==\n-----END AGE ENCRYPTED FILE-----\n sops_age__list_5__map_recipient=age1pgxk292zq30wafwg03gge7hu5dlu3h7yfldp2y8kqekfaljjky7s752uwy -sops_lastmodified=2026-05-20T17:17:46Z -sops_mac=ENC[AES256_GCM,data:aysQdMNX85UzCFkaOdAJWm6mV8XSpCA2f86VMGLcuMa0AoCsAf9DClVQh78OI/Ut9mDOPqKr7/UBSUJSVveP5x08vCvXaRTyX+BbSobD1Qfbbx7d2Z66XC7FyEv7dVz+P5LBCSQWBpTGASP9DqWlmen6uTpYJB8oqQc6Bw+84tM=,iv:+RR0Kk8gVnwvtqKh9y/6O92Ymmc2ksvJZnzyFaXaFvQ=,tag:6B2VEwUw/c5cMEaF0TQ4ag==,type:str] +sops_lastmodified=2026-06-04T02:09:54Z +sops_mac=ENC[AES256_GCM,data:ZsiyNSF18Au9JwJtyPY125mzUgMzTe18GRxnxteKJqoKSCxTav9VbzxjpBn8Y86lvivYaRbKCvYWu2OEGcLA+l++4MPNggBfAgFvbDWmsPpaOBXj/CjCykiI+DT4RHYf0k8j3bo9aWPNhM/pu6OemnVZ9WoRPwnD6+jRfQXfWJo=,iv:BR0/IRf/ICDRxuTqTbX6xgV2Jr60UmBYMl14JzJmLCo=,tag:gvRaLvi+SUwWb3ZI9UblMQ==,type:str] sops_unencrypted_suffix=_unencrypted sops_version=3.11.0 diff --git a/infra/.env.local.enc b/infra/.env.local.enc index 7c15703ede..f3632762e0 100644 --- a/infra/.env.local.enc +++ b/infra/.env.local.enc @@ -1,61 +1,62 @@ -AES_ENCRYPTION_KEY=ENC[AES256_GCM,data:vIrqh66O0vIjl5yZufSBw4N0iFFa3aa8Ge4/7fsQaFu7FIaNJngDW9rY0Kssx3MeMTeTSRsQUYDKgEeuguUwWQ==,iv:U1HAoyGkJvJzsxWCvDZC+oasHj85wBFLO/KVQ/L3sEg=,tag:qkbB7uUlIYBLPtpq/oQ5wQ==,type:str] -ALTCHA_HMAC_KEY=ENC[AES256_GCM,data:4OfsN3DoUJW/S/IjG2u1CD6pVVCuimRUC1RLeWV3I+x2XLFVNVFMabRpSdWYi7A0D7Hemk6LDph3NXwrSu/yzg==,iv:ig3JqrQJ1k8QM8TEttythWE2eAbD7UAfSz+D7EWgePE=,tag:vHpOGbKI+a9Uyw8BAoboJg==,type:str] -AWS_ACCESS_KEY_ID=ENC[AES256_GCM,data:go7ZUa8BGf7XHwS9hg3ASw4bRt4=,iv:xY1SlZedf3zJPI5APuWkVAlElVVKY2AoLh19GjNSq78=,tag:mOakCQGa2m51we4/HId5VQ==,type:str] -AWS_BACKUP_ACCESS_KEY_ID=ENC[AES256_GCM,data:ux+kgdwZ89ob5NrOjX8gg6IFWEk=,iv:zEsH0RZF1oWkb8SAct1T6lLp9B0iPDs3IimN4h1wp0w=,tag:V/abHX/etKgXkq32VKbHWg==,type:str] -AWS_BACKUP_SECRET_ACCESS_KEY=ENC[AES256_GCM,data:YTTl7jZpgj4zrkKBFa9TFQmUs2s5EBtUPrVmSJwhCYDAPEgG5cMvaQ==,iv:k2FkkDGsRO4ZBaIi8jC1KWHk9EWv1KjZ7i1INOXTmIw=,tag:1yeyZq+tmarD9Rh1ygwPrg==,type:str] -AWS_SECRET_ACCESS_KEY=ENC[AES256_GCM,data:vQF57pHMG3xzLmyMmH0SSSaN/GHHB6e1Ys3GW6FEkK6pKMffwQVvOA==,iv:MIHd9fQG3jP3J67yGscANL249U/ZsGRoJ8zKvH1CXp0=,tag:LibPhBr9liC75tjinj1IbQ==,type:str] -BACKUPS_SECRET=ENC[AES256_GCM,data:zhX/bJBMNrEWGMvu9Cc4wRG4OIVjFU22kl1t0ryU0e5bmRx6D4u1hy9lAgA=,iv:LAyXrFZqxyYWKaz7bxTnF57V5TPFRqZTY10I+xyrEos=,tag:pgePnfjo+XxOHoVxYzlsdg==,type:str] -CLOUDFLARE_ANALYTICS_API_TOKEN=ENC[AES256_GCM,data:DyW7eeMeX1wJ/1+0FzeN2w/Wzg1kKAZ2JBCbcSwIKdmeSYZGTHCJ7tZRDOPqoz/DRabkDAo=,iv:O39bayrEyYSIiwWKdDo4R1gz2/WC+99QMgySV/CnM2g=,tag:q+yPo2RGjQDzQ6zvwkIl2w==,type:str] -CLOUDFLARE_CUSTOM_HOSTNAME_API_TOKEN=ENC[AES256_GCM,data:cLR9rTfrs6JRgRLBz96yMYt64YB0ASDU+4QissBpdHwrBuS8LqWkUDOl97x+IUL8yh/XHQI=,iv:SemyA3qERi1lQMrk3S5zMvWJn+R+zX/ELfRjlulHLhA=,tag:6Qz+l73w3KSVqFSDnWFtaQ==,type:str] -CLOUDFLARE_ZONE_TAG=ENC[AES256_GCM,data:azYYUIr+jjnc08bnQQwzIVc4HgxmVwG10rLEdMhJJro=,iv:s+de5cZF4/N1QrSK3bYXvr8Wo4AQka08cMzK5W+D8vE=,tag:TdlZqgBc+Y7hdabmK1g7uw==,type:str] -CONTENT_SEARCH_TERMS=ENC[AES256_GCM,data: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,iv:VOce1t4w1aH/6j78p8eOeN9ijamYZ0pgFWEkvkQBHz4=,tag:Kvc7d6lV55muFVebnbOaQg==,type:str] -DATABASE_URL=ENC[AES256_GCM,data:M3oNL5nTiB1vUt4lxnHVkuekQVgYcORiVZI7uHPepq2cIZFKjuf2uBfHfCA=,iv:R8Oy6X06lY0sP91yZMmS2sd6MyUzIX+5P9t0LZ22bIY=,tag:qzxOtwy4Kdab8jcWf+XA5g==,type:str] -DATACITE_DEPOSIT_URL=ENC[AES256_GCM,data:unPKZvOkD9NW5i/qu/+CJOeDw3A7/nVoV3T7Qw++059Fiw==,iv:cO9mI1M3yZ+6WD/898AU4JP2w9JAiNf6Dfuku57xygA=,tag:Osnh7hZ5O5/Vhn3vw7FKSw==,type:str] -DOI_LOGIN_ID=ENC[AES256_GCM,data:692fnKaD,iv:YoJ43peJggSsAhXtInv3AEuHX5uCxqUR2AM0NYNu9Cc=,tag:MJD9KJPtr7MDO0IP5QuoCw==,type:str] -DOI_LOGIN_PASSWORD=ENC[AES256_GCM,data:/zZsrJALUEVltMS/XK5n1gwn4KQ=,iv:lpRBEBlQvvg7lGuddPmqgqMCVgHaacQK3ToNwnlLzOw=,tag:7Ra1Fi3Tplq+AbC3PusNKw==,type:str] -DOI_SUBMISSION_URL=ENC[AES256_GCM,data:afGWmXnlK2v3ovsNWC6LXyyTN2SZkGxyRtmIrCY+PhWdmnq/kgeehGc=,iv:H1bZ4D3DvEWrFPNtYQjD9/ES4qd0UxD+VJ5pJkqm9iM=,tag:0+IB/7bifExa0Y0M9aD5Aw==,type:str] -FASTLY_PURGE_TOKEN=ENC[AES256_GCM,data:+o4L7IcjDsJFmSvU7TQX5hFoDHXuviZi+yiLoOw76sE=,iv:wJTcoR4hs+IS7DmsfFsPy1FV2wNZHugpbkPQ0PlA8MQ=,tag:/gpfMK/9vaDCq31uD5YKxw==,type:str] -FASTLY_SERVICE_ID=ENC[AES256_GCM,data:N6oV1j+eV5/hjTO9G5Cic7kWGZJ1cw==,iv:ZLYJpjSrx5r9hYgf3g6OXAzuPKxwoaIrmWwnvkGSQcs=,tag:jrI6eQuEKniYerPGPYn9Rg==,type:str] -FIREBASE_SERVICE_ACCOUNT_BASE64=ENC[AES256_GCM,data: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,iv:Us+CnNTBLETpGwtnPs/2KROsUGbPpknnu2kb8xtlMNk=,tag:SfX/hQIc8lSgvVZP3Qzsmw==,type:str] -IS_DUQDUQ=ENC[AES256_GCM,data:U1kWzw==,iv:HX2tO/dJrRHNVTG7WEhDzSJ1TgdRAijUHpDfUEAZYHY=,tag:+O5bbrsOODLwaapINpvJwg==,type:str] -JWT_SIGNING_SECRET=ENC[AES256_GCM,data:rzMTJ6WaNqnTKjbgE8ympwqq54uRSGhAB6XfI9kPVoCqZTgV1dROMSdgWKzPg8sb8kiAMEZW3hZXpfoMRvwi62tIBIHb2wRI5hkrkGGWEXI26pQaOpWQsHDQ/9Z6wBQnhX0TZ/vR7c2/9t1X89K86y25nE3WuI4ZJNrMD619xw4wcSkk6DycDV/KwfMitW5MmsP+YMBHtawMQcPvo6rk6N1vvroyry6pGlfXcUSaNrcYm078SnZTRP1kp2kXhybCbGvZo/aCBbvujQcBtGOd6GoZu5KbNSfhmWmEK6ox8C5uUy9QAUqfb+4k0+6WWtivN5ZXaGZNkQqUI9kyxwtq8V/8aGZ0BCsWvUocOHvUdufL/VoJhpEtgSB3TRv3OqEVTtmm7c3587ML55KP86E0kcjpiVLymVXVfDnaAyq5uhKLmea4l8j8mkpzkVWltTji3HWVWnhLEZDMRQa4xobfHyalOQOA0Hi6UW2i9PLfiYuHNO/86qi7+boChT2eAlgX9L68vC1sNXc4mTtcDtnuuLNKzb7UrJDlvG07VRidXvXmBoKjwgoOYfd/8p2PXhOklk92OhTR1ElG47y6/a69O6/YhSq0W3IoUzAuvtO6TN6BtjV7ONrOM4/HPN76nEKcaxh/DFnoacn6Ocx7Es4BoZ++L5oFSB+swTcA13BLPIXF95+D2kP7icvjOjKxazxJkgV3rsfa3+Vmk3clnynnPgU5puzgZ/mkrvz+elbpfe83DYFfYdMm28vt38uOyjBU0prytY1rMPrZRhRW8wOYj18FgKMNVOQqu1z8HOzqcJN3E151wpgoM5VhTYnJ1CUjpOcz46g+4NfZD0mY6kRuRJHh1ylojom4IOixcomB+l4GVB/jqoAyp420aclnkqc6pSue2qE29RcjiR0Gpu7VpGKd1aAKbGrfUCas7pxv8/WmPJ5oT8JoAn90KSSauAJ1ld7yJY6sd9v05EPJ4q/pY4ql5t0sK5LPHdhbbvd99r/VY9EmJ+/rDOePvyiTm3K7L4xsCwKi3XilmDDnJP5VsY/53gqlCziK4MqHaGt5bzhutqQZjt4Cmo/RBetydKQvkLHkEDiLaxwajb6JFLH7FNt412aKDepbItF901jYyN5QEDmaXQC4gywLp1BKQIcL+dfHi1uN7XZVaVSYY5F8SZ45a6DVTqas7fQpopDgSl4EHkbRVFFp0qh0RATlI0RT2OfWfxA6DSlrCqu9n8T31yZU90V8y2vqDU0A2WuizIueeXg2aorprU70ogRLaDG114J9uMJ7xyEpnkb+kz3mJGaqZfntUnNcEZ8kLeiA8qKk++9HkqXdZV9W/9QLSfxzqAFYpaTVipmmHTvFucsRzA==,iv:Oe95yrYzqKonTZC9YO5k7QXBmx3Sa4GEpyiFJzovgHw=,tag:UATqruNo2htBSIxywSIVAw==,type:str] -MAILCHIMP_API_KEY=ENC[AES256_GCM,data:6NmLHYMAm31e/Oa2EIxG3s09fKrTT39nverHS0ZrbHd0ijLH,iv:AiikD3j+u1oaOty7J8fwYsWW5H/6K1+03XEgKqz4KcI=,tag:0BJWnxeCdHG0Lmrha0eTUw==,type:str] -MAILGUN_API_KEY=ENC[AES256_GCM,data:2sN86sd16WtohlMDkjQ0yKuvGgr4j+xIuiY8ULyTA4Jcs/p/,iv:hlTl+AR6O9xtnnykGLTAuI+q3AFMr8k6aJ3Qa2FtlcM=,tag:yMsW1h//6ZlKiifXhK/Y3g==,type:str] -NODE_ENV=ENC[AES256_GCM,data:W2zO+aQ3AQedyw==,iv:V15cRHUEIHVy0Y/nVJutv05OKqjwGD9VmAG6Mt6+xe8=,tag:jPT6EgvFks3NGtKQZq8HlA==,type:str] -S3_BACKUP_ACCESS_KEY=ENC[AES256_GCM,data:IMO8So3hBgfBlqCV1m6FZvmo3uY=,iv:14Bq4IQE7I6LP4XeZdu4Nq8MKkBm7/uaL47gFqIVQ5s=,tag:V7mJq7liFavpyetLuokMjA==,type:str] -S3_BACKUP_BUCKET=ENC[AES256_GCM,data:qW5FvcAneutiqXg=,iv:Czx/nxOW+usXbKREDD3fXACZ4agR5CfOlvRca4hqai0=,tag:PNF6sbkagOETqfbZFQgC4g==,type:str] -S3_BACKUP_ENDPOINT=ENC[AES256_GCM,data:qbqH8J8cJghBiNG+Rrb5CB0ltCxW1kp2I3MARAZB9Gt0bbo=,iv:aPsyr2nrMneu1ng9dEs/AlRktyXaj36SKIIGzTE+KHM=,tag:OpiH7Iparyn5X16/W33AdA==,type:str] -S3_BACKUP_SECRET_KEY=ENC[AES256_GCM,data:S3gFLILtjNIW06pT8CZOJI9VRBmNQn7FiHp/qPUSRstOZmoMRMb9sg==,iv:eJJ4g/afVUiJgGgFl31JvOs4Aw7iCD0dqyD59V4M6wA=,tag:keLFkQoMt5I6xePQDcElbQ==,type:str] -SENTRY_AUTH_TOKEN=ENC[AES256_GCM,data:k+7bpMGRHSjjfkn4um4nj7h4Zz7ha6RZpFj2+tI8HTyoJRsmMWYwYoE7JM1tnrrkLJPX5v8Z8Gx0IyYpYlpdtQohGGzEqmV9FG0weLI+WzCOMMi4j4fHzQRLC8W/QCJYvUhY1FcSw0qTtJXkGqSwrJKMs2XSkwN8SgG6PQGhnoqQKFBG88SQWhVszkPc/X+qVslGykcMPURnUihTyIFf54UW5kLrCVpmZ3Wk/gmuKQ9YNQNaaV+EMWR5CQ==,iv:Crd3/4Ish05R3nKDd0SxW6u26rVr9SHHTGfsIS0Kd7E=,tag:HGSAd2KTUtjSyq1lBjsLyQ==,type:str] -SENTRY_ORG=ENC[AES256_GCM,data:zAGf,iv:sMPG/+O2lap1vfx+jIHRvPQ3/bGdCywABnZfvJpBAPI=,tag:DyLuuy2svsQlNz9yG7Hhcg==,type:str] -SEQUELIZE_MAX_CONNECTIONS=ENC[AES256_GCM,data:C5o=,iv:te0B+QUWnIOwnBhKq9lRpUhkzpwqm9ykOm5VKaXqEKg=,tag:6IzPC6t+VxVKt8f6vl0dig==,type:str] -SLACK_WEBHOOK_URL=ENC[AES256_GCM,data:PaZb6Tnx/EuLix8o1NlLXSdpXeHoRHTxaz70Nkw3vgomscx9dT45UOUqMI0Mz8sRcW29YMqr4G1LbLO10MOwlkgJpECuKsdvbG1B/uTa3Q==,iv:Qak+46OGRxwtk7br6EAuRHn3c2FxBiODugoT37htNjU=,tag:Jsfs+rGRWgA903N3EguHaw==,type:str] -SMTP_HOST=ENC[AES256_GCM,data:/HGDBiGkHHBfuS8zmvfZqq3bFnZ1z/xiag9vlPjT2KrwCw==,iv:iwQCsrrs69jwQW0RoHXr3GT7WSU7rGlUSe4b+MLY6uQ=,tag:BTy3FvSKRhdy54Bwk4Gypw==,type:str] -SMTP_PASS=ENC[AES256_GCM,data:PzXVffQ4YzY13mI4DZTpdaTivRKKXPoNCOKmrfUVeYwhXuWjOeRPr6xyOZ4=,iv:L3THYQEciHtKVSLeyzcUHoDjEGvUEeXQutLnNkbIxTU=,tag:lK4vvOxLg/Z1yUBJnjWrdQ==,type:str] -SMTP_USER=ENC[AES256_GCM,data:b5mxkDDZn8cHzzxqg3L9yiou4q0=,iv:e4wWIYD6HpV38wAjiEr5OtD49xcP9+hAhT9fREHJ/bY=,tag:FD62PoZxRxk/UIiP6PRFtA==,type:str] -ZOTERO_CLIENT_KEY=ENC[AES256_GCM,data:GQ8X1rsoxzkizLXvo0dlr6AEHY0=,iv:a8fIPhKBBqFiWmYqzzK4P3nsQyghUAVjTziZV8lEfqw=,tag:O5Mu5eKl61vehsKtOERvMg==,type:str] -ZOTERO_CLIENT_SECRET=ENC[AES256_GCM,data:tP27hLtMVBtvNkp7OZwnFgnCMgk=,iv:dCfCJ14DzqvGIun3w+WkBTw4ZtXLffxdSH2+w/gkpVY=,tag:0tdEyObg+GeW7JKyGZrgGA==,type:str] -#ENC[AES256_GCM,data:qkhNcd2cpoR7xna7lSMHVYyRkwU=,iv:xuTXXggrRr1SIxoL4g8g7aHNq3Zn/eMZDPGzpoWJSPg=,tag:YrHS3JWvk6AMAaKP7T6d+g==,type:comment] -OIDC_ISSUER_URL=ENC[AES256_GCM,data:Y6ZZZg/KO46M4xN4Itrk+/RKVqch,iv:QzhlB7rzUYQ0qvDQWfpO4g3cAFr1CZv/kVWh8hkTZEo=,tag:jrqQwc6qnAFicPpCocAoDQ==,type:str] -OIDC_ISSUER_INTERNAL_URL=ENC[AES256_GCM,data:GLZtsu+CeDo3bLg+qpnPSr8Vfsxt8Q7SMkkK0HBOgR0=,iv:nLZwEdRR+Jbleut3ydLcK6dkeeXGQr19VKeOWCCMRU4=,tag:n7U5+a1PqTaB/821Tl2HHQ==,type:str] -OIDC_CLIENT_ID=ENC[AES256_GCM,data:u/QSy8R47Bkh,iv:M5UDl6iM57cWfNfbS7c77o13il4PoKmEBhughUA4b/o=,tag:4ejq5eBXuPv4pjeZslgejQ==,type:str] -OIDC_CLIENT_SECRET=ENC[AES256_GCM,data:1owOMDVHC3wU5lISzIUvKwyHvyHkLKg36MRmctWRI78iFK7wI6tKebaQmIOwwlLdvjoVP0wk6nr8vFZHYexIDg==,iv:aN4v5vsdkH8qA9YwsQQXvqDXszqBeUkAv9OQixcqqUA=,tag:wPcjLdEeEivqaX4RgbMM+A==,type:str] -AUTH_INTERNAL_API_KEY=ENC[AES256_GCM,data:VcT4eqKsqoLmYWqJU+YCQxNYjangyvFfslBePwROz8Y=,iv:GyJxeKs6ZO3ZXggu3m9Pc6GnBlXjoCU33cBb3SPrcc4=,tag:6IziFPglbwIPXmURwTeyXQ==,type:str] -OIDC_ACCOUNT_URL=ENC[AES256_GCM,data:AfoxH2PbtJMT1YiWgVhu+zH8PeGn,iv:+n5wB8teZAQ1abEKZOpJL2/yQCW22GHglYBWMZDKju0=,tag:+EgWhvD22GWPQrE19VMCOQ==,type:str] -APP_URL=ENC[AES256_GCM,data:nzoHDC1p4LOJiT162qcS6ejrj2Zm,iv:206a8lmEpzWDQhI+5ASqwWg/a9KAs3MnWiTwjQ3YLCA=,tag:H3i1tj0xeF6rAxtR2sIVtQ==,type:str] -sops_age__list_0__map_enc=-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBxWXZQalUyb2JaRFZzY2lW\nMTZzN2JxdWdZa3Z6NE9mNjZhVFBXaEdIUjJzClFlTjF4bDFudHIvMHdWQVVyWDNF\nY3Zvc29JUHpRaDluazlDTVROeTBiS0EKLS0tIGRLRFpkVDBJYmhUdkhpSFBSSWdC\naGFHNk1yZUxhRUtGZkt6UFYrUGc2Nk0K8MU6bWI+2I1BFuxrgJSA0yuHzIES0XaF\nSpGQXVQ9pSuMzXVc7FuiEBEt6iQN/rfMhgeNSlDH3/6P/s7btfakpg==\n-----END AGE ENCRYPTED FILE-----\n +AES_ENCRYPTION_KEY=ENC[AES256_GCM,data:Aourb007/yLbta+7BQf0w1pm9l+9P/BLD6f1Zv9XMlr6XAe7SnUBR/EfzJ9/rPjHukDJqotYS9ekISd6KlsQjA==,iv:NBRvXuzgrYj2f8F1MsGamTOqKRaAbRAyHyjSe4yJ5IA=,tag:3a3iSeVGcqYc3i35DD2zcQ==,type:str] +ALTCHA_HMAC_KEY=ENC[AES256_GCM,data:9W5xS1SNUvCyqnCN3MUu0J5dHktqJOU/2tfrj+0joAwKy8jkA2j94G7/18EQzPSSpX+9ZYdtlyhfdU4xJWBhTw==,iv:YLsbjCHJzNEckqG2nlJwkNn6X1IgPfdtrtg5XLpUaaQ=,tag:vZpVyLyMCuUOKIhj7KxV8A==,type:str] +AWS_ACCESS_KEY_ID=ENC[AES256_GCM,data:WIquU6Z4Xk8q/cXRdQTTWUqbdK8=,iv:dou6zpYs3A+6+cikXun3Z7AbcyxP91JTuU5JJXEUq4M=,tag:gAMMkI5ovsRGXN6yufkrGQ==,type:str] +AWS_BACKUP_ACCESS_KEY_ID=ENC[AES256_GCM,data:4gjhhZkX29Salnbz6i13kEEmIsQ=,iv:iAVgIOcBl8V2NkKSxd5gzoRm/ByyUR503fatAtvMfow=,tag:iw63capgloMKs7XUOxo01g==,type:str] +AWS_BACKUP_SECRET_ACCESS_KEY=ENC[AES256_GCM,data:fng9JAmQwT5jQ5T/l++M30kzN8kUhMHS4NDQWSx9X74BK48cFaNJ1w==,iv:9tzrlYiyZOpqeDbW5TgN8tcP+0tuGIJ6YreMoML5bq8=,tag:Ot4YfRc/vRjjGa6EYx0TCQ==,type:str] +AWS_SECRET_ACCESS_KEY=ENC[AES256_GCM,data:oK7SKGF0tTenLqA85WWoDn+wOZeSvJERjL+eLZako7TmAkCNrMcCjQ==,iv:Id6xLsEf70Vqv4WF9cosi/wzjQ98WhM3lCo9Ou8sK0w=,tag:bA5lytnEc1gLd84iaDjFPg==,type:str] +BACKUPS_SECRET=ENC[AES256_GCM,data:BMHc+70bVJ3tH5/7OZjPmWJGrB6AJAITkZ7U/pHZsMM0xLNHW7HtWEb+/H0=,iv:7SctKTUE5o950GJd7HtXe8MtdQeK9/5UIbo1DIU/ajM=,tag:6kWlybZG3U6FYr8zIvwAGA==,type:str] +CLOUDFLARE_ANALYTICS_API_TOKEN=ENC[AES256_GCM,data:cWQtg0qOR2aXCk7wtKQG4eiX6CNPWp84greEcxFr3rOMnmsy+HcjNcmaeAKAfmbUF9/mXlU=,iv:rMvPgnZd/EXBV/B9sAn5o8JAlcSFnOMy4zU9T8s0D9g=,tag:cvLYFzUDiyuKyAPyIOnpKQ==,type:str] +CLOUDFLARE_CACHE_PURGE_API_TOKEN=ENC[AES256_GCM,data:WaQOzFgl/ahHR4xwSBooa1BDjKkL4V6dY3Ci9ea7fSyNX5evASeOFNtS1EJH32Yi/3Avc9Q=,iv:u9vF10sMroBdOxbtkZ+ZZLrhyL5ER+rxx+TDNTuvA20=,tag:DuKgBB/pHzZ4PnrCgzWQQA==,type:str] +CLOUDFLARE_CUSTOM_HOSTNAME_API_TOKEN=ENC[AES256_GCM,data:ddRSuaB5CmepHHCI5qcTwWCcEAnuRsQATXXpdZRYIN0058IU0joakXZETl43TXZEbhGk81o=,iv:JZlSc3+NeCMu4zpBO4NmKzlBLoTKeHZQUcKoPRYNJTM=,tag:PPkqnUs1CzC5MT5jKX+O8w==,type:str] +CLOUDFLARE_ZONE_TAG=ENC[AES256_GCM,data:5/PEuQhz3gkcR/sr/A3my3r6zVfhXWcbcvvTqKjbfC4=,iv:p2Ly2HkFzOR3/xU3GCjt6qlihQoKzWMw0tnokMG0AZ0=,tag:OKOcUEXcmvPJTqjooa6H2A==,type:str] +CONTENT_SEARCH_TERMS=ENC[AES256_GCM,data:2bbrpkE+S5sx1P4RjS/xRpc2KbMqGr0CMuJlfsk1uOipDkNrl4WhVLyjyw49hfDzCjN8/dsnATSuM/XxVSyfKrF69Mi9pY+hfd0Tn7GnRQqlZaJ0drXK3knfACUfB2olsvL1I1rmrsI5vip9NHrbzeU0OE3ouuY6Z/o4dTUrXKhTDWU2Rm1xnLNzkSeFBVM9Qt8pzlcKJP/pKkbUsYD5F1zScFgoxVCLhjOgENmzMyqIYIiQGkQjjueyNlRmhA7prFytil3UBc8Mz+Rx9F17bKUlrz1EnHLE8u73ULPBnd5soEvMRaJqqXMkiMmuVG8ux/tq02Ap76ObNbVqEPC/oe+srWkbu4nWI+eKOOOrnBMly92b8mfIVg9f64V4Av8FNYmrnZZ9gzspbO2NVYSbTTRYUR27VDAiWfAUa018k6pn0Z2rByQWyHMPDUcPcS3/0Jlfhf1tGvhB19V7hOAmxpb3O5eW2SEZ2ENAC7/iR4eIywb8+oKAFjgaC1zH3Q3eMSc735IdEWIbFhHYgdJDhZwzW7VyMv39naTsVhZWaciHg16rPbWXdo2k7EryrgGVKC/W7FJJ/P7dDy2sfO3Oq+R1325pnroh/OVJZE95HE0TApCljdL72XCC2gXwJobCWOOpHkdxLHlgD390Wl54fAqxej3lvcGAaMgbeH5pZ2INBvSLg261jcQPzcp96s9FJnSlgBA9etassAG5/OuZlzkKsiCi/GtL3WScIOZ4wNUUsFpxSRdU2TnqkKrPG8U1oZ8v/GBJsMX+XZs/vvMjVxagvnrmCds/5rRY/rmC0TeRruvecFoekIZd/AsMKZ9rZTAMPpU1vhvFKW4G1wxXg05ad29AeFHnI8N0On5O8DYhOncPPkvDjCYD2TLlaPelA1oRtKR2lw3ysdT2Qok5JY68dbqc5smeMOV9ryiaYLqjqP85laagjgtenksj0/y6Lpri2GLLNO59zAUUHnQbdTtupYYP70prMRGea3E2nrHUGN8GO3rpn4wQh7ptkhrXI+IrMElj1jSRnlUvqj1FH9r6m+3IN6vytSLsHvGEUN0aZ9Y98gmUo4QmpW0ZfoE9vwbh49i86tOj0oSmHUtLut/ZmFzAcmedshv47QlkRiJ3/FFrKSfmWg3UwP0li7j3QJrF1O/j3Lbq4aNSgpg6waT+QouJiqGCGPKnN6SAIjLJdxA4XTwjREivtabt3QiL9R6YSeXd+NUuHlFZeGkmbOfDdwJVDNQT7KI+79kUCn+GN8KtkYy4xLA35cLZKHow7lYgvqjE6Eqw2S40N6KGfVhj8I/8y/hm2/qoUPu08B9eR4SV99PTd2PdVG12euxsOCNcWeHQYeEJtc6RXceAzQrDOiW4Ncc5vfTD/hlrnUEQuc9UnUbpG7M9Aa61Laq6c+sVwVfXv7QowWuBVylXsv4vVWrlxX+6MADrVSmRsgcGtQKYsQuR4EW7mX+2DbofwSzX8nV4qKXbY2FgP4N3HXCzbbFGMeqMGM8thsx2QkWRVa7cRExQCFnk2ZIwROhbUK2l6LWTf+3pF7+w6xNeWjJ+TzNKQo5p98LyN9j0U8o21mHbTScq+fnfprwBuMhYYGIFQNCtASr7kuNjPfAlS3lBaoLvXQzIxc5j6rSjSR/xBlG3LeTNUNoU8x7s8JbxJRdnPXklALlm2UlDjybItwhT60sgLFkLEWg7ehY9DAF3TJfhInzPJqAAp10MESzUCl1t7pIwHlZV+jjDVGkrcV+a6uhZTH2pYc8DqwSU1EiIQf8jIsY3FYT0PvWZMsed0Q6qS5WwSj2xj8UeyeAY6A2ctiseh/6rdCmd0Hnzuo43kuedgtOdS33tAWdfUy5r82tfuj6wPRBRSfvq1OMpkfm54hW7e6OhSZVe0Fk5FBGIqvMqyMK37VJzidjE5XxuCT+2yrRoIpqNzErXPrTgb67oF9Ymncguf4ppONGi2Wk6XQCUz4L1KSnnKvyKdfoUaAatiebjP/U2XE8FecFzvUgwySUgaROzSYD8yOODgqM7NpmYRNRPwpVUF5aYCzWF9024vrBJkCJdzmAVtZGqqNlAZIHn8iciMylFa8aqhyhmGAmuTsb594M74z8Tmb3WSwWIPq7/+jrFyB5uOgy+ccYkXzlqtJbhEz3jrGDeEVz6pO5dQEK2MVZzJE3rDue/FxZrQNH/5pcr3G/FcMt+eKw88+CV9A3iUV/CPSD+Ls1RKP8NWm72fDgwtzmXOuK9BSkimU2BcxJoErWqBo0kCthQWTfYWZ8fWKjFEjUXc5WFoXdJ3eKBYKatDiZKVkkKbKhzV3qhLAjqLDBM8iwenBK8cnE2Gcuwee7yrxKAkFFIIN7dB6RsHqNc6zPAkqzCj3394NLVIP2n1aLp+UVkRxB3hzpEZjn3TsDZqzWhVvWULsUVcPmMYz3DRLi4PwXd3AF9KP7DFvMFuLvPooy8vQBsTPAyCwxhLjQWpMorT4gsXFMc5J75c2WgjYfk4rasWpsl5YVX79uWNwcui8YRvBWYWFB8foyTE7sH+YOzn8zOIDVH9i0Uxw7jWuRBl2WdxTN+i51JrgM8GX1T4ag8g31Ta2pPhUUOZ9TA2kAre7dPzsrYQeV/i44Lbifs2mq6fHJrtHz+jQCn2Rhv3qRIFi0DJDZGu2XLiGqmGkwipi5nqZQ5r+2vJPreHLmPzYFNl0JMsKNNY6q8wJ+iCfPmjR7zMTkeCmjlYAG2weifICPQeNXFJE3nryys97lH0Q+TdMwqAspvnTzfmMfeZmonlGAW5CQc29tFufbLlb4d2wKgsrCy743oxmCnr8so2xM7aC/G+sBmG+TI4o+ukMFCZ9qE4j9kZhBQVBoJtWGhXvM6tzF+2qipsDd+oHsDo34kDBOdDn+vCRKxWIns93ilm+0k+bfSAEwTil/RuT/DtznDpIayAeUq62IPbqZtFv6ytjX3Vc17A6PICt3kVmszqUo+wKBWNxQoKEa2lORpVQaIsPsrkJLbBFWkS4F8H4sBCH7KJZZ0ZxMXiMkTkZVQ65EPCKutpOZbVi5Pq0qLS9cTiJ/k1sAwNmnN9HuyjVIVlp8iX0DIQbY8zu0WBFqLp25suEGmrTgeQbhFUJPFQBaSGbkYaseHRHOYyQmcKGE3LeEt9xrstPfCqXDmMpBUWkaCOTILAD19tAi6r7mrnla/EQHqJIsyyIqhXgCm44aRhZ934qPRmGi+71l2T6y/mBOgnHMV2GVTpiEichUjAy28eqoLGMCn1CWI1H3awmh12++LimOcvFZ1hw1JMQXtH3cXeIjWVlPMy49TkWrcpTXRcGUQVJ+1AXuKS8irIKoFrkQ1ls5GbYCD7cWVPh0/kxXG0RjhGS2rYJvmO1OO9xkmtSwq3bWdgk86uIKnzoN8y79xGG7Y7RajOMeHC4YM5Gp8XdlI7TA5qDGltQaHrxpMd0VYbslhtyQMurGSutjPg8gTVhgQzo5KvouIQ4S30nQ/S0DriyqT7kOw5b+3BjBz4Frr44XF8W/NU7Mzghn1Fw2PS9QLkQrZEdcb18bJuyz6J3L/93GXplC+bViBEo44vH8521/j6A0BeAVVBYnD1M/BnUP5DGXhf+m7shrqhoR2UYDtjmtsBYD0f5IFWX2lTgaa5itoJ9TaGindHK+GzT7mYcAj+s6skvNwRSh+eqweX8EaDO4ZUUrfeCQIYWGRqNJRcJYGTIsk7eisWttKkUq1H/9E+2F7RO1brhzBwFdbAtf5sqoAquBO/sA6khIf9ZGQgdf/tAA+jENgEklsN3OdB4JjHlda+XLHNdY3+Ylmtz0F1oEYwKybFk/pcbEHU0qamsywtA62GIjm/CiIIdP6zY/2ydP1S/spKb7JzV4xAu9tkDWuOejw1svvQPNBa76k3GvM/7bMJgC8L5eZT2KvyRDcuz6zRdP+7RaeGxO3Yqp4HJ66QrAhlNI1ItA9oc/CfFAUt2dU57P+YSp213voLhl4d0mVJxb+T2sDX//c9LMiSFBigWNNsxmLf/QTQ1vvhBBzr1wXXI9LdUNvyguHlIPhuWLgMi8L126D1Pl4L3g6ulE=,iv:HKej9ILXOvtz0xWwgy88M0HGuGicsJb14DNIjmSHtUc=,tag:hjRz1LcsbwtHEQDtLLYqdQ==,type:str] +DATABASE_URL=ENC[AES256_GCM,data:DJTfIutPY1SxcyY6ttkQWRio6ALtkXYE1NRDujuebL0H3EiKonjSs9W1zW4=,iv:DjMNF8h+9BQ+ZA7vdnmyDRxi9kVcBwHj906xeE8Amq0=,tag:JDwkOMB5SOSkJEo9v3f52w==,type:str] +DATACITE_DEPOSIT_URL=ENC[AES256_GCM,data:NQ1/8wtjyxmzKJkfvrt2+nw6fI/GfaAlAGAXl8w1DaJjdQ==,iv:CD61YD3w5ZUiHp94gFyiXdxG3Tkjo2bGti/4Z6a5Icw=,tag:gGLbUqTVh0oHiCCgTA09iw==,type:str] +DOI_LOGIN_ID=ENC[AES256_GCM,data:h2t8n6/C,iv:pCylETgy+rDS075rMxbE7TiAtvty1F3wX9YvxW+vby4=,tag:Lo7u3VlK0YpzuPZ0M6szAw==,type:str] +DOI_LOGIN_PASSWORD=ENC[AES256_GCM,data:EzSkDD7xspzESodVtvtoHQna59g=,iv:fRkzmQ35bUSlGY9MemwCYYzcJ4R/R8PxGCQmzq1+1Og=,tag:eIlmvyUdPhqn/cGgCFXMUg==,type:str] +DOI_SUBMISSION_URL=ENC[AES256_GCM,data:5ho3qszyoeh8xsEgZUOdSetTGJxp2qS6PfBtCn+Xk7Dg0/g04FwpgHM=,iv:DkeRkRLv5Xpas5tPCbfoAQowPkCJ3if2reDEfSfIQZw=,tag:7LAtOEkqwy3ZRz/6H509rQ==,type:str] +FASTLY_PURGE_TOKEN=ENC[AES256_GCM,data:QdNq2NJjG4qOmv2VcNjZX1cBnBxAU0bcSPg+zt3hw74=,iv:28cHnXveXgIh90uLuTAsjb4VpjK3Rg8H3PEGkN1zl/U=,tag:47YqXLtO5fwhau0C9U5jpg==,type:str] +FASTLY_SERVICE_ID=ENC[AES256_GCM,data:SkvuNGLRbBnRYkoeQHh5Jg8PwMpS9g==,iv:e6xF7XQp5TI51boVLlcFCd4vVWvmtFMHCa/4SOuf9uc=,tag:UaBsGDYxlSP3Fz2pFd3LUg==,type:str] +FIREBASE_SERVICE_ACCOUNT_BASE64=ENC[AES256_GCM,data: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,iv:FnCA4muv4Jw+cpGUcAytPH1qg/o9wl5zRgHAmwGOF1s=,tag:MYlyVBOxyg19vUYghIbNig==,type:str] +IS_DUQDUQ=ENC[AES256_GCM,data:JZtxtg==,iv:b5cEjrCDCQovbV15ZKZ+Tz9cS8DdhpFnyUWggffGwH8=,tag:Nr51w9F5NJ2XHsG1ccRYqQ==,type:str] +JWT_SIGNING_SECRET=ENC[AES256_GCM,data:uIJDsZqYSqulavJGSVuW0IjvIO3u+aN10lfp+xq1b4y4gbm117jKZVy+QFtZ+QZlWwyA18eSCMPYtp3SVJIvsndyXDw4c7tRTKnzjc0AEdKAUGBuXnekO89WC+wiGyPw3aoO7MdmBAqinNy+8+gdAij0lfKvd9f69b78T7pSjkIUgV6UEhl2RGhosc8yFmNisKaH6/O8Qrn42CtZKb47AJ7fN2KnkFw9RpklL0dRTAzl9/077BIrUIf+/adgWRtnOCHQtzUTvXgJBKO9CnskjFqEVaCnN/yCxi9hVcOnt4Pp9qWTrR9jsVGsZT+O7wzbZsLy78ByyS4PkVZGQ8UxAIYItpSJA9BO3d5RLpTIVggQp6ruxq4ToqMmPXuKbE/8fxs/xm74tEm1PyIF99xbvWCoXxxnq1XIxuzS+HqvjV4C+Fte+L7sAjTA1qYHEypeYmRKwedPeY3Uw0CpkvEDmIPy2RqEodvfJzOU6SWGzJMmq/M6NNqq+9h21+7JIojJ7poUIcsOUlFX1MjhYDJ0Jr/gZFxSlGII97wwIkjxpju6JD/3B9ab1cYNyuuNX6Gc7oHPYW/LsfDsqXOwGlIZgdX5IxGhpC4Sgu6s7OOEAZ08LPRPDGFEBmGDn0as5SWRawlTY6YFX5FvdNPqzHY7Smf1mmLakqHZ2fwQ8uwFLZh07VAdIWWNs6QkJvVfXcNTuYYDwh93LtUAM0sO16s6+mCg5Z6ONITk8AbnUPO92ZXxlhAxVKCZoiZdsD5ty51J742s6AJwxfbM0xsqM0SseHoaX8yohPN1/nNuYZp8rVnBft4AlMO/qhrJfhnNZNVBXgX6KIWIwgil9wkQ2mLsi1zWaWtKlwHiq5tT3i/3s1nFfzKutIozDP6AFjc5QeFL4rSyFmqbNJq2sLAjjpOcrYHLFPwJ5a2LKg7lEdELA4yz8zc3DWWOIvNyJDE5E2xMpljTtGYuHSlWpjKrNU21ju+rZuGMfSLtJUu0DYEkqx3LkqYCwPfRerTPoroxpGGdxjSCcLsiJgLIgBnwTCxUaZT70oulTDAFohrwCwcyEl6EaY0GA7AHc6nG+qw4VMndxf3f2Xx8ENc1TanuHSa3hOCEbfPeyt8u1Ti7BAAmPxvLXRBEQ0bPf94WD1owTwA4maZaO8hoGXZ0cNaYle+dJta86rM7we0Yb8TFxQXdQstQ7a2nOJoRMsAO41EJndn2PWMWFOCLLzOeLuC19VpRVCxcTHMSW4GOhD96Q2Y7gHX+H7+PqXzojSwzsBl8hzFVDE0u/46bRTPtO/KD+SKiVyZS3dcRTAoHThNsCla9E1FSg3v6OYhSK8DJlOjKygFMnqdgDUfcsR6fHo4VUQCaKg==,iv:RepaX2b5+Gnr5aSqLAwDOq61F0Fdv3TmcORBXSMFJpk=,tag:vfiPk5SdP6+sRwOMcjdmYA==,type:str] +MAILCHIMP_API_KEY=ENC[AES256_GCM,data:a7Q4UNsZF59ZEqBxBKILTSIO1iL5Vg1LZbdSxN9Sm+owIHgQ,iv:nZZLIXE2WjzhhfKk4gVK798pwbYZgPPRfiTsLdW6yOo=,tag:cfiQgqZatDMcT5Deq2KhaA==,type:str] +MAILGUN_API_KEY=ENC[AES256_GCM,data:BpYlAXajZr+BYMYSltLDSZm0kS5U8/JQFgftl/sABLLYFQtX,iv:yslQ4DYk0mkr4bJ6x05klV3SMdXAt30dw7z/B3yhbnU=,tag:C/H/FQj4SrgfTA6iUxtsFQ==,type:str] +NODE_ENV=ENC[AES256_GCM,data:QjungS7Gp9N/kw==,iv:P+QCffn0asBa4Avb9iQZZ0U8crTeOUIGY36DikGHXoo=,tag:Cp9eBbPQcvalAmoMk7Ls7w==,type:str] +S3_BACKUP_ACCESS_KEY=ENC[AES256_GCM,data:3ZsrhOTZUoOqFjZTPZYzNk/HTfQ=,iv:8OEc7EN7HVhrVyeYV/RpUFYarAfTkhxeEAU70NvLX8s=,tag:NEPIrQizr03KcCUb2jG/Tw==,type:str] +S3_BACKUP_BUCKET=ENC[AES256_GCM,data:5Hyb8j/67ZpYSwA=,iv:usKbXDXkh2NBIJX3nXFmzFOJMeaEUxrGKNbEAojTGL0=,tag:nTH03iUKTPqQiS7dtjrHvw==,type:str] +S3_BACKUP_ENDPOINT=ENC[AES256_GCM,data:6MeMRM9880ZsHpxSikEGWEL7X9WXov8L0uc3rKTzNuyp8Bo=,iv:cnjSfDxuGB1OqMrMFuQqyCrQzv194e9nuF2y/bSYGZw=,tag:1dKqUdef91XVety/BU7xgg==,type:str] +S3_BACKUP_SECRET_KEY=ENC[AES256_GCM,data:Ssmv704WoQUZzUYD6fn/a1y6zvkZnLMBNHo4EVyZJmqzZcRSLcF1DA==,iv:NwUvC3jJqdnSaJtYhx/WAHQfkvn3U8OeK+Z5OfK++u4=,tag:C9SnY5D6ujseGDOJ3UwH6Q==,type:str] +SENTRY_AUTH_TOKEN=ENC[AES256_GCM,data:f1bDizhRj5czBDuI6x+PrG7B/f5Eib8gdzEEE/9sXkEbPoKqj1zJFCjGjR0AmSknNCGFXYOm89J5TOGR/wE5pH5QT9dLIS3bmureMKRD0KzDsNC1uyZvDtSDli0UDMy522H+8evpidcWUkArSlSPsQfdzi2V5jf6ygEFhss72KP7iq1oZVtxkmmQcJn3GmOC/uUnFN9l7Dep8X0w2Kz2BBA3tGDH92+f0YwtMq/5O0Uxtcn0G2X4odZgvw==,iv:DUb6b8cPOJba23F/dtyGSeKNBSCtLcav2h9p+ZrGims=,tag:hqFCuiR0io375sQOkCt3BA==,type:str] +SENTRY_ORG=ENC[AES256_GCM,data:D7x/,iv:cJFTDZNkBxK7nndMid6mqp5HgwS3WSFiZC4GkHS3Dvs=,tag:0vAES0Viel0rjtVtMJYzjw==,type:str] +SEQUELIZE_MAX_CONNECTIONS=ENC[AES256_GCM,data:Hkw=,iv:OY4Jb67+QYzs/eDyPa2+UxCSGOeqIBvzw2sGeZiyQ98=,tag:2LPZwJJfZlzdmxBnGuOzbg==,type:str] +SLACK_WEBHOOK_URL=ENC[AES256_GCM,data:2NEpvi9BrIz2sTQUtRg4s3ZlPH81E7EFG6z0wmUZu/Y7k32ODzrzdJdw5F+nNAPtgMDbI143bp0UQzfKVXwI6D5LIQ1h4Zmj/8769RY0XQ==,iv:sEGMMNxQeuSsvzgi2bHQ81FHp9qnyQ3ggSn6OgWGKXg=,tag:hzpsIQPKDbwU57DumUlwrw==,type:str] +SMTP_HOST=ENC[AES256_GCM,data:D35Kc0gLynEbjvJJKTbNglvdgBAmFXR43LLEaBwzzjUidg==,iv:RnkPauABtyXQGlU0hCBlNbVo3wiDWLkAxDDxYB524qQ=,tag:Z1+Z7yO4hpfItH4hSckDrg==,type:str] +SMTP_PASS=ENC[AES256_GCM,data:PQi2jitCdhak6DEsGYzmrbHVIyIOCP+hzEU7ZAgnK+v3BtFOSNZ0x8Hj8sM=,iv:DHerYA/5eWxF4W0W6F6ZWTdJ+fmbW54F/y4MIjNQLqw=,tag:SSF7GJb8t4XGX8H4mk2J3g==,type:str] +SMTP_USER=ENC[AES256_GCM,data:JXvLY35yxWQmnn5So9BlZrj3SpY=,iv:n+BFr/737BdUZ0bF7W7y8UDHnDP8Iohnnsch2gEdGrk=,tag:q2m47Cn7qdjzSDi2A5t0qA==,type:str] +ZOTERO_CLIENT_KEY=ENC[AES256_GCM,data:K2dH5eJi5Ps/qnY1KFF+r+DCgxk=,iv:WHc4N+QOMn0BQxr5clb4qEerGfFVig9UcoT+/OR6QjA=,tag:JIv68MjTKmO998GPCHMVgw==,type:str] +ZOTERO_CLIENT_SECRET=ENC[AES256_GCM,data:3CtSj+qYzOUKYojX070JiE0NRMc=,iv:z3pWJoNsQytpjGHoKGrJWzpkjamREb7K1vXicTUZTCY=,tag:Pi3lqTXa9CNUX1ubc6rfxw==,type:str] +#ENC[AES256_GCM,data:Yrct6lwsPqMnY6wb8Y4ZTCewei8=,iv:KejEi8lIo9ktmL8kifgIqQ2tsveF1/GMOPqoRw9NcOo=,tag:uQOId5IbnnDRvKgxa+Bh+g==,type:comment] +OIDC_ISSUER_URL=ENC[AES256_GCM,data:70nawfIu2ybeLE9Ja0o9h04s0DFj,iv:ixZAD9S3sgqXQWg/WqxXzwBvbDBjkb7QOSrAzJ4RKic=,tag:il8ZUihfOsb3rZBjn7RJNg==,type:str] +OIDC_ISSUER_INTERNAL_URL=ENC[AES256_GCM,data:int4P9IhyBeX/T2An363c3LA4W0T2esynLgUgBAUtac=,iv:7JxxSS4P2JpfFGov/Uvw4CoAXV4uMDd8S/SaxqZaCXc=,tag:xdMy2ri9WYqBHmSHLCztoQ==,type:str] +OIDC_CLIENT_ID=ENC[AES256_GCM,data:gghlAimzxKTH,iv:3yUKz3iuItTalfCZVicfeTrK1rPmX5yKvAiIRL9Ywe8=,tag:ieSY+E2WNuNdsNLecEthAQ==,type:str] +OIDC_CLIENT_SECRET=ENC[AES256_GCM,data:ZctnMM6YRrmf9DsCJuF9FFuem7H267NBq0/Ot8p7kTBpTY5rysIqbP/VtFoMYw4nO6pYaFrcRbn/KmlvrPgecw==,iv:r4+YEoZIKab+mwKvm5UwCdzygptQaleazhYHfFJ1YVE=,tag:kl7TlI4oH4pZVlOH/2u5Xg==,type:str] +AUTH_INTERNAL_API_KEY=ENC[AES256_GCM,data:EVYnKYrchUXmuGQPwcTTnf9z05F31Y3N/6JFF1NJ/bw=,iv:7wxijjC5HWTN4gD8khSMXZU84RGnU6zTAP96yfh+TGI=,tag:HrjRKKO4fDb7ui9GnC9qvA==,type:str] +OIDC_ACCOUNT_URL=ENC[AES256_GCM,data:K9uxCiCKtELP3rrQCzJmVM+UwKF2,iv:VWgTeLZbYgFLPZ65pS6ox9DgdN6V7uuBWR3RiziZDHU=,tag:K08XSGNObtm/Ps/buVTZVw==,type:str] +APP_URL=ENC[AES256_GCM,data:kBu0ra5rSHyTwKEslg3V803FXfPZ,iv:iFlQCd6uVnRqFT0RCPKO5fa4/TJhqgaVWT8h0t7KSM0=,tag:okAVcTCZznwdL5MF4ChmJA==,type:str] +sops_age__list_0__map_enc=-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBqYllwdHlTK2djc1dwdGV6\nNWFVR0pjUmNHR1BQUTgyS3M0L0Vpc1JGQzFnCm9Lb2EzTU1MY2Q4MXdHRkVTSk1Y\nUzFUeGJsK2xVK0VMOCtPNTlyQU5DajQKLS0tIGsrTUE0MzJ2UXFqYlBKZFFLUW5i\nSEVoSFBqdFgxcGNjRUd1eXRZMHlHSU0KAd0wBTbihwtFEJnbIX6VQLsewlXxT/Km\n2j8qByzS5PkG2qNU0YfnEZLsQCp01s/K+WXrf2rUFUWFa2MxhA+bwQ==\n-----END AGE ENCRYPTED FILE-----\n sops_age__list_0__map_recipient=age1wravpjmed26772xfjhawmnsnc4933htapg6y5xseqml0jdv8z9hqemzhcr -sops_age__list_1__map_enc=-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBBVkFkbERML3JjK3VQcVdK\nT3JUMUdWbG1ldm5NTFRISjVSR1RlUEpMUFZvClR5K1BuREMxRmZoVVBPYTRSbm1R\nYmphWTlXdk1FMER5TkdnMEhiR3Jya00KLS0tIDhJMW1HcDBBcm94M3M5VWFVOVNs\nNHY0dFhZT1oxckNoQzR1amx4QndWYVUKgAaoyraxVST7kBjDgtJOvZfaHmP9X785\noOic81S8FsZjmDjE5d6VoxsHp62pjDkUGzyqiSGIjAjKczXiLo7ewg==\n-----END AGE ENCRYPTED FILE-----\n +sops_age__list_1__map_enc=-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB5WmpSdk94dXFlTXFIVGoz\nZ29HOUZZOVNkaFI1ellTWlcwRFVBTmFwZlJzCmpkb0JaeEpJdnozWW9pNXlSOC9n\nQWFoYThXZkVyQkl2cHZFUjhFejRjTzQKLS0tIGFrUGtLQjNwZWtJVzFwMzYyRkdW\na25IK3hPTHBkN1o3LzQrYUFuTzJobEUKT3axP6MUT9R5AVgKpCABTZzDTdeit7zO\nvUlaO+gZsBxgO8QyD2cIokQfq7JXPEok1avMDXaodM+OIYfkOW5gDw==\n-----END AGE ENCRYPTED FILE-----\n sops_age__list_1__map_recipient=age1vhftscteyrwphx0jpp0yl60xxrjs77jq05mkzv88js7ckc926vcqepp2cj -sops_age__list_2__map_enc=-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBSdDdnM1gwR29XSVZoOGF3\nd3Y1RUhpdzllWTlZUXNDTUsyVm9HWWE3MWxJCnhTKzNJY2tKWDdyWXhzR2Mzc3c5\nVURyUE1hZjRranU3clhkVUk0ZVJhbHcKLS0tIGZXMzArS01FYTRRSU9NVmVXU0ND\nZlh3R1JaeXVQcG5ZQ0Y0SUp5NGJrVXMKe/Oo71jhPQNm3owxPHz9Xec9JbqiEjnV\nay9cV5nMINhEPfK3e/R94KbzJbKzbmPDidQPBuMunJ7b91GetspTKw==\n-----END AGE ENCRYPTED FILE-----\n +sops_age__list_2__map_enc=-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBDajkrbHpTalVvZGdZTi9q\ncmlmTlhwbWQxTGE3MmtadHU3WGNxTE1zU1dvClA4MkUyRzdkSGlEOE1FOGZSMlhV\nbkYwRVlUOW9sSU4yU2ZRQmljNjBoeFEKLS0tIGhIR1BoSlloTmhxcXhxRSsyNnFK\nWmRmRVN5VUs1RFBsc3lNenJXOEtIcG8KtjxIoF5mO5+13KxyEpxzeodEq04dcSwt\nI8Jl8JoIlWrH05qrcv0Rb6Tbg/oddYOWG7/yFxT9tCsMHUIAx7QH1A==\n-----END AGE ENCRYPTED FILE-----\n sops_age__list_2__map_recipient=age1slx6e48k7fre0ddyu7dtm2wwcqaywn5ke2mkngym3rpazxwvvuyq9qjknk -sops_age__list_3__map_enc=-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBUVG8wZmgvcDBHNUhOUVRl\nVzRha1JRNjhxVkFCclE3YnBPT1liSmlPcHpjCk1ySDNZcEtUVEhBQ2RJNEZWaGRF\nK2VIS3UzWG82cEhJV0w2eit3b3RvVmMKLS0tIDFMUFZZZzlWZ2FrWVBlRE9ucUdI\nczB4RXliZ254ZHdPbTdlMklySnE1TU0KQKS4xxMWocaTI/7mJkoKLzxaBRq9pTKt\nzwnN4ywFYcyWuNa/qs/ZO3H3uUTZC4DAHnKz5thcTUfTrT7tc9Y8lw==\n-----END AGE ENCRYPTED FILE-----\n +sops_age__list_3__map_enc=-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAxYlJJZkVvLzlwMWlyV0hn\nMnFiVnlXdkpqRkFHNXh5MlZBZkp5eHgyZ0ZBCkVhSXgwdGRRSSs5ZHhUeUNsMk16\nQUtZTWZoVG5UOWprdzhYdUlhWStqTkEKLS0tIFlGd2VXdFI0MXdKT0VNMzdTL3Rz\nMC9QZUMvaFdrUXpJY0s3bndVcGRwR0EKzibFamtTXuB8in5wUXPxuIwfP6xVcWTc\nNbEheQ2kzSHvkDXVznY1eIn+FNN8X/UpXmiaz2M6V3QN74f7r6mSaA==\n-----END AGE ENCRYPTED FILE-----\n sops_age__list_3__map_recipient=age1vfhyk6wmt993dezz5wjf6n3ynkd6xptv2dr0qdl6kmttev9lh5dsfjfs3h -sops_age__list_4__map_enc=-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBWL211K3h3S1NPZm1nb1BG\nRWYza2R3OWRLMGFRNmtMRFRYSjdlUVZOc3lnCll4bGxpNVN2UFZ4ZEJnbUpxSW9D\nNFU5UTZhZVk3UlVSemVvbHZVVW16TU0KLS0tIGtnTldpM0VzcmVnMk9jOEV2c1lY\naHNOR0RYTTBNR2ozRmFod2RrWS9JdVEKgjsrRHjM/07zkVOHeTrpE49/32LOYSAQ\nw4YO0oD9G+Riv0hB+bR6K/XmvJDlfu/QOkW1PgkimIDQ7ZEnl1iiPg==\n-----END AGE ENCRYPTED FILE-----\n +sops_age__list_4__map_enc=-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBnUFhOV2J3K0ZPTlpPMXdL\nM01vT0l1SUw0disybElWcnU2d2I1TFc3WnhnCit1MWhLaW4wWVFmWVRXckNXV1Z1\nWndYd2k5YklDL0VyRU5VRHNSWmZsNDAKLS0tIE5FSlU3akFlZ2ZQcFpyRWMyMEEy\ndy95NHMwdnBTWURRa2Z6QUNWMi9LUUEK7dboqMNmsx8uwj2tS6BRnj7RIxDoL2mY\n/kjr532cEzxMqEY7/GTb6ShhBr5LmC5sG9oHFkOwe1QYxCrP/9iq9Q==\n-----END AGE ENCRYPTED FILE-----\n sops_age__list_4__map_recipient=age1jwuvzyghfer7rx3qtqa4vs0gxyff0sg6pqgmqvp5zlhnpmvrkdlsdha4kx -sops_age__list_5__map_enc=-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBsVkxWRnlxRjVqZ05kSDIv\nMlFSelhjMVJRVHpWeDlKQzQrSGxWenJmdW1rCjJiUWJZTW1yZkVUb3M1aHYwaUVI\nK0NmSGwrQ1dodzFWcXozaUFFWURuWEkKLS0tIFdteWYzQ284aWY3M2lSaDZSWVBG\ncWtxY3I5VkMwYmxYT3h1dm1yYXQyakkKW8obLgS85L7S3sSz4SNmBab34n2HPpMP\nUfwSIEBK50BwZxNikL/exYQq8N537xX/CbLR/9Z5kXjSg+aciI0cuw==\n-----END AGE ENCRYPTED FILE-----\n +sops_age__list_5__map_enc=-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB5U2N1bXB4Q1ZvYW9ONXJR\nRkl0NGhvRGY1VFlrL1l2bmY0Y2w0dWhJYXhNClZZaE80L2E2RUJJQzFWNUZMYWJG\nS3dPeGdYeCtmVmQ5bStXVEpOVFczTDQKLS0tIHU5UFZzR3dwYldqWGFVQ2x2UXR5\nNElkbXdqQUZITU43c21FT0F4RnVkdW8KbLY9uxXvkQyMxJemUa/CoOlJVAuPQ9eX\nK7MkGJswUNdRFKYCWti7NidWJxtP/G1XHAq0/QXrld9yc/TfhWjGRQ==\n-----END AGE ENCRYPTED FILE-----\n sops_age__list_5__map_recipient=age1pgxk292zq30wafwg03gge7hu5dlu3h7yfldp2y8kqekfaljjky7s752uwy -sops_lastmodified=2026-05-20T17:17:29Z -sops_mac=ENC[AES256_GCM,data:uCaCv8548cz57JodHdPc7UUqGpkELBQIoaJpGYivXnLFWz42C4xHBsWB/jJ5cEdSz5JrLxIJdslIpZt+hhAe7PKry+YInIficoVfU9MIzo3FQMJxkrED9wgpNmn3NWWa/S0U00z/qp6KNVmk2J7Bqt3JB6MU/y50ApVyJ7rwtvY=,iv:W0mAYXsBM4M40mTmFrz6kRjU7DE9gBaMA7TCx3JskFQ=,tag:jM1+R5/N6ZTjR7xil3hcSQ==,type:str] +sops_lastmodified=2026-06-04T02:09:12Z +sops_mac=ENC[AES256_GCM,data:YW3hQue5wLd9XpJVZCTLEZMTxsrCJC+hiaFfKU7tu+ORSdBSf8gq3CIlPEAdFf6DCBkft5IJXe8PJLIomZ1FmvJuVr3vuvboBdPlu/HquaG5v6u6fSiRQhbbqPBzvZ9Q1Th03SYKcgpt6DFE69kItYsYumor0bxF/2TaIHYEHqo=,iv:XLEpIGSfpxn+zUej11R0ini/lCxLenLO57q/8QCyVp4=,tag:J0XnFUESNB6YsF28NXBcbg==,type:str] sops_unencrypted_suffix=_unencrypted sops_version=3.11.0 diff --git a/server/envSchema.ts b/server/envSchema.ts index 453dbffc65..ce50c90d98 100644 --- a/server/envSchema.ts +++ b/server/envSchema.ts @@ -162,6 +162,12 @@ export const envSchema = z.object({ .optional() .describe('Cloudflare API token with SSL & Hostnames:Edit permission'), + // ── Cloudflare Cache Purge ────────────────────────────────────────── + CLOUDFLARE_CACHE_PURGE_API_TOKEN: z + .string() + .optional() + .describe('Cloudflare API token with Zone:Cache Purge:Edit permission'), + // ── Spam / Security ───────────────────────────────────────────────── BLOCKLIST_IP_ADDRESSES: z .string() diff --git a/server/routes/superAdminDashboard.tsx b/server/routes/superAdminDashboard.tsx index c52a15ee57..f55038c51b 100644 --- a/server/routes/superAdminDashboard.tsx +++ b/server/routes/superAdminDashboard.tsx @@ -26,7 +26,7 @@ import Html from 'server/Html'; // NOTE: Suggested Hubs SSR returns an empty shell; summaries are fetched client-side on mount. import { getAllHubsWithCommunityCounts } from 'server/hub/queries'; import { getLandingPageFeatures } from 'server/landingPageFeature/queries'; -import { Community, DepositTarget } from 'server/models'; +import { Community, DepositTarget, SpamTag, User } from 'server/models'; import { queryCommunitiesForSpamManagement } from 'server/spamTag/communityDashboard'; import { queryUsersForSpamManagement } from 'server/spamTag/userDashboard'; import { @@ -36,7 +36,13 @@ import { } from 'server/utils/cloudflareCustomHostnames'; import { BadRequestError, ForbiddenError, handleErrors, NotFoundError } from 'server/utils/errors'; import { getInitialData } from 'server/utils/initData'; +import { assetsClient, scamClient } from 'server/utils/s3'; import { generateMetaComponents, renderToNodeStream } from 'server/utils/ssr'; +import { + purgeCloudflareUrls as cfPurgeByUrls, + purgeFastlyUrl as fastlyPurgeByUrl, + isCachePurgeConfigured, +} from 'utils/caching/purge'; import { aes256Decrypt, aes256Encrypt } from 'utils/crypto'; import { getSuperAdminTabUrl, @@ -129,6 +135,9 @@ const getTabProps = async (tabKind: SuperAdminTabKind, locationData: types.Locat totalCount, }; } + if (tabKind === 'scamFiles') { + return { cachePurgeConfigured: isCachePurgeConfigured() }; + } if (tabKind === 'spamUsers') { const searchTerm = locationData.query.q ?? null; const filterId = (locationData.query.filter as string) ?? 'all'; @@ -611,6 +620,211 @@ router.get('/api/superadmin/suggested-hubs/:domain/content-mentions', async (req } }); +// ── Scam Files API ──────────────────────────────────────────────────────── + +const parseAssetKey = (rawUrl: unknown): string => { + if (typeof rawUrl !== 'string' || !rawUrl.trim()) { + throw new BadRequestError(new Error('Missing URL')); + } + let url = rawUrl.trim(); + url = url.replace(/hxxps?/gi, 'https').replace(/\[\.\]/g, '.'); + if (!/^https?:\/\//i.test(url)) { + url = `https://${url}`; + } + + let parsed: URL; + try { + parsed = new URL(url); + } catch { + throw new BadRequestError(new Error('Invalid URL')); + } + if (parsed.hostname !== 'assets.pubpub.org') { + throw new BadRequestError(new Error('URL must be on assets.pubpub.org')); + } + + let key: string; + try { + key = decodeURIComponent(parsed.pathname.replace(/^\/+/, '')); + } catch { + throw new BadRequestError(new Error('Could not decode asset key from URL')); + } + if (!key) { + throw new BadRequestError(new Error('Could not parse asset key from URL')); + } + return key; +}; + +router.post('/api/superadmin/scam-files/copy', async (req, res, next) => { + try { + const initialData = await getInitialData(req); + if (!initialData.loginData.isSuperAdmin) { + throw new ForbiddenError(); + } + const key = parseAssetKey(req.body.url); + const exists = await assetsClient.checkIfFileExists(key); + if (!exists) { + throw new BadRequestError(new Error(`File not found in assets bucket: ${key}`)); + } + await assetsClient.copyObjectTo(key, scamClient.bucket); + const copiedExists = await scamClient.checkIfFileExists(key); + return res.json({ key, copied: copiedExists }); + } catch (err) { + return handleErrors(req, res, next)(err); + } +}); + +router.post('/api/superadmin/scam-files/delete', async (req, res, next) => { + try { + const initialData = await getInitialData(req); + if (!initialData.loginData.isSuperAdmin) { + throw new ForbiddenError(); + } + const key = parseAssetKey(req.body.url); + await assetsClient.deleteObject(key); + const stillExists = await assetsClient.checkIfFileExists(key); + return res.json({ key, deleted: !stillExists }); + } catch (err) { + return handleErrors(req, res, next)(err); + } +}); + +router.post('/api/superadmin/scam-files/purge-fastly', async (req, res, next) => { + try { + const initialData = await getInitialData(req); + if (!initialData.loginData.isSuperAdmin) { + throw new ForbiddenError(); + } + const key = parseAssetKey(req.body.url); + const fullUrl = `https://assets.pubpub.org/${key}`; + const result = await fastlyPurgeByUrl(fullUrl); + return res.json({ key, purged: true, fastlyId: result.id }); + } catch (err) { + return handleErrors(req, res, next)(err); + } +}); + +router.post('/api/superadmin/scam-files/purge-cloudflare', async (req, res, next) => { + try { + const initialData = await getInitialData(req); + if (!initialData.loginData.isSuperAdmin) { + throw new ForbiddenError(); + } + const key = parseAssetKey(req.body.url); + const fullUrl = `https://assets.pubpub.org/${key}`; + await cfPurgeByUrls([fullUrl]); + return res.json({ key, purged: true }); + } catch (err) { + return handleErrors(req, res, next)(err); + } +}); + +// Keys follow the pattern: c{communityId}/p{pubId}/u{userId}/filename +// The /p{pubId} segment is optional. +const parseIdsFromKey = (key: string) => { + const communityMatch = key.match(/^(?:_testing\/)?c([0-9a-f-]{36})\//i); + const userMatch = key.match(/\/u([0-9a-f-]{36})\//i); + const pubMatch = key.match(/\/p([0-9a-f-]{36})\//i); + return { + communityId: communityMatch?.[1] ?? null, + userId: userMatch?.[1] ?? null, + pubId: pubMatch?.[1] ?? null, + }; +}; + +router.post('/api/superadmin/scam-files/check', async (req, res, next) => { + try { + const initialData = await getInitialData(req); + if (!initialData.loginData.isSuperAdmin) { + throw new ForbiddenError(); + } + const key = parseAssetKey(req.body.url); + const fullUrl = `https://assets.pubpub.org/${key}`; + const { communityId, userId } = parseIdsFromKey(key); + + const lookups: Promise[] = [ + assetsClient.checkIfFileExists(key), + scamClient.checkIfFileExists(key), + ]; + + if (userId) { + lookups.push( + User.findByPk(userId, { + attributes: ['id', 'fullName', 'slug', 'email', 'spamTagId'], + include: [{ model: SpamTag, as: 'spamTag', required: false }], + }), + ); + } else { + lookups.push(Promise.resolve(null)); + } + + if (communityId) { + lookups.push( + Community.findByPk(communityId, { + attributes: ['id', 'title', 'subdomain', 'spamTagId'], + include: [{ model: SpamTag, as: 'spamTag', required: false }], + }), + ); + } else { + lookups.push(Promise.resolve(null)); + } + + const [s3Assets, s3Scam, user, community] = await Promise.all(lookups); + + let cdnStatus: { + httpStatus: number; + cfCacheStatus: string | null; + fastlyCacheStatus: string | null; + servedBy: string | null; + age: string | null; + } | null = null; + + try { + const cdnRes = await fetch(fullUrl, { method: 'HEAD', redirect: 'follow' }); + cdnStatus = { + httpStatus: cdnRes.status, + cfCacheStatus: cdnRes.headers.get('cf-cache-status'), + fastlyCacheStatus: cdnRes.headers.get('x-cache'), + servedBy: cdnRes.headers.get('x-served-by'), + age: cdnRes.headers.get('age'), + }; + } catch { + cdnStatus = null; + } + + return res.json({ + key, + s3Assets, + s3Scam, + cdn: cdnStatus, + associations: { + users: user + ? [ + { + id: user.id, + fullName: user.fullName, + slug: user.slug, + email: user.email, + spamStatus: user.spamTag?.status ?? null, + }, + ] + : [], + communities: community + ? [ + { + id: community.id, + title: community.title, + subdomain: community.subdomain, + spamStatus: community.spamTag?.status ?? null, + }, + ] + : [], + }, + }); + } catch (err) { + return handleErrors(req, res, next)(err); + } +}); + // ── Content Search APIs ───────────────────────────────────────────────────── const CONTENT_SEARCH_CACHE_TTL_MS = 60 * 60 * 1000; diff --git a/server/utils/s3.ts b/server/utils/s3.ts index f974750e19..176bb9f214 100644 --- a/server/utils/s3.ts +++ b/server/utils/s3.ts @@ -1,6 +1,8 @@ import type { Readable, Stream } from 'stream'; import { + CopyObjectCommand, + DeleteObjectCommand, GetObjectCommand, HeadObjectCommand, type HeadObjectCommandOutput, @@ -55,6 +57,9 @@ type PubPubS3Client = { checkIfFileExists: (key: string) => Promise; waitForFileToExist: (key: string, maxWaitTimeSeconds?: number) => Promise; getPresignedUrl: (key: string, expiresInSeconds?: number) => Promise; + deleteObject: (key: string) => Promise; + copyObjectTo: (key: string, destBucket: string) => Promise; + bucket: string; }; const bufferStream = async (stream: Stream): Promise => { @@ -180,6 +185,21 @@ export const createPubPubS3Client = (config: PubPubS3ClientConfig): PubPubS3Clie ); }; + const deleteObject = async (key: string) => { + await s3Client.send(new DeleteObjectCommand({ Bucket: bucket, Key: key })); + }; + + const copyObjectTo = async (key: string, destBucket: string) => { + const encodedKey = encodeURIComponent(key).replace(/%2F/g, '/'); + await s3Client.send( + new CopyObjectCommand({ + Bucket: destBucket, + Key: key, + CopySource: `${bucket}/${encodedKey}`, + }), + ); + }; + return { uploadFile, uploadFileSplit, @@ -188,6 +208,9 @@ export const createPubPubS3Client = (config: PubPubS3ClientConfig): PubPubS3Clie waitForFileToExist, retrieveFileHead, getPresignedUrl, + deleteObject, + copyObjectTo, + bucket, }; }; @@ -208,3 +231,9 @@ export const exportsClient = createPubPubS3Client({ secretAccessKey: env.AWS_SECRET_ACCESS_KEY, bucket: 'assets.pubpub.org', }); + +export const scamClient = createPubPubS3Client({ + accessKeyId: env.AWS_ACCESS_KEY_ID, + secretAccessKey: env.AWS_SECRET_ACCESS_KEY, + bucket: 'reported-scams', +}); diff --git a/utils/caching/createCachePurgeDebouncer.ts b/utils/caching/createCachePurgeDebouncer.ts index 4141c17cda..ffb1e34b05 100644 --- a/utils/caching/createCachePurgeDebouncer.ts +++ b/utils/caching/createCachePurgeDebouncer.ts @@ -1,4 +1,4 @@ -import { purgeSurrogateTag } from './purgeSurrogateTag'; +import { purgeSurrogateTag } from './purge'; /** * Creates a cache purge debouncer function. diff --git a/utils/caching/purgeSurrogateTag.ts b/utils/caching/purge.ts similarity index 51% rename from utils/caching/purgeSurrogateTag.ts rename to utils/caching/purge.ts index 3e7aa6374f..76d659f3c6 100644 --- a/utils/caching/purgeSurrogateTag.ts +++ b/utils/caching/purge.ts @@ -59,3 +59,59 @@ export const purgeSurrogateTag = async (tag: string, soft = false) => { return id; }; + +export async function purgeFastlyUrl(url: string) { + try { + const res = await fetch(`https://api.fastly.com/purge/${encodeURIComponent(url)}`, { + method: 'POST', + headers: { + 'Fastly-Key': env.FASTLY_PURGE_TOKEN, + Accept: 'application/json', + }, + }); + const json = await res.json(); + if (!res.ok) { + throw new Error(`Fastly purge failed: ${json?.msg || res.statusText}`); + } + return json; + } catch (e: any) { + throw new Error(`URL purge action on service for ${url} did not succeed.\n${e}`); + } +} + +const CF_API_BASE = 'https://api.cloudflare.com/client/v4'; + +export function isCachePurgeConfigured() { + return Boolean(env.CLOUDFLARE_CACHE_PURGE_API_TOKEN && env.CLOUDFLARE_ZONE_TAG); +} + +export async function purgeCloudflareUrls(urls: string[]) { + const apiToken = env.CLOUDFLARE_CACHE_PURGE_API_TOKEN; + const zoneId = env.CLOUDFLARE_ZONE_TAG; + if (!apiToken || !zoneId) { + throw new Error( + 'Cloudflare cache purge not configured. Set CLOUDFLARE_CACHE_PURGE_API_TOKEN and CLOUDFLARE_ZONE_TAG.', + ); + } + + const res = await fetch(`${CF_API_BASE}/zones/${zoneId}/purge_cache`, { + method: 'POST', + headers: { + Authorization: `Bearer ${apiToken}`, + 'Content-Type': 'application/json', + }, + body: JSON.stringify({ files: urls }), + }); + + let json: any = null; + try { + json = await res.json(); + } catch { + // Cloudflare may not always return JSON + } + if (!res.ok || !json?.success) { + const msgs = (json?.errors ?? []).map((e: any) => e.message).join('; '); + throw new Error(`Cloudflare cache purge failed: ${msgs || res.statusText}`); + } + return json; +} diff --git a/utils/superAdmin.ts b/utils/superAdmin.ts index a571bfc107..1c9a2cc56f 100644 --- a/utils/superAdmin.ts +++ b/utils/superAdmin.ts @@ -9,6 +9,7 @@ export const superAdminTabKinds = [ 'templates', 'spam', 'spamUsers', + 'scamFiles', ] as const; export const getSuperAdminTabUrl = (tabKind: SuperAdminTabKind) => {