PortfolioUSER GUIDE
앱으로Back to App

Portfolio Manager 사용 설명서 Portfolio Manager User Guide

미국·한국 주식·ETF 포트폴리오를 한 곳에서 관리하는 무료 도구. 실시간 가격, 배당 캘린더, 30년 자산 예측, 세후 수익 분석을 모두 제공합니다. 모든 데이터는 브라우저에 로컬로 저장됩니다. Free tool to manage US and Korean stocks & ETFs in one place. Live prices, dividend calendar, 30-year wealth forecast, after-tax analysis. All data is stored locally in your browser.

Spatial OS 100% Local USD · KRW Free Forever
01 · 체험 모드 · 기기 잠금Demo · Device Lock

가입 없이 바로 시작Start without signing up

처음 방문하면 가입 화면이 아니라 샘플 포트폴리오 36종목이 즉시 로드된 체험 모드로 진입합니다. 카드·이메일·휴대폰 모두 필요 없으며, 본인 포지션을 처음 추가하는 순간에만 이 기기에 잠금을 설정합니다. First visit lands you in demo mode with 36 sample holdings already loaded — no card, email, or phone required. A device lock is only set when you add your first real position.

Demo landing
최상단 배너로 샘플 데이터임을 명시 — "체험 모드 — 표시된 데이터는 샘플입니다"A top banner labels the sample data clearly — "Demo mode — the data shown is sample"
  • 모든 기능을 즉시 사용 가능 — 헬스 점수·배당 캘린더·예측·보고서 모두 샘플로 체험Every feature works immediately — health score, dividend calendar, forecast, reports all run on the sample
  • "+ 포지션 추가" 버튼을 누르면 체험 종료 → 잠금(닉네임 + 비밀번호) 설정 모달이 열림 → 설정 후 샘플은 깨끗이 비워지고 첫 진짜 포지션을 입력하는 화면으로 자동 전환Click + Add Position to leave demo → a lock-setup dialog opens (nickname + password) → samples are cleared and the first real position editor opens
  • 잠금은 회원가입이 아닙니다 — 같은 PC를 쓰는 가족·동료가 본인 자산을 보지 못하도록 막는 로컬 보호 장치. 모든 데이터는 이 브라우저에만 저장됩니다The lock is not a sign-up — it just prevents others on the same PC from seeing your assets. Data stays in this browser only
  • 비밀번호는 PBKDF2-SHA256(10만 회 + 랜덤 Salt)으로 해시되어 이 기기에만 저장됨Password is hashed with PBKDF2-SHA256 (100k rounds + random salt) and stored only on this device
비밀번호를 잊으면If you forget the password 모든 데이터에 접근할 수 없습니다 — 정기적으로 백업(JSON Export)을 받아두세요.you lose access to your data. Take regular JSON backups.
02 · 화면 구성Layout

전체 레이아웃Full app layout

좌측 사이드바 · 상단 토픽바 · 메인 영역 + 4개 탭 (Overview / Positions / Forecast / Report)으로 구성됩니다. 게시판은 사이드바 액션의 ‘게시판’ 버튼으로 접근합니다. Left sidebar · top bar · main area with 4 tabs (Overview / Positions / Forecast / Report). The community board lives in the sidebar action strip.

Today — 전체 화면
로그인 직후 보이는 Today 탭 — Hero metric + 전체 분석 (자산 배분 · 배당 캘린더 · 리밸런싱)Today tab right after login — Hero metric + Full breakdown
Modern sidebar
모던 사이드바 — 좌측 그라디언트 바 + ⌘K trigger + 글래스 activeModern sidebar — gradient edge + ⌘K trigger + glass active
Topbar
토픽바: API 상태 + Auto-refresh + Refresh + + 포지션 추가Topbar: API state + Auto-refresh + Refresh + + Add Position
03 · ⌘K 빠른 이동⌘K Quick Jump

키보드 한 번에 어디든One shortcut, any screen

Ctrl+K(Mac은 ⌘K) 또는 사이드바 상단 "빠른 이동" 버튼을 누르면 모든 화면·계좌·액션을 검색해 즉시 이동할 수 있는 명령 팔레트가 열립니다. Press Ctrl+K (Mac ⌘K) or click the sidebar Quick Jump pill — a command palette opens to search every screen, account, and action.

