PRIVACY
개인정보처리방침
Songnote(Piano Play)는 계정을 만들지 않습니다. 악보 내용은 서버로 전송되지 않고, 이 브라우저에만 남습니다. 아래 설명은 2026-09-27의 앱 코드와 배포 설정을 기준으로 합니다.
운영자
운영자는 Still Coding의 김종훈입니다. 문의는 still.coding.cc@gmail.com입니다. 서비스는 어린이 전용으로 설계하지 않았고, 계정을 받아 나이를 확인하지도 않습니다.
앱이 수집하지 않는 것
- 이름, 이메일, 비밀번호 계정을 받지 않습니다. 문의는 이용자가 직접 메일을 보낼 때만 이루어집니다.
- 악보 텍스트, 불러온 파일, 버전을 서버에 업로드하지 않습니다.
- 마이크, 카메라, 위치, 연락처를 쓰지 않습니다.
- 앱 코드는 분석 스크립트나 광고 스크립트를 넣지 않고, 쿠키를 만들지 않습니다.
브라우저에 남는 악보
저장은 이 브라우저의 localStorage입니다. 다른 기기나 다른 브라우저와 동기화되지 않습니다.
| 키 | 내용 |
|---|---|
songnote-custom-pieces | 새 악보로 만든 곡의 목록. 제목, 작곡가, 조성, ABC. |
songnote-drafts | 곡 id별 편집 초안. 음을 고치면 저장 전에도 갱신됩니다. |
songnote-draft | 마지막으로 적용한 악보 텍스트. 다음 방문 때 이 텍스트로 다시 엽니다. |
songnote-versions | 저장을 누를 때마다 추가되는 그 곡의 ABC 버전. |
예제 네 곡은 이 키가 아니라 앱 파일에 들어 있으므로, 저장 공간을 지워도 다시 나타납니다. 저장 공간이 가득 차면 화면은 브라우저 저장 공간을 쓸 수 없으니 악보를 내려받으라고 알립니다.
파일 불러오기와 내려받기
불러오기는 파일 선택 창에서 .abc 또는 .txt를 읽고, 100KB를 넘으면 거부합니다. 읽기는 브라우저 안에서 끝나고 네트워크 요청을 만들지 않습니다. 불러온 파일은 현재 악보와 songnote-draft에는 반영되지만, 라이브러리 카드 목록에는 자동으로 들어가지 않습니다.
내려받기는 지금 편집 중인 ABC로 songnote.abc 파일을 만듭니다. 이 파일은 이용자의 기기에만 저장됩니다.
피드백
스튜디오 화면은 Still Coding 피드백 위젯을 한 번 불러옵니다. 식별자는 공개 값 piano-play-still-coding-cc이고 비밀키가 아닙니다. 피드백 보내기를 눌러 제출하면 제목, 내용, 선택적 회신 이메일, 선택적 스크린샷이 https://user-feedback.still-coding.cc로 전송됩니다. 스크린샷은 JPEG, PNG, WebP이며 파일당 5MB 이하입니다. 서버는 접수와 함께 브라우저 User-Agent와 IP 주소의 해시를 남깁니다.
악보 텍스트, 페이지 주소, 화면 전체 캡처, 콘솔 로그는 자동으로 보내지 않습니다. 비밀번호, API 키, 비공개 악보 전문은 적지 마세요. 같은 IP에서 이 앱으로는 10초에 1건, 한 시간에 10건까지 접수됩니다. 앱 코드에는 피드백 보관 기간이 없고, 접수 내용은 운영자가 지우기 전까지 피드백 서비스에 남습니다. 삭제 요청은 문의로 보냅니다.
이 위젯은 초대 로그인으로 제출을 잠그지 않습니다. 허용된 사이트 주소에서 열린 접수 창으로 보낸 내용이 저장됩니다. 악보 편집기나 사용 가이드를 연 동안에는 피드백 버튼이 편집과 건반을 가리지 않도록 숨습니다. 언어를 바꾸면 열려 있던 피드백 창은 닫힙니다.
소리
재생과 건반은 Web Audio API로 이 기기에서 합성합니다. 오디오가 서버로 나가거나 녹음으로 저장되지 않습니다. 탭을 숨기면 재생이 멈춥니다. 브라우저가 소리를 막으면 오디오를 시작하지 못했다는 안내가 나옵니다.
서버와 로그
사이트는 Cloudflare Workers의 정적 파일로 제공됩니다. 페이지를 열 때의 주소, 시각, 상태 같은 요청 정보는 Cloudflare의 운영 로그에 남을 수 있습니다. Workers observability가 켜져 있습니다. 악보 내용은 주소나 요청 본문에 없으므로 그 로그에 악보가 실리지 않습니다. 앱 코드에는 그 로그의 보관 기간이 정해져 있지 않으며, 보관은 Cloudflare 계정 설정을 따릅니다.
개인 악보를 가리키는 공개 주소는 만들지 않습니다. ?piece=는 ode, twinkle, elise, techniques 같은 예제 id만 열고, 그 주소는 검색 사이트맵에 넣지 않습니다.
광고
표시 언어는 주소로만 구분합니다. 고른 언어를 브라우저에 따로 저장하지 않습니다. 한국어 주소를 직접 열면 한국어가, /en/ 주소를 직접 열면 영어가 나옵니다. 브라우저 언어에 따라 자동으로 옮기지 않습니다.
지금은 광고 스크립트, 게시자 ID, ads.txt를 넣지 않습니다. 게시자 계정이 확인되기 전에는 광고 코드를 올리지 않습니다. 유럽 경제 지역, 영국, 스위스의 개인 맞춤 광고에 필요한 동의 도구도, 맞춤 광고를 하지 않으므로 넣지 않습니다.
나중에 광고를 검토할 후보는 읽기 문서뿐입니다. 사용 가이드, 곡 소개와 곡별 소개 페이지입니다. 이 페이지들은 data-ad-eligible="true"입니다.
스튜디오, 악보 편집, 재생, 건반, 악보 삭제와 불러오기, 소개, 개인정보, 이용약관, 문의, 없는 주소는 광고 비적격입니다. 스튜디오는 광고 태그가 있어도 제거하도록 되어 있고 data-ad-eligible="false"입니다. 자동 광고를 스튜디오 조작 화면에 일괄로 켜지 않습니다. 오선, 편집 도구, 재생 컨트롤, 건반, 삭제·불러오기 옆에는 광고를 두지 않습니다.
보관과 삭제
- 기본 예제 네 곡은 삭제할 수 없습니다.
- 내가 만든 악보는 스튜디오의 삭제 버튼으로 확인 후 지웁니다. 카드, 초안, 버전이 함께 삭제됩니다.
- 브라우저의 사이트 데이터 또는 localStorage를 지우면 위 네 키가 모두 삭제됩니다. 서버에 지울 사본은 없습니다.
- 메일로 보낸 문의는 메일함에서 처리합니다. 문제 해결에 필요 없는 개인정보는 보내지 말아 주세요.
변경
저장 방식이나 광고 게재를 바꾸면 이 문서를 고치고, 위에 보이는 수정일과 사이트맵의 lastmod를 그 날짜로 맞춥니다.