> ## Documentation Index
> Fetch the complete documentation index at: https://supastack.dev/llms.txt
> Use this file to discover all available pages before exploring further.
> For the full documentation corpus in one file, fetch: https://supastack.dev/llms-full.txt

# 계정과 보안

프로필, 세션, 패스키, 데이터보내기, 삭제.

## 초보자 연습

전제 조건: 아래 두 개의 초보자 가이드를 읽고, 웹 로컬 설정을 완료하고, 편집기의 루트에서 이 모노레포를 엽니다. 웹 설정은 `apps/web/.env.local`에 속합니다. Next.js는 ​​루트 `.env`를 읽지 않습니다. 기본 가짜 모드의 `/dashboard`는 데이터베이스가 없는 데모입니다. `/auth`에는 마이그레이션된 데이터베이스가 필요합니다.

빠른 용어: 작업 영역은 한 팀의 별도 사용자, 데이터 및 설정입니다. 서버는 신뢰할 수 있는 백엔드입니다. 제공업체 키를 브라우저 및 전화 코드에 보관하세요. 마이그레이션은 테이블을 생성하거나 업데이트하는 버전이 지정된 데이터베이스 변경입니다. AI 모델은 응답하는 엔진입니다. 모델 카탈로그는 서버의 사용 가능한 모델 ID 및 가격 목록입니다. 공급자는 AI, 이메일, 청구 서비스와 같은 외부 서비스입니다. 자격은 작업 영역에서 기능을 사용할 수 있도록 하는 부여입니다. 웹훅은 한 서비스가 다른 서비스의 URL에 보내는 메시지입니다.

1. 두 개의 테스트 브라우저 세션에서 `/auth`에 로그인한 다음 한 세션에서 로그아웃합니다.

2. 로그아웃된 세션에서 보호된 페이지를 요청합니다. 서버에 로그인이 필요합니다. 이 가이드에서는 장치 간 세션 취소 화면이 아닌 세션 동작을 다룹니다.

3. 자신의 데이터 내보내기를 검사하려면 `GET /api/account/export`를 사용하십시오. 다른 사용자나 작업공간의 개인 기록을 포함해서는 안 됩니다.

사용자 정의 코드의 경우 제공된 `prompts/README.md`로 시작하고 가장 가까운 프롬프트(앱 화면의 경우 `prompts/new-app-screen.md`, 공개 페이지의 경우 `prompts/new-landing-page.md`)를 복사합니다. 서버, 데이터베이스 또는 공급자 작업의 경우 코딩 에이전트에게 이 가이드의 작업을 제공하고 `AGENTS.md`, `.ai/PROJECT_CONTEXT.md` 및 일치하는 `.ai/` 미러를 읽도록 요청하세요. 여기에 이름이 지정된 정확한 소스 파일을 검사하십시오. 편집하기 전에 파일을 나열하고 확인합니다. 작업 공간 소유권과 서버 전용 비밀을 보존합니다. 차이점을 보여주세요. 원하는 동작, 입력 및 출력 필드, 허용된 역할, 예상되는 성공 및 오류, 테스트 계정, 공급자 또는 장치를 알려주십시오. 샘플 값을 사용하십시오. 절대 진짜 비밀을 붙여넣지 마세요.

[시작하기 전에](https://supastack.dev/ko/docs/web/before-you-start.md)

[단말기 기본사항](https://supastack.dev/ko/docs/web/terminal-basics.md)

[웹 로컬 설정](https://supastack.dev/ko/docs/web/ship-in-5-minutes.md)

[에이전트 프롬프트 및 프로젝트 메모리](https://supastack.dev/ko/docs/web/agents.md)


## 활성 세션 관리

보안 설정은 선택된 인증 엔진을 통해 제공된 세션 및 자격 증명 제어를 노출합니다. 세션을 취소하면 로컬 화면이 지워질 뿐만 아니라 서버 액세스도 무효화되어야 합니다. 확장하기 전에 `web-settings-security.ts`, 설정 패널 및 인증 런타임을 검토하세요.


## Export 계정 데이터

로그인된 `GET /api/account/export` 경로는 작성된 콘텐츠를 포함하여 GDPR 데이터 내보내기를 제공합니다. 요청 ID와 연결된 액세스 권한을 유지하고 사용자 소유 레코드를 추가할 때마다 모양을 감사합니다. 공급자 토큰, 서명 비밀 또는 다른 작업 공간의 개인 데이터를 포함하지 마십시오.


## 계정 전환 확인

현재 세션 로그아웃, 다른 세션 취소, 만료, 재인증 및 내보내기 액세스를 테스트합니다. 다음 사용자의 작업 영역을 렌더링하기 전에 이전 계정의 캐시된 프레젠테이션을 지웁니다.

[개인정보 보호 및 데이터 처리](https://supastack.dev/ko/docs/web/security.md)


## 설치 및 설정

계정 표면은 /settings 아래에 있습니다 — 프로필, 보안(비밀번호, 세션, 패스키), 알림, 외관, 감사. 각 섹션은 서버 상태를 읽고 세션을 다시 검증하는 server action을 통해 씁니다.

데이터보내기(src/data-export.ts)는 멤버의 워크스페이스 소유 레코드를 모으고, 계정 삭제도 같은 소유권 경계를 통과합니다. 둘 다 존재하는 이유는 프라이버시 의무가 부가 기능이 아니라 제품 요건이기 때문입니다.

```
/settings/general        name, avatar, email
/settings/security        password, sessions, passkeys
/settings/notifications   per-category opt-outs
/settings/appearance      theme, density, layout
```


## 구현 워크플로

프로바이더가 지원하는 곳에서 보안 뮤테이션을 재인증 상태로 유지하세요 — 비밀번호 변경, 키 순환, 삭제. 세션 목록은 호출자 본인의 세션만 보여야 하고, 해지는 실제로 토큰을 무효화해야 합니다.

멤버가 소유한 데이터만보내세요 — 임시 쿼리 대신 워크스페이스 스코프 리포지토리를 재사용합니다. 삭제 순서가 중요합니다: 계정 행을 지우기 전에 세션을 해지하고 종속 레코드를 정리하세요.


## 검증 및 문제 해결

해지된 세션이 즉시 접근을 잃는지,보내기에 멤버의 레코드만 있고 다른 워크스페이스 것이 없는지, 삭제가 고아 소유권 행을 남기지 않는지 확인하세요. 패스키 세레모니는 HTTPS 오리진에서만 테스트하세요.


## 다음

[콘텐츠 관리](https://supastack.dev/ko/docs/web/content.md)