Command Palette
화면(Views) · 계좌(Accounts) · 액션(Actions) 그룹 + 키보드 ↑↓·Enter·EscViews · Accounts · Actions groups + keyboard ↑↓·Enter·Esc
  • "예측" 입력 → Forecast 탭, "새로고침" → 시세 재조회, "잠금" → 로그아웃 등Type "forecast", "refresh", "lock" — instant action
  • ↑↓로 항목 이동, Enter로 실행, Esc로 닫기. 마우스 hover도 동기화됨↑↓ navigate, Enter run, Esc close. Mouse hover stays in sync
  • 액션: 포지션 추가 · 시세 새로고침 · 설정 · 언어/통화 토글 · 데이터 내보내기 · 잠금Actions: Add Position · Refresh · Settings · Toggle Language/Currency · Export · Lock
04 · OverviewOverview

오늘의 포트폴리오 한눈에Your portfolio at a glance

총 평가액 Hero + 헬스 점수 + 목표 추적 + 자산 구성·배당 캘린더(상하 배치) + 수익률 트리맵 + 섹터 분석·목표 비중(좌우 2열) 순서로 한 화면에 정렬됩니다. Hero (total value) → Health Score → Goal Tracking → Allocation/Dividend (stacked) → Return Treemap → Sector/Target (2-col) — laid out top-to-bottom on a single screen.

Overview full layout
Overview 전체 흐름 — 위→아래 한눈에 스크롤로 확인Overview full layout — top-to-bottom on a single scroll
Dividend Calendar month tooltip
배당 캘린더 — 월 막대 hover 시 해당 월의 종목 상위 6개 + 합계 + % 즉시 팝업Dividend Calendar — hover any month bar for top 6 stocks + total + % popup
Dividend Calendar legend tooltip
배당 캘린더 범례 — 각 종목 hover 시 연간/월/회당 배당, 다음 지급월, 배당 비중, 평가액·손익·수량·섹터·지급월 스케줄까지 풀 상세Dividend legend — hover any stock for annual/monthly/per-payment dividend, next pay month, share of div, value/gain/shares/sector, full pay-month schedule
Return Treemap (squarified)
수익률 트리맵 — Squarified 알고리즘으로 30+ 종목이 균형 잡힌 사각형으로 배치, 박스 hover 시 종목 상세 글래스 툴팁Return Treemap — Squarified algorithm balances 30+ tiles, hover any for a glass tooltip

주요 인터랙션Key interactions

  • 배당 캘린더 월 hover — 그 달의 종목 상위 6개 + 합계 + % 즉시 표시 (클릭은 상세 패널 펼침)Dividend month hover — top 6 + total + % popup (click expands a detail panel)
  • 배당 범례 종목 hover — 종목 상세(연/월/회당, 다음 지급월, 비중, 평가액·손익, 지급월 스케줄)Dividend legend hover — stock detail (annual/monthly/per-pay, next pay, share %, value/gain, schedule)
  • 트리맵 박스 hover — 평가액·손익·수량·매입·현재·배당·섹터 글래스 툴팁Treemap tile hover — value, gain, shares, cost, current, dividend %, sector
  • 섹터 분석 행 hover → 해당 섹터 종목 12개 팝업Sector Analysis row hover → up to 12 holdings popup
  • 목표 비중 입력 시 매수/매도 계획 자동 계산Enter % in Target Allocation → auto buy/sell plan
05 · 헬스 점수Health Score

포트폴리오 진단 한눈에Diagnose your portfolio at a glance

Overview 최상단에 등급(A+~D) + 4개 영역 sub-score 카드가 표시됩니다 — 분산도 / 배당 / 성장성 / 리스크. 각 항목을 클릭하면 평가 기준·본인 데이터·구체적 개선 사례가 담긴 단일 섹션 팝업이 열립니다. The top of Overview shows your grade (A+~D) plus 4 sub-scores — Diversification / Dividend / Growth / Risk. Click any one for a focused popup with grading criteria, your data, and concrete improvement examples.

