From 91b627a17743803fff93364223abd86f0f064071 Mon Sep 17 00:00:00 2001 From: Lily Shen <115414357+lilyshen0722@users.noreply.github.com> Date: Sun, 25 Oct 2026 08:28:44 -0700 Subject: [PATCH 1/3] feat: preserve sanitized signup source across password and OAuth Co-authored-by: otto Agent-Model: codex/gpt-6.1-sol/high --- .../service/signupSourceHttp.test.js | 72 ++++++++++++++++++ .../unit/controllers/oauthController.test.js | 63 +++++++++++++++ .../__tests__/unit/utils/signupSource.test.js | 31 ++++++++ backend/controllers/authController.ts | 12 +-- backend/controllers/oauthController.ts | 7 +- backend/models/OAuthLoginState.ts | 5 ++ backend/models/User.ts | 23 ++++++ backend/routes/auth.ts | 3 +- backend/utils/signupSource.ts | 50 ++++++++++++ .../signup-source-2026-10-25/browser.jsonl | 2 + .../register-1440.png | Bin 0 -> 47176 bytes .../signup-source-2026-10-25/register-390.png | Bin 0 -> 39083 bytes docs/development/signup-source.md | 37 +++++++++ frontend/index.html | 1 + frontend/nginx.conf | 9 +++ frontend/package.json | 2 +- frontend/public/signup-source.js | 25 ++++++ frontend/scripts/nginx-routing.test.mjs | 17 ++++- frontend/scripts/signup-source.test.mjs | 64 ++++++++++++++++ frontend/src/v2/__tests__/V2OAuth.test.tsx | 21 ++++- frontend/src/v2/__tests__/V2Register.test.tsx | 3 +- frontend/src/v2/components/V2OAuthButtons.tsx | 16 ++-- frontend/src/v2/components/V2Register.tsx | 3 +- frontend/src/v2/utils/firstTouch.ts | 12 +++ 24 files changed, 449 insertions(+), 29 deletions(-) create mode 100644 backend/__tests__/service/signupSourceHttp.test.js create mode 100644 backend/__tests__/unit/utils/signupSource.test.js create mode 100644 backend/utils/signupSource.ts create mode 100644 docs/design/evidence/signup-source-2026-10-25/browser.jsonl create mode 100644 docs/design/evidence/signup-source-2026-10-25/register-1440.png create mode 100644 docs/design/evidence/signup-source-2026-10-25/register-390.png create mode 100644 docs/development/signup-source.md create mode 100644 frontend/public/signup-source.js create mode 100644 frontend/scripts/signup-source.test.mjs diff --git a/backend/__tests__/service/signupSourceHttp.test.js b/backend/__tests__/service/signupSourceHttp.test.js new file mode 100644 index 0000000000..576f86701a --- /dev/null +++ b/backend/__tests__/service/signupSourceHttp.test.js @@ -0,0 +1,72 @@ +const express = require('express'); +const request = require('supertest'); +const axios = require('axios'); +const User = require('../../models/User'); +const OAuthLoginState = require('../../models/OAuthLoginState'); +const { setupMongoDb, closeMongoDb, clearMongoDb } = require('../utils/testUtils'); + +jest.mock('axios', () => ({ post: jest.fn(), get: jest.fn() })); +jest.mock('../../services/emailService', () => ({ sendEmail: jest.fn().mockResolvedValue(undefined) })); +jest.mock('../../services/communityPodService', () => ({ ensureUserInCommunityPod: jest.fn().mockResolvedValue(undefined) })); + +const app = express(); +app.use(express.json()); +app.use('/api/auth', require('../../routes/auth')); + +describe('signup source over the public HTTP auth surface', () => { + beforeAll(setupMongoDb); + afterAll(closeMongoDb); + beforeEach(() => { + process.env.GITHUB_OAUTH_CLIENT_ID = 'source-test-client'; + process.env.GITHUB_OAUTH_CLIENT_SECRET = 'source-test-secret'; + process.env.REGISTRATION_INVITE_ONLY = 'false'; + delete process.env.AUTH_ALLOWED_EMAILS; + delete process.env.AUTH_ALLOWED_DOMAINS; + delete process.env.SMTP2GO_API_KEY; + }); + afterEach(async () => { + await clearMongoDb(); + jest.clearAllMocks(); + delete process.env.GITHUB_OAUTH_CLIENT_ID; + delete process.env.GITHUB_OAUTH_CLIENT_SECRET; + delete process.env.REGISTRATION_INVITE_ONLY; + }); + + it('carries bounded form attribution in server state through callback and ignores replay', async () => { + const source = { ref: 'HN', landingPath: `/${'%2F'.repeat(480)}?email=private`, + referrer: `https://news.example/${'%2F'.repeat(480)}?token=private`, firstSeenAt: '2026-01-01T00:00:00.000Z' }; + expect(new URLSearchParams({ signupSource: JSON.stringify(source) }).toString().length).toBeGreaterThan(4096); + const response = await request(app).post('/api/auth/oauth/github/start').type('form') + .send({ signupSource: JSON.stringify(source) }).expect(302); + expect(response.headers.location).not.toMatch(/signupSource|landingPath|private/); + const state = new URL(response.headers.location).searchParams.get('state'); + const stored = await OAuthLoginState.findOne({ state }); + expect(stored.signupSource.landingPath).toBe(source.landingPath.split('?')[0]); + expect(JSON.stringify(stored.signupSource)).not.toContain('private'); + axios.post.mockResolvedValue({ data: { access_token: 'source-test-access' } }); + axios.get.mockImplementation((url) => Promise.resolve({ data: url.endsWith('/emails') + ? [{ email: 'source-http@example.com', verified: true, primary: true }] + : { id: 4245, login: 'source-http' } })); + const callback = `/api/auth/oauth/github/callback?state=${state}&code=source-code`; + await request(app).get(`${callback}&signupSource=forged`).expect(302); + const user = await User.findOne({ email: 'source-http@example.com' }).select('+signupSource'); + expect(user.signupSource.authMethod).toBe('github'); + expect(user.signupSource.ref).toBe('hn'); + const replay = await request(app).get(callback).expect(302); + expect(replay.headers.location).toContain('oauthError=state_invalid'); + expect(await User.countDocuments({ email: 'source-http@example.com' })).toBe(1); + }); + + it('writes the password source only at registration, and never returns it in an ordinary profile read', async () => { + await request(app).post('/api/auth/register').send({ email: 'password-source@example.com', + password: 'Password123!', signupSource: { landingPath: '/guides/first?email=private', ref: 'HN' } }).expect(201); + const before = await User.findOne({ email: 'password-source@example.com' }).select('+signupSource'); + expect(before.signupSource.authMethod).toBe('password'); + expect(before.signupSource.landingPath).toBe('/guides/first'); + const login = await request(app).post('/api/auth/login').send({ email: 'password-source@example.com', + password: 'Password123!', signupSource: { ref: 'replacement' } }).expect(200); + expect(JSON.stringify(login.body)).not.toContain('signupSource'); + const after = await User.findById(before._id).select('+signupSource'); + expect(after.signupSource.toObject()).toEqual(before.signupSource.toObject()); + }); +}); diff --git a/backend/__tests__/unit/controllers/oauthController.test.js b/backend/__tests__/unit/controllers/oauthController.test.js index 59f4c22f07..561e93aa16 100644 --- a/backend/__tests__/unit/controllers/oauthController.test.js +++ b/backend/__tests__/unit/controllers/oauthController.test.js @@ -7,6 +7,7 @@ const InvitationCode = require('../../../models/InvitationCode'); jest.mock('../../../services/communityPodService', () => ({ ensureUserInCommunityPod: jest.fn().mockResolvedValue(undefined), })); +jest.mock('../../../services/emailService', () => ({ sendEmail: jest.fn().mockResolvedValue(undefined) })); const { ensureUserInCommunityPod } = require('../../../services/communityPodService'); const oauthController = require('../../../controllers/oauthController'); const authController = require('../../../controllers/authController'); @@ -81,6 +82,68 @@ describe('OAuth Controller', () => { delete process.env.AUTH_ALLOWED_DOMAINS; }); + describe('signup source round trips', () => { + it.each(['password', 'github', 'google'])('persists sanitized %s first touch once, never from callback parameters', async (method) => { + const touch = { + ref: 'HN', referrer: 'https://search.example/results?email=private#token', + landingPath: '/guides/start?invite=private#token', firstSeenAt: '2026-01-01T00:00:00.000Z', + authMethod: 'forged', recordedAt: '1900-01-01', + }; + if (method === 'password') { + const res = mockRes(); + await authController.register({ body: { + username: 'source-user', email: 'source@example.com', password: 'Password123!', signupSource: touch, + } }, res); + expect(res.status).toHaveBeenCalledWith(201); + } else { + if (method === 'google') { + process.env.GOOGLE_OAUTH_CLIENT_ID = 'google-client'; + process.env.GOOGLE_OAUTH_CLIENT_SECRET = 'google-secret'; + } + const signIn = async (source) => { + const startRes = mockRes(); + await oauthController.startOAuth({ ...startReq(method), method: 'POST', + body: { signupSource: JSON.stringify(source) } }, startRes); + const location = startRes.redirect.mock.calls[0][0]; + expect(location).not.toMatch(/search\.example|landingPath|signupSource|private|firstSeenAt/); + const state = new URL(location).searchParams.get('state'); + const storedState = await OAuthLoginState.findOne({ state }); + expect(JSON.stringify(storedState.signupSource)).not.toContain('private'); + if (method === 'github') mockGithubProfile({ email: 'source@example.com' }); + else { + axios.post.mockResolvedValueOnce({ data: { access_token: 'google-access-token' } }); + axios.get.mockResolvedValue({ data: { sub: 'google-source', email: 'source@example.com', + email_verified: true, name: 'source-user' } }); + } + const callbackRes = mockRes(); + await oauthController.oauthCallback({ ...startReq(method), + query: { code: 'provider-code', state, signupSource: JSON.stringify({ ref: 'forged' }), ref: 'forged' } }, callbackRes); + expect(callbackRes.redirect).toHaveBeenCalledWith(expect.stringContaining('/v2/oauth/complete?')); + expect(callbackRes.redirect.mock.calls[0][0]).not.toMatch(/signupSource|firstSeenAt|search\.example|private/); + return { state, callbackRes }; + }; + const first = await signIn(touch); + // A replay cannot create an account or overwrite its attribution. + const replay = mockRes(); + await oauthController.oauthCallback({ ...startReq(method), query: { state: first.state, code: 'replay' } }, replay); + expect(replay.redirect).toHaveBeenCalledWith(expect.stringContaining('oauthError=state_invalid')); + await signIn({ ref: 'later', landingPath: '/later' }); + } + const user = await User.findOne({ email: 'source@example.com' }).select('+signupSource'); + expect(user.signupSource.toObject()).toEqual({ + ref: 'hn', referrer: 'https://search.example/results', landingPath: '/guides/start', + firstSeenAt: new Date('2026-01-01T00:00:00.000Z'), authMethod: method, recordedAt: expect.any(Date), + }); + expect(user.onboarding.signupRef).toBe('hn'); + expect((await User.findById(user._id).lean()).signupSource).toBeUndefined(); + // Neither a later save nor a dotted update may rewrite a created source. + user.signupSource.ref = 'changed'; + await user.save(); + await User.updateOne({ _id: user._id }, { $set: { 'signupSource.ref': 'also-changed' } }); + expect((await User.findById(user._id).select('+signupSource')).signupSource.ref).toBe('hn'); + }); + }); + describe('getOAuthProviders', () => { it('lists only configured providers', () => { const res = mockRes(); diff --git a/backend/__tests__/unit/utils/signupSource.test.js b/backend/__tests__/unit/utils/signupSource.test.js new file mode 100644 index 0000000000..89bbf1bd0d --- /dev/null +++ b/backend/__tests__/unit/utils/signupSource.test.js @@ -0,0 +1,31 @@ +const { cleanSignupTouch, signupSourceFields } = require('../../../utils/signupSource'); + +describe('signup source privacy boundary', () => { + it('strips query, fragment and URL credentials, and ignores unrecognized keys', () => { + const source = cleanSignupTouch({ + ref: ' X ', referrer: 'https://name:password@news.example/article?email=secret#token', + landingPath: '/guides/a?invite=private#secret', firstSeenAt: '2026-01-01T00:00:00.000Z', + authMethod: 'admin', extra: 'secret', + }); + expect(source).toEqual({ + ref: 'x', referrer: 'https://news.example/article', landingPath: '/guides/a', + firstSeenAt: new Date('2026-01-01T00:00:00.000Z'), + }); + }); + + it.each([null, [], '{bad', 'x'.repeat(4097), { referrer: 'javascript:secret', landingPath: '//foreign.example', firstSeenAt: 'nope' }])( + 'drops malformed optional input without failing registration: %p', (input) => { + expect(cleanSignupTouch(input)).toEqual({}); + }, + ); + + it('does not turn a later ref into the ref of an earlier direct visit', () => { + expect(cleanSignupTouch({ landingPath: '/' }, 'later')).toEqual({ landingPath: '/' }); + expect(cleanSignupTouch(undefined, 'old-browser')).toEqual({ ref: 'old-browser' }); + }); + + it('sets auth method and recording time on the server, even without browser storage', () => { + const source = signupSourceFields({ authMethod: 'github', recordedAt: '1900-01-01' }, 'password'); + expect(source.signupSource).toEqual({ authMethod: 'password', recordedAt: expect.any(Date) }); + }); +}); diff --git a/backend/controllers/authController.ts b/backend/controllers/authController.ts index 8a38ed72e7..d16f81038d 100644 --- a/backend/controllers/authController.ts +++ b/backend/controllers/authController.ts @@ -8,7 +8,7 @@ const AgentIdentityService = require('../services/agentIdentityService'); const { sendEmail } = require('../services/emailService'); const { ensureUserInCommunityPod } = require('../services/communityPodService'); const { normalizeAvatarUrl } = require('../services/avatarService'); -const { cleanSignupRef } = require('../utils/signupRef'); +const { signupSourceFields } = require('../utils/signupSource'); const { deriveUsernameFromEmail, ACCOUNT_LABEL_COLLATION } = require('../services/derivedUsername'); const { issueSessionToken } = require('../services/sessionTokenService'); const { @@ -19,13 +19,6 @@ const { disconnectUserSessionSockets } = require('../services/sessionSocketServi const { isInstanceAccessRestricted, isInstanceEmailAllowed, INSTANCE_ACCESS_ERROR } = require('../services/instanceAccessPolicy'); -// The first-touch ref a signup arrived with (?ref=x), stored once on the new -// account. Anything that is not a short plain code is dropped, not refused. -const signupRefField = (raw: unknown) => { - const ref = cleanSignupRef(raw); - return ref ? { onboarding: { signupRef: ref } } : {}; -}; - const joinCommunityPodBestEffort = (userId: any) => { void ensureUserInCommunityPod(userId).catch((err: Error) => { console.warn('[community-pod] background join failed after auth transition:', err.message); @@ -412,6 +405,7 @@ exports.register = async (req: any, res: any) => { password, invitationCode, signupRef, + signupSource, } = req.body; const normalizedEmail = normalizeEmail(email); @@ -534,7 +528,7 @@ exports.register = async (req: any, res: any) => { password: rawPassword, verified: shouldAutoVerify, entitlements: { cloudAgents: invitationRedeemed }, - ...signupRefField(signupRef), + ...signupSourceFields(signupSource, 'password', signupRef), }); // Save user to database diff --git a/backend/controllers/oauthController.ts b/backend/controllers/oauthController.ts index c2672469a3..fd400cdeef 100644 --- a/backend/controllers/oauthController.ts +++ b/backend/controllers/oauthController.ts @@ -4,6 +4,7 @@ const axios = require('axios'); const User = require('../models/User'); const OAuthLoginState = require('../models/OAuthLoginState'); const { cleanSignupRef } = require('../utils/signupRef'); +const { cleanSignupTouch, signupSourceFields } = require('../utils/signupSource'); const AgentIdentityService = require('../services/agentIdentityService'); const { isInviteOnlyRegistrationEnabled, @@ -237,6 +238,9 @@ exports.startOAuth = async (req: any, res: any) => { invitationCode: String(input.invite || '').trim(), next: safeNextPath(input.next), signupRef: cleanSignupRef(input.ref) || '', + // Attribution arrives in a form body, stays in this server-side state, + // and is never copied into a provider or completion URL. + ...(req.method === 'POST' ? { signupSource: cleanSignupTouch(input.signupSource, input.ref) } : {}), expiresAt: new Date(Date.now() + STATE_TTL_MS), }); @@ -336,14 +340,13 @@ exports.oauthCallback = async (req: any, res: any) => { return loginErrorRedirect(res, 'invitation_required'); } - const signupRef = cleanSignupRef(stateRow.signupRef); user = new User({ username: await generateUsername(profile.usernameHint, profile.email), email: profile.email, verified: true, // provider-asserted entitlements: { cloudAgents: invitationRedeemed }, // Set at creation only: signing in to an existing account never changes it. - ...(signupRef ? { onboarding: { signupRef } } : {}), + ...signupSourceFields(stateRow.signupSource, provider, stateRow.signupRef), authProviders: [{ provider, providerId: profile.providerId, diff --git a/backend/models/OAuthLoginState.ts b/backend/models/OAuthLoginState.ts index e4f41dde3d..7c6ae4f610 100644 --- a/backend/models/OAuthLoginState.ts +++ b/backend/models/OAuthLoginState.ts @@ -1,4 +1,5 @@ import mongoose, { Document, Schema, Types } from 'mongoose'; +import type { SignupTouch } from '../utils/signupSource'; // One row per social-login attempt. Lives for the length of the OAuth // round-trip and is deliberately separate from OAuthState (the X/Twitter @@ -22,6 +23,7 @@ export interface IOAuthLoginState extends Document { next?: string; // First-touch ref code (?ref=x) for a signup made through this login. signupRef?: string; + signupSource?: SignupTouch; userId?: Types.ObjectId | null; exchangeCode?: string | null; exchangeExpiresAt?: Date | null; @@ -39,6 +41,9 @@ const OAuthLoginStateSchema = new Schema( invitationCode: { type: String, default: '' }, next: { type: String, default: '/v2' }, signupRef: { type: String, default: '' }, + signupSource: { + type: new Schema({ ref: String, referrer: String, landingPath: String, firstSeenAt: Date }, { _id: false }), + }, userId: { type: Schema.Types.ObjectId, ref: 'User', default: null }, // NO default here — a sparse unique index skips MISSING fields but still // indexes explicit nulls, so `default: null` made every pending state row diff --git a/backend/models/User.ts b/backend/models/User.ts index 3ed0e0c778..1f3d2b8c64 100644 --- a/backend/models/User.ts +++ b/backend/models/User.ts @@ -220,6 +220,15 @@ export interface IUser extends Document { signupRef?: string; }; createdAt: Date; + /** Browser-reported first touch, persisted only for a new human account. */ + signupSource?: { + ref?: string; + referrer?: string; + landingPath?: string; + firstSeenAt?: Date; + authMethod: 'password' | 'google' | 'github'; + recordedAt: Date; + }; // Instance methods comparePassword(password: string): Promise; generateApiToken(): string; @@ -230,6 +239,20 @@ export interface IUser extends Document { export interface IUserModel extends Model {} const userSchema = new Schema({ + // Growth opts in with .select('+signupSource'); incidental profile/populate + // reads must not disclose referral paths. Every field is write-once too. + signupSource: { + type: new Schema({ + ref: { type: String, immutable: true }, + referrer: { type: String, immutable: true }, + landingPath: { type: String, immutable: true }, + firstSeenAt: { type: Date, immutable: true }, + authMethod: { type: String, enum: ['password', 'google', 'github'], required: true, immutable: true }, + recordedAt: { type: Date, required: true, immutable: true }, + }, { _id: false }), + immutable: true, + select: false, + }, username: { type: String, required: true, unique: true }, previousUsernames: { type: [String], default: [] }, displayName: { type: String, trim: true }, diff --git a/backend/routes/auth.ts b/backend/routes/auth.ts index e82abe6a26..b737c0e713 100644 --- a/backend/routes/auth.ts +++ b/backend/routes/auth.ts @@ -230,7 +230,8 @@ router.get('/oauth/:provider/start', oauthLimiter, startOAuth); // The same start as a form POST, so an invite code rides in the body, not the URL // (the register page uses it whenever it holds a code; TASK-404). // This parser runs after the global $-key guard, so the guard runs again on its body. -router.post('/oauth/:provider/start', oauthLimiter, express.urlencoded({ extended: false, limit: '4kb' }), refuseDollarKeys, startOAuth); +// Two bounded 2 KiB paths in signupSource expand under form URL-encoding. +router.post('/oauth/:provider/start', oauthLimiter, express.urlencoded({ extended: false, limit: '16kb' }), refuseDollarKeys, startOAuth); router.get('/oauth/:provider/callback', oauthLimiter, oauthCallback); router.post('/oauth/exchange', oauthLimiter, exchangeOAuthCode); router.get('/registration-policy', registrationPolicyLimit, getRegistrationPolicy); diff --git a/backend/utils/signupSource.ts b/backend/utils/signupSource.ts new file mode 100644 index 0000000000..f51f4eab9e --- /dev/null +++ b/backend/utils/signupSource.ts @@ -0,0 +1,50 @@ +const { cleanSignupRef } = require('./signupRef'); + +export interface SignupTouch { + ref?: string; + referrer?: string; + landingPath?: string; + firstSeenAt?: Date; +} + +// Attribution is browser-reported, not authorization. Drop unknown fields and +// URL queries/fragments before either the temporary OAuth state or User sees it. +export function cleanSignupTouch(raw: unknown, legacyRef?: unknown): SignupTouch { + let input: Record = {}; + try { + const value = typeof raw === 'string' && raw.length <= 4096 ? JSON.parse(raw) : raw; + if (value && typeof value === 'object' && !Array.isArray(value)) input = value; + } catch { /* malformed optional attribution does not prevent signup */ } + const result: SignupTouch = {}; + const ref = cleanSignupRef(input.ref) || (!input.landingPath ? cleanSignupRef(legacyRef) : undefined); + if (ref) result.ref = ref; + if (typeof input.referrer === 'string' && input.referrer.length <= 2048) { + try { + const url = new URL(input.referrer); + if (['https:', 'http:'].includes(url.protocol)) result.referrer = `${url.origin}${url.pathname}`; + } catch { /* no valid referrer */ } + } + if (typeof input.landingPath === 'string' && input.landingPath.length <= 2048) { + try { + const url = new URL(input.landingPath, 'https://landing.invalid'); + if (input.landingPath.startsWith('/') && url.origin === 'https://landing.invalid' + && !url.pathname.startsWith('//')) result.landingPath = url.pathname; + } catch { /* no valid path */ } + } + const seen = input.firstSeenAt instanceof Date ? input.firstSeenAt + : typeof input.firstSeenAt === 'string' && input.firstSeenAt.length <= 32 + ? new Date(input.firstSeenAt) : undefined; + if (seen && Number.isFinite(seen.getTime()) && seen.getTime() <= Date.now()) { + result.firstSeenAt = seen; + } + return result; +} + +/** Called only in new-account constructors, never in login/link/update paths. */ +export function signupSourceFields(raw: unknown, authMethod: 'password' | 'google' | 'github', legacyRef?: unknown) { + const touch = cleanSignupTouch(raw, legacyRef); + return { + signupSource: { ...touch, authMethod, recordedAt: new Date() }, + ...(touch.ref ? { onboarding: { signupRef: touch.ref } } : {}), + }; +} diff --git a/docs/design/evidence/signup-source-2026-10-25/browser.jsonl b/docs/design/evidence/signup-source-2026-10-25/browser.jsonl new file mode 100644 index 0000000000..fe72f03c7a --- /dev/null +++ b/docs/design/evidence/signup-source-2026-10-25/browser.jsonl @@ -0,0 +1,2 @@ +{"width":390,"overflow":false,"buttons":[{"width":322,"height":40},{"width":322,"height":40}],"method":"POST","query":"","source":{"landingPath":"/guides/start","firstSeenAt":"2026-10-25T15:25:30.086Z","ref":"hn"}} +{"width":1440,"overflow":false,"buttons":[{"width":322,"height":40},{"width":322,"height":40}],"method":"POST","query":"","source":{"landingPath":"/guides/start","firstSeenAt":"2026-10-25T15:25:31.671Z","ref":"hn"}} diff --git a/docs/design/evidence/signup-source-2026-10-25/register-1440.png b/docs/design/evidence/signup-source-2026-10-25/register-1440.png new file mode 100644 index 0000000000000000000000000000000000000000..f7e987e606d986ab04d3532adfcf84f6f45aa670 GIT binary patch literal 47176 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%0AIxYp2mtJ)h_5apNDK$bT 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 c*&%#^sN$_(>xSJP_H100(^b literal 0 HcmV?d00001 diff --git a/docs/design/evidence/signup-source-2026-10-25/register-390.png b/docs/design/evidence/signup-source-2026-10-25/register-390.png new file mode 100644 index 0000000000000000000000000000000000000000..bc0d2db910866fda7e894b365c766868df5f7299 GIT binary patch literal 39083 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

3;=FO&k!U14N& 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 +