Health Score card
헬스 카드 — 종합 점수 + 4영역 등급/바, 각 항목 개별 클릭 가능Health card — overall score + 4 sub-areas, each clickable independently
Health detail
분산도 클릭 → 평가 기준 표 (현재 등급 강조) + 본인 데이터 (HHI·Top5·섹터수) + 구체적 ETF/종목 추천 (SCHD·QQQ·KODEX·BND 등)Click Diversification → criteria table (your grade highlighted) + your data (HHI·Top5·sectors) + concrete ETF/stock recommendations (SCHD·QQQ·KODEX·BND ...)
  • 분산도: 섹터 HHI(낮을수록 분산) + Top5 종목 비중Diversification: sector HHI + Top5 weight
  • 배당: 포트폴리오 가중 배당률Dividend: weighted yield curve
  • 성장성: 성장 섹터 비중 + 미국 비중 (균형 50% 적정)Growth: growth-sector weight + US weight (~50% optimal)
  • 리스크: 단일 종목 최대 비중 + 종목 수Risk: largest single-stock weight + holdings count
06 · 목표 추적Goal Tracking

총 자산과 월 배당, 동시에Wealth and monthly dividend — together

총 자산 목표(예: 10억)와 월 배당 목표(예: 300만)를 함께 또는 따로 설정합니다. 진행률 게이지 + "현재 페이스로 X년 후 도달 예상"이 즉시 계산됩니다 — 자산은 7%/년, 배당은 5%/년 복리 가정. Set wealth goal (e.g., $1M) and monthly dividend goal (e.g., $3K) independently or together. Progress + "reachable in X years" computed live — 7%/yr assumed for wealth, 5%/yr for dividends.

Goal Tracking card
두 목표 동시 활성 — 자산(녹색) + 월배당(파랑) 행 분리, 30년 내 도달 불가 시 경고Both goals active — wealth (green) + monthly-div (blue) rows separated, warning if unreachable in 30y
  • 편집 모달에서 각 목표를 체크박스로 활성화/비활성화. KRW/USD 통화 선택 가능Edit modal toggles each goal on/off via checkbox. KRW/USD currency selectable
  • 구버전 단일 목표 데이터는 자동 마이그레이션됨Legacy single-goal data is migrated automatically
07 · 결정 일지 (Decision Journal)Decision Journal

매수 결정을 캘린더에 남기고 회고하기Log and review your buy decisions on a calendar

연간 12개월 캘린더가 한 화면에 표시됩니다. 매수 기록이 있는 날은 점(●)과 배경 틴트로 강조되고, 클릭하면 그 날의 종목 상세가 하단에 펼쳐집니다. 빈 날짜에 "+ 이 날 매수 기록"을 누르면 그 날짜가 자동 입력된 포지션 추가 모달이 열립니다. A 12-month calendar fills the page. Days with purchases get a dot + tint; click any day to see records below. On a blank day, "+ Log purchase" opens the Add modal with the date pre-filled.

Year Calendar Journal
연간 캘린더 — 월별 활동 카운트 배지 + 일/토 색 구분 + today 윤곽선 + 선택 셀 그라디언트Year calendar — monthly activity badge + Sun/Sat color + today outline + selected cell gradient
Range Search Results
기간 검색 — FROM/TO 입력 후 검색 → 캘린더에 범위 강조 + 하단에 시간순 매수 기록 리스트 (날짜 박스 + 종목·수익률·메모·계좌)Date-range search — fill FROM/TO + click Search → range highlighted on calendar + chronological list at the bottom (date pill + stock·return·note·account)
  • 연도 ◀▶ 네비 + 오늘 버튼으로 현재 연도/날짜로 즉시 복귀◀▶ year nav + Today button to jump back instantly
  • 날짜 클릭 → 그 날 매수 기록 카드 노출. 메모 없는 항목은 클릭으로 메모 추가 가능Click a day → records list. Click a record without note to add one
  • 날짜 미상 메모는 별도 섹션에 분리 표시 (구 데이터 호환)Notes without dates appear in a separate "no date" section (legacy compat)
04 · Positions (Holdings)Positions (Holdings)

보유 종목 표The holdings table

기본 6개 핵심 컬럼 (종목 / 계좌 / 수량 / 매입가 / 현재가 / 평가액 / 손익)만 표시됩니다. 추가 컬럼은 ⚙ COLUMNS 토글로 켜고 끌 수 있습니다. Default to 6 core columns (Stock / Account / Shares / Buy / Current / Value / Gain). Toggle extra columns via the ⚙ COLUMNS button.

Positions table
Positions 탭 — Region 필터 (All / US / KR), pill 필터, 검색, 표 + 우측 Quick Add 패널Positions tab — Region filter, pill filter, search, table + Quick Add side panel
  • Quick Add: 우측 패널에서 ticker · 수량 · 매입가 · 계좌만 입력하면 즉시 추가Quick Add: enter ticker / shares / buy price / account on the right panel
  • + Add Position (토픽바 우측): 더 자세한 항목 (배당 주기, 지급월, 메모, lots)을 모달에서 입력+ Add Position (top right): full modal with dividend frequency, payout months, notes, tax lots
  • cell을 더블클릭하면 인라인 편집됩니다 (수량/가격/배당)Double-click a cell to inline-edit shares / price / div yield
05 · ForecastForecast

30년 자산 성장 예측30-year wealth forecast

배당 성장률, 가격 성장률, 배당 재투자(DRIP) 옵션을 슬라이더로 조정하면 곡선이 즉시 갱신됩니다. 10/20/30년 카드는 마일스톤 한눈 확인용, 아래 표는 1년 단위 상세 (마일스톤 행 강조). Adjust the three sliders (dividend growth, price growth, reinvest) and the curve updates live. 10/20/30-year cards summarise milestones, the table below shows year-by-year detail with highlighted milestone rows.

Forecast
Forecast — 곡선 + 슬라이더 + 마일스톤 카드 + 30년 표Forecast — chart + sliders + milestone cards + 30-year table
현실적인 가정Realistic assumptions S&P 500 100년 평균 가격 성장률 ~7%, 배당 성장률 ~5%. 이걸 기본값으로 잡았습니다.S&P 500 long-term averages: ~7% price growth, ~5% dividend growth. These are the defaults.
06 · ReportReport

세후 수익 · 분산 · 환율 종합 리포트Tax · diversification · FX comprehensive report

① 현황 요약 → ② 종목별 분석 (컬럼 클릭으로 정렬) → ③ 세후 수익 (미국 22% 배당 + 한국 양도세) → ④ 섹터/지역 분산 (행 hover 시 종목 팝업) → ⑤ 환율 리스크 시나리오 — 5개 섹션을 순서대로 읽어 내려가는 한 장짜리 리포트입니다. ① Summary → ② Per-stock (click columns to sort) → ③ After-tax (US 22% div + KR cap-gain) → ④ Sector/Region (hover for holdings) → ⑤ FX risk scenarios — a single-page report you read top-down.

Report
Report — 5개 섹션이 글래스 카드로 구분Report — 5 sections as separate glass cards
07 · 종목 추가Add Position

한 종목 정확히 추가하기Adding a single position precisely

토픽바 우측 + Add Position 버튼으로 모달이 열립니다. ticker 자동완성, 수량·평균 매입가·계좌 선택은 필수, 그 외 (배당주기·지급월·메모·tax lots)는 옵션입니다. Click the + Add Position button in the top right. Ticker autocomplete, shares / avg buy / account are required; dividend cadence, payout months, notes, lots are optional.

Add Position modal (new)
Add Position 모달 — placeholder에 한글 검색 힌트 ('AAPL · 삼성 · ㅅㅅㅈㅈ · SCHD…') + 메모 필드에 회고 안내Add Position modal — placeholder hints Korean & chosung search; note field gets a reflection prompt

🇰🇷 한글 + 초성 검색Korean + initial-consonant search

티커 입력란에 한글 종목명 또는 초성만 입력해도 즉시 매칭됩니다. Type the Korean name or just initial consonants in the ticker box — instant match.

Korean search autocomplete
"삼성" 입력 → 삼성전자/삼성바이오로직스/삼성SDI/삼성생명/삼성물산 자동완성"삼성" → 삼성전자, 삼성바이오로직스, 삼성SDI, 삼성생명, 삼성물산 autocomplete
  • 한글 부분 일치: "하이닉스" → SK하이닉스Korean substring: "하이닉스" → SK하이닉스
  • 초성 매칭: 자음만 입력 시 (예: ㅅㅅㅈㅈ → 삼성전자)Chosung matching: only consonants (e.g., ㅅㅅㅈㅈ → 삼성전자)
  • 티커 prefix: "AAPL", "005930" 등 영문/숫자 검색 그대로 동작Ticker prefix: "AAPL", "005930" still work the same
  • 선택 시 종목명·통화·섹터·기본 배당률 자동 채움Selection auto-fills name, currency, sector, default yield
08 · API 키 설정 · 가격 데이터API Keys · Price Data

무료로 실시간 가격 받기Live prices, free

이 앱은 가격 데이터를 두 가지 방식으로 받습니다 — 미국 주식은 사용자가 직접 발급한 무료 API 키로, 한국 주식은 키 없이 야후/네이버에서 마지막 거래일 종가 기준으로 가져옵니다. 모든 외부 호출은 자체 Cloudflare Worker 프록시를 거치고, 한국 주식은 D1 데이터베이스에 일별 캐시되어 호출 한도를 사실상 받지 않습니다. The app fetches prices in two ways — US stocks via free API keys you register, Korean stocks via Yahoo/Naver (no key, last-close price). All upstream calls go through our Cloudflare Worker proxy. Korean quotes are cached in D1 once per trading day, so rate limits effectively don't apply.

API Settings modal
API 설정 모달 — 3개 미국 주식용 키 + USD/KRW 환율 + 데이터 초기화Settings modal — 3 US-stock API keys + USD/KRW rate + reset data

🇺🇸 미국 주식 — 무료 API 키 발급 후 등록US stocks — register free API keys

아래 3개 무료 서비스 중 하나 이상 가입해 키를 받아, 사이드바 ⚙ Settings 모달에 붙여넣으세요. 모두 등록하면 한 곳이 한도에 걸려도 자동으로 다음 provider로 폴백됩니다. Sign up for at least one of the three free services below, paste the key into the ⚙ Settings modal. Register all three for automatic fallback when one hits its limit.

Provider무료 한도Free limit가입 링크Sign up특징Notes
Finnhub 분당 60회60/min finnhub.io/register 가장 빠름 · 미국 주식 실시간(15분 지연)Fastest · US realtime (15-min delay)
Twelve Data 일 800회800/day twelvedata.com/register 배치 조회 지원 (한 번에 8개)Batch quotes (8 at a time)
Alpha Vantage 일 25회25/day alphavantage.co 백업용 (한도가 작아 1회 5종목만)Fallback only (small limit, 5 symbols/run)
  • 가입 절차: 위 링크 → 이메일/비번으로 회원가입 → 대시보드에서 API key 복사 → 본 앱 ⚙ Settings 에 붙여넣고 저장Steps: open link → sign up with email + password → copy API key from dashboard → paste into our ⚙ Settings and save
  • 키별 호출 한도는 사용자 본인 키 단위로 적용되므로, 사용자마다 별도 한도를 가집니다 (사실상 분산됨)Rate limits are enforced per key, so each user has independent quota (effectively distributed)
  • Worker 프록시는 같은 심볼 응답을 60초 Edge 캐시로 묶어, 동일 종목 중복 호출은 한도에서 제외됩니다The Worker proxy edge-caches identical symbol responses for 60s, so repeats don't count against your limit

🇰🇷 한국 주식 — 키 없이, 마지막 거래일 종가Korean stocks — keyless, last-close

한국 주식(.KS/.KQ)은 위 3개 무료 API가 지원하지 않습니다. 본 앱은 가입·키 등록 불필요로 다음 두 단계 자동 폴백을 사용합니다. Korean stocks (.KS/.KQ) are not covered by the three free APIs above. We use a keyless two-tier fallback automatically.

  • 1차: Yahoo Finance 비공식 chart endpoint로 종가 조회1st: Yahoo Finance unofficial chart endpoint for the closing price
  • 2차: 네이버 금융 (polling.finance.naver.com) — Yahoo 실패 시 자동 폴백2nd: Naver Finance (polling.finance.naver.com) — auto-fallback when Yahoo fails
  • 둘 다 실패 시 마지막으로 받아온 캐시 가격을 그대로 표시 (가용성 우선)If both fail, the last cached price is returned (availability first)
호출 정책 — 종목당 1일 1회Call policy — once per day per symbol 한국 주식 응답은 D1 데이터베이스에 캐시되며, 다음 영업일(월~금) KST 16:00까지 그대로 사용됩니다. KOSPI/KOSDAQ 정규장 마감(15:30 KST) + 30분 안정화 시점이 새 종가 기준입니다. 결과적으로 한국 주식은 한도 걱정 없이 사용할 수 있습니다. Korean responses are cached in D1 and reused until 16:00 KST of the next business day (Mon–Fri). That's 30 min after KOSPI/KOSDAQ market close (15:30 KST) — long enough for the close price to settle. As a result, Korean stocks have effectively no rate limit.
  • 장중(09:00–15:30 KST)에는 전일 종가가 표시될 수 있음 — 마감 + 30분 후 새 종가로 갱신During market hours (09:00–15:30 KST) you'll see yesterday's close; updates 30 min after close
  • 주말·공휴일에는 직전 영업일 종가가 그대로 유지됨Weekends/holidays keep the most-recent business-day close
  • 한국 주식 평가액은 USD/KRW 환율(아래 ⚙ Settings에서 자동 갱신)로 USD 환산 표시KRW-priced positions are converted using the USD/KRW rate (auto-refreshed daily)

갱신 · 새로고침 · 자동 갱신Refresh · auto-refresh · persistence

  • 토픽바 ↻ Refresh 버튼: 즉시 모든 종목 재조회Top-bar ↻ Refresh button: re-fetches all symbols immediately
  • 토픽바 Auto select: 1·5·15·30분 주기 자동 갱신Top-bar Auto select: 1/5/15/30-min auto-refresh
  • 받아온 가격과 마지막 갱신 시각은 localStorage에 저장 — 새로고침 후에도 마지막 평가금액이 유지됩니다Fetched prices and last-update time are saved to localStorage — reloads keep the last total value
키 보관 정책Key handling API 키는 사용자 브라우저 localStorage에만 저장되며, 가격 조회 시 X-API-Key 헤더로만 Worker 프록시에 전달됩니다. URL이나 Referer에 노출되지 않으며, 우리 서버는 키를 영속화하지 않습니다. API keys live in your browser localStorage and are forwarded only as an X-API-Key header at quote time. They never appear in URLs or referers, and our server does not persist them.
09 · 모바일Mobile

모바일에서도 그대로Same app on mobile

모든 핵심 화면이 1열 단일 컬럼으로 적층되며, hero 숫자와 액션은 그대로 큼지막하게 보입니다. 사이드바는 햄버거 토글 (≤640px)로 접근합니다. All key screens stack as a single column on mobile; the hero number and action remain prominent. The sidebar is reachable via the hamburger toggle (≤640px).

Mobile landing
모바일 가입 화면Mobile sign-up
Mobile Today
모바일 Today — Hero 그대로 큼Mobile Today — hero stays large
10 · 휴지통 · 복원Trash · Restore

실수로 삭제해도 되돌릴 수 있게Undo accidental deletes

포지션을 잘못 지우거나 전체 데이터를 비우는 실수를 해도, 모든 삭제 동작은 자동으로 휴지통에 보관됩니다. 사이드바 ♻ 휴지통 버튼을 눌러 언제든 복원하거나 영구 삭제할 수 있습니다. Every delete action — single positions or the whole dataset — is automatically moved to Trash. Click the sidebar ♻ Trash button to restore or permanently delete any item.

Sidebar with Trash button
사이드바 우하단에 ♻ 휴지통 버튼 — 빨간 뱃지가 항목 수 표시Sidebar bottom-right ♻ Trash button — red badge shows item count
Trash modal
휴지통 모달 — 항목별 복원 / 완전 삭제, 하단에 휴지통 비우기Trash modal — restore / delete permanently per item, empty all at the bottom

어떤 삭제가 휴지통으로 가나요?What goes to Trash?

삭제 유형Action저장되는 정보What is saved복원 효과Restore effect
개별 포지션 삭제Single position delete 해당 포지션 전체 (티커·수량·매입가·계좌·메모·tax lots)Full position object (ticker · shares · buy · account · notes · lots) 포지션 목록에 즉시 추가됨 (새로고침 없음)Re-added to your positions instantly (no reload)
전체 데이터 삭제 (사이드바 🗑️)Delete All (sidebar 🗑️) pfm3_* 모든 키 (포지션 · 계좌 · 스냅샷 · 목표 비중 · 가격 · 환율 · 필터 · API 키 등)All pfm3_* keys (positions · accounts · snapshots · targets · prices · FX · filters · API keys) 이전 상태로 완전 복원 후 페이지 자동 새로고침Full state restored, page reloads automatically

5초 Undo 토스트와의 차이vs. 5-second Undo toast

  • 5초 Undo: 포지션 삭제 직후 화면 하단에 잠깐 뜨는 "되돌리기" 버튼 — 5초 후 사라짐5-sec Undo: a small "undo" button at the bottom right after deleting — disappears after 5 seconds
  • 휴지통: 5초가 지나도, 다음 세션에도, 새로고침 후에도 그대로 남아 영구 보관 (최대 100개)Trash: persists across sessions and reloads, kept permanently up to 100 items
  • 두 기능 모두 동시에 작동 — Undo 토스트로 복원하면 휴지통에서도 자동 제거됩니다Both work in parallel — restoring via Undo toast also removes the entry from Trash

휴지통 모달 사용법Using the Trash modal

  • 휴지통Trash 버튼 클릭 → 항목 리스트가 최근순으로 표시button → items listed newest-first
  • 각 항목의 복원 버튼 → 확인 후 즉시 복원 (전체 삭제 항목은 새로고침 동반)Per-item Restore → confirm and restore (Delete-all items reload the page)
  • 각 항목의 완전 삭제 버튼 → 확인 후 영구 제거 (되돌릴 수 없음)Per-item Delete permanently → confirm and remove forever (irreversible)
  • 하단 휴지통 비우기 → 모든 항목을 한꺼번에 영구 삭제Bottom Empty trash → permanently remove all items at once
주의Caution 휴지통은 이 브라우저의 localStorage에만 저장됩니다. 브라우저 데이터를 초기화하거나 다른 기기로 옮기면 휴지통도 함께 사라집니다. 중요한 변경 직전에는 ⚙ Settings → JSON 백업으로 별도 export를 권장합니다. Trash lives in this browser's localStorage. Clearing browser data or switching devices wipes Trash too. Before major changes, take a JSON backup via ⚙ Settings → Export.
11 · 보안 · 데이터Security · Data

모든 데이터는 당신의 브라우저 안에All data lives in your browser

  • 포트폴리오·계좌·메모는 localStorage 에만 저장됩니다 — 서버로 전송되지 않습니다Portfolio · accounts · notes live in localStorage only — never sent to a server
  • 비밀번호는 PBKDF2-SHA256 (10만 회) 해시 후 저장; 원본은 어디에도 남지 않습니다Password is stored as a PBKDF2-SHA256 hash (100k iterations); original never persisted
  • API 키는 가격 조회 시에만 X-API-Key 헤더로 Worker 프록시에 전달되어 외부 API로 forward되며, 우리 서버는 키를 저장하지 않습니다API keys are forwarded only as an X-API-Key header to the Worker proxy at quote time; our server never persists them
  • 전체 응답에 CSP, X-Content-Type-Options, X-Frame-Options, Referrer-Policy, Permissions-Policy 등 5종 보안 헤더가 적용됩니다Every response carries 5 security headers (CSP, X-Content-Type-Options, X-Frame-Options, Referrer-Policy, Permissions-Policy)
  • 매일 자동으로 7개 스냅샷 백업이 localStorage 에 보관됩니다 — Settings → 자동 백업 메뉴에서 시점별 복원 가능7 daily auto-backups are kept locally — restore any of them via Settings → Auto Backup
중요한 데이터는 정기 exportExport important data regularly 브라우저 데이터를 지우거나, 다른 기기로 옮길 때를 대비해 Settings → JSON 백업 으로 정기 내보내기를 권장합니다.If you clear browser data or move devices, you’ll need a JSON export. Make it a habit.