|
| 1 | +// |
| 2 | +// Privacy.swift |
| 3 | +// 동네북 |
| 4 | +// |
| 5 | +// Created by SSB on 2021/11/28. |
| 6 | +// |
| 7 | + |
| 8 | +import SwiftUI |
| 9 | + |
| 10 | +struct Privacy: View { |
| 11 | + @Binding var privacyAgree: Bool |
| 12 | + @Environment(\.presentationMode) var presentationMode: Binding<PresentationMode> |
| 13 | + |
| 14 | + private let privacyText = """ |
| 15 | + < YellowRibbonToCode >('https://github.com/yellowRibbonToCode/PrivateLibrary' 이하 '동네북')은(는) 「개인정보 보호법」 제30조에 따라 정보주체의 개인정보를 보호하고 이와 관련한 고충을 신속하고 원활하게 처리할 수 있도록 하기 위하여 다음과 같이 개인정보 처리방침을 수립·공개합니다. |
| 16 | + |
| 17 | + ○ 이 개인정보처리방침은 2021년 11월 19부터 적용됩니다. |
| 18 | + |
| 19 | + 제1조(개인정보의 처리 목적) |
| 20 | + |
| 21 | + < YellowRibbonToCode >('https://github.com/yellowRibbonToCode/PrivateLibrary' 이하 '동네북')은(는) 다음의 목적을 위하여 개인정보를 처리합니다. 처리하고 있는 개인정보는 다음의 목적 이외의 용도로는 이용되지 않으며 이용 목적이 변경되는 경우에는 「개인정보 보호법」 제18조에 따라 별도의 동의를 받는 등 필요한 조치를 이행할 예정입니다. |
| 22 | + |
| 23 | + 홈페이지 회원가입 및 관리 |
| 24 | + 회원 가입의사 확인, 회원제 서비스 제공에 따른 본인 식별·인증, 회원자격 유지·관리 목적으로 개인정보를 처리합니다. |
| 25 | + |
| 26 | + 재화 또는 서비스 제공 |
| 27 | + 콘텐츠 제공을 목적으로 개인정보를 처리합니다. |
| 28 | + |
| 29 | + 제2조(개인정보의 처리 및 보유 기간) |
| 30 | + |
| 31 | + ① < YellowRibbonToCode >은(는) 법령에 따른 개인정보 보유·이용기간 또는 정보주체로부터 개인정보를 수집 시에 동의받은 개인정보 보유·이용기간 내에서 개인정보를 처리·보유합니다. |
| 32 | + |
| 33 | + ② 각각의 개인정보 처리 및 보유 기간은 다음과 같습니다. |
| 34 | + |
| 35 | + 1.<홈페이지 회원가입 및 관리> <홈페이지 회원가입 및 관리>와 관련한 개인정보는 수집.이용에 관한 동의일로부터<서비스 이용계약 또는 회원가입 해지시까지>까지 위 이용목적을 위하여 보유.이용됩니다. 보유근거 : 이용약관 관련법령 : 계약 또는 청약철회 등에 관한 기록 : 5년 예외사유 : 2.<재화 또는 서비스 제공> <재화 또는 서비스 제공>와 관련한 개인정보는 수집.이용에 관한 동의일로부터<서비스 이용계약 또는 회원가입 해지시까지>까지 위 이용목적을 위하여 보유.이용됩니다. 보유근거 : 이용약관 관련법령 : 계약 또는 청약철회 등에 관한 기록 : 5년 예외사유 : |
| 36 | + |
| 37 | + 제3조(정보주체와 법정대리인의 권리·의무 및 그 행사방법) |
| 38 | + |
| 39 | + ① 정보주체는 YellowRibbonToCode에 대해 언제든지 개인정보 열람·정정·삭제·처리정지 요구 등의 권리를 행사할 수 있습니다. |
| 40 | + |
| 41 | + ② 제1항에 따른 권리 행사는YellowRibbonToCode에 대해 「개인정보 보호법」 시행령 제41조제1항에 따라 서면, 전자우편, 모사전송(FAX) 등을 통하여 하실 수 있으며 YellowRibbonToCode은(는) 이에 대해 지체 없이 조치하겠습니다. |
| 42 | + |
| 43 | + ③ 제1항에 따른 권리 행사는 정보주체의 법정대리인이나 위임을 받은 자 등 대리인을 통하여 하실 수 있습니다.이 경우 “개인정보 처리 방법에 관한 고시(제2020-7호)” 별지 제11호 서식에 따른 위임장을 제출하셔야 합니다. |
| 44 | + |
| 45 | + ④ 개인정보 열람 및 처리정지 요구는 「개인정보 보호법」 제35조 제4항, 제37조 제2항에 의하여 정보주체의 권리가 제한 될 수 있습니다. |
| 46 | + |
| 47 | + ⑤ 개인정보의 정정 및 삭제 요구는 다른 법령에서 그 개인정보가 수집 대상으로 명시되어 있는 경우에는 그 삭제를 요구할 수 없습니다. |
| 48 | + |
| 49 | + ⑥ YellowRibbonToCode은(는) 정보주체 권리에 따른 열람의 요구, 정정·삭제의 요구, 처리정지의 요구 시 열람 등 요구를 한 자가 본인이거나 정당한 대리인인지를 확인합니다. |
| 50 | + |
| 51 | + 제4조(처리하는 개인정보의 항목 작성) |
| 52 | + |
| 53 | + ① < YellowRibbonToCode >은(는) 다음의 개인정보 항목을 처리하고 있습니다. |
| 54 | + |
| 55 | + 1< 홈페이지 회원가입 및 관리 > 필수항목 : 이메일, 비밀번호, 로그인ID, 이름 선택항목 : |
| 56 | + |
| 57 | + 제5조(개인정보의 파기) |
| 58 | + |
| 59 | + ① < YellowRibbonToCode > 은(는) 개인정보 보유기간의 경과, 처리목적 달성 등 개인정보가 불필요하게 되었을 때에는 지체없이 해당 개인정보를 파기합니다. |
| 60 | + |
| 61 | + ② 정보주체로부터 동의받은 개인정보 보유기간이 경과하거나 처리목적이 달성되었음에도 불구하고 다른 법령에 따라 개인정보를 계속 보존하여야 하는 경우에는, 해당 개인정보를 별도의 데이터베이스(DB)로 옮기거나 보관장소를 달리하여 보존합니다. |
| 62 | + |
| 63 | + 법령 근거 : |
| 64 | + 보존하는 개인정보 항목 : 계좌정보, 거래날짜 |
| 65 | + ③ 개인정보 파기의 절차 및 방법은 다음과 같습니다. |
| 66 | + |
| 67 | + 파기절차 < YellowRibbonToCode > 은(는) 파기 사유가 발생한 개인정보를 선정하고, < YellowRibbonToCode > 의 개인정보 보호책임자의 승인을 받아 개인정보를 파기합니다. |
| 68 | + |
| 69 | + 파기방법 |
| 70 | + |
| 71 | + 전자적 파일 형태의 정보는 기록을 재생할 수 없는 기술적 방법을 사용합니다 |
| 72 | + |
| 73 | + 제6조(개인정보의 안전성 확보 조치) |
| 74 | + |
| 75 | + < YellowRibbonToCode >은(는) 개인정보의 안전성 확보를 위해 다음과 같은 조치를 취하고 있습니다. |
| 76 | + |
| 77 | + 정기적인 자체 감사 실시 개인정보 취급 관련 안정성 확보를 위해 정기적(분기 1회)으로 자체 감사를 실시하고 있습니다. |
| 78 | + |
| 79 | + 개인정보 취급 직원의 최소화 및 교육 개인정보를 취급하는 직원을 지정하고 담당자에 한정시켜 최소화 하여 개인정보를 관리하는 대책을 시행하고 있습니다. |
| 80 | + |
| 81 | + 내부관리계획의 수립 및 시행 개인정보의 안전한 처리를 위하여 내부관리계획을 수립하고 시행하고 있습니다. |
| 82 | + |
| 83 | + 해킹 등에 대비한 기술적 대책 ('동네북')은 해킹이나 컴퓨터 바이러스 등에 의한 개인정보 유출 및 훼손을 막기 위하여 보안프로그램을 설치하고 주기적인 갱신·점검을 하며 외부로부터 접근이 통제된 구역에 시스템을 설치하고 기술적/물리적으로 감시 및 차단하고 있습니다. |
| 84 | + |
| 85 | + 개인정보의 암호화 이용자의 개인정보는 비밀번호는 암호화 되어 저장 및 관리되고 있어, 본인만이 알 수 있으며 중요한 데이터는 파일 및 전송 데이터를 암호화 하거나 파일 잠금 기능을 사용하는 등의 별도 보안기능을 사용하고 있습니다. |
| 86 | + |
| 87 | + 접속기록의 보관 및 위변조 방지 개인정보처리시스템에 접속한 기록을 최소 1년 이상 보관, 관리하고 있으며,다만, 5만명 이상의 정보주체에 관하여 개인정보를 추가하거나, 고유식별정보 또는 민감정보를 처리하는 경우에는 2년이상 보관, 관리하고 있습니다. 또한, 접속기록이 위변조 및 도난, 분실되지 않도록 보안기능을 사용하고 있습니다. |
| 88 | + |
| 89 | + 개인정보에 대한 접근 제한 개인정보를 처리하는 데이터베이스시스템에 대한 접근권한의 부여,변경,말소를 통하여 개인정보에 대한 접근통제를 위하여 필요한 조치를 하고 있으며 침입차단시스템을 이용하여 외부로부터의 무단 접근을 통제하고 있습니다. |
| 90 | + |
| 91 | + 제7조(개인정보 자동 수집 장치의 설치•운영 및 거부에 관한 사항) |
| 92 | + |
| 93 | + ① YellowRibbonToCode 은(는) 이용자에게 개별적인 맞춤서비스를 제공하기 위해 이용정보를 저장하고 수시로 불러오는 ‘쿠키(cookie)’를 사용합니다. ② 쿠키는 웹사이트를 운영하는데 이용되는 서버(http)가 이용자의 컴퓨터 브라우저에게 보내는 소량의 정보이며 이용자들의 PC 컴퓨터내의 하드디스크에 저장되기도 합니다. 가. 쿠키의 사용 목적 : 이용자가 방문한 각 서비스와 웹 사이트들에 대한 방문 및 이용형태, 인기 검색어, 보안접속 여부, 등을 파악하여 이용자에게 최적화된 정보 제공을 위해 사용됩니다. 나. 쿠키의 설치•운영 및 거부 : 웹브라우저 상단의 도구>인터넷 옵션>개인정보 메뉴의 옵션 설정을 통해 쿠키 저장을 거부 할 수 있습니다. 다. 쿠키 저장을 거부할 경우 맞춤형 서비스 이용에 어려움이 발생할 수 있습니다. |
| 94 | + |
| 95 | + 제8조 (개인정보 보호책임자) |
| 96 | + |
| 97 | + ① YellowRibbonToCode 은(는) 개인정보 처리에 관한 업무를 총괄해서 책임지고, 개인정보 처리와 관련한 정보주체의 불만처리 및 피해구제 등을 위하여 아래와 같이 개인정보 보호책임자를 지정하고 있습니다. |
| 98 | + |
| 99 | + ▶ 개인정보 보호책임자 성명 :신성범 직책 :직원 직급 :직원 연락처 :01031130498, [email protected], ※ 개인정보 보호 담당부서로 연결됩니다. |
| 100 | + |
| 101 | + ▶ 개인정보 보호 담당부서 부서명 : 담당자 : 연락처 :, , ② 정보주체께서는 YellowRibbonToCode 의 서비스(또는 사업)을 이용하시면서 발생한 모든 개인정보 보호 관련 문의, 불만처리, 피해구제 등에 관한 사항을 개인정보 보호책임자 및 담당부서로 문의하실 수 있습니다. YellowRibbonToCode 은(는) 정보주체의 문의에 대해 지체 없이 답변 및 처리해드릴 것입니다. |
| 102 | + |
| 103 | + 제9조(개인정보 열람청구) 정보주체는 「개인정보 보호법」 제35조에 따른 개인정보의 열람 청구를 아래의 부서에 할 수 있습니다. < YellowRibbonToCode >은(는) 정보주체의 개인정보 열람청구가 신속하게 처리되도록 노력하겠습니다. |
| 104 | + |
| 105 | + ▶ 개인정보 열람청구 접수·처리 부서 부서명 : 담당자 : 연락처 : , , |
| 106 | + |
| 107 | + 제10조(권익침해 구제방법) |
| 108 | + |
| 109 | + 정보주체는 개인정보침해로 인한 구제를 받기 위하여 개인정보분쟁조정위원회, 한국인터넷진흥원 개인정보침해신고센터 등에 분쟁해결이나 상담 등을 신청할 수 있습니다. 이 밖에 기타 개인정보침해의 신고, 상담에 대하여는 아래의 기관에 문의하시기 바랍니다. |
| 110 | + |
| 111 | + 개인정보분쟁조정위원회 : (국번없이) 1833-6972 (www.kopico.go.kr) |
| 112 | + 개인정보침해신고센터 : (국번없이) 118 (privacy.kisa.or.kr) |
| 113 | + 대검찰청 : (국번없이) 1301 (www.spo.go.kr) |
| 114 | + 경찰청 : (국번없이) 182 (ecrm.cyber.go.kr) |
| 115 | + 「개인정보보호법」제35조(개인정보의 열람), 제36조(개인정보의 정정·삭제), 제37조(개인정보의 처리정지 등)의 규정에 의한 요구에 대 하여 공공기관의 장이 행한 처분 또는 부작위로 인하여 권리 또는 이익의 침해를 받은 자는 행정심판법이 정하는 바에 따라 행정심판을 청구할 수 있습니다. |
| 116 | + |
| 117 | + ※ 행정심판에 대해 자세한 사항은 중앙행정심판위원회(www.simpan.go.kr) 홈페이지를 참고하시기 바랍니다. |
| 118 | + |
| 119 | + 제11조(개인정보 처리방침 변경) |
| 120 | + |
| 121 | + ① 이 개인정보처리방침은 2021년 11월 19부터 적용됩니다. |
| 122 | + """ |
| 123 | + private let termText = """ |
| 124 | + 동네북 이용약관 |
| 125 | + |
| 126 | + 제 1조 |
| 127 | + |
| 128 | + 동네북(이하 '해당 앱')의 사용자는 다음 사항을 동의합니다. |
| 129 | + 1. 불쾌하거나 기분 나쁜 컨텐츠( 노출, 외설물, 비속어와 같은 부적절한 콘텐츠 등)를 접할 수도 있다. |
| 130 | + 2. 사용자는 언제든지 불쾌한 컨텐츠를 신고할 수 있다. |
| 131 | + 3. 사용자들로부터 5회 이상 불쾌하다고 신고받은 컨텐츠는 그 즉시 삭제한다. |
| 132 | + 4. 사용자들로부터 5회 이상 불쾌하다고 신고받은 컨텐츠를 올린 사람에 대해 더 이상 글을 쓸 수 없도록 조치하는 것을 24시간 이내에 수행한다. |
| 133 | + 5. 사용자가 올린 이미지 및 텍스트 등의 정보는 앱 이외의 사항에 사용하지 않는다. |
| 134 | + |
| 135 | + 제 2조 |
| 136 | + |
| 137 | + 「개인정보보호법」제35조(개인정보의 열람), 제36조(개인정보의 정정·삭제), 제37조(개인정보의 처리정지 등)의 규정에 의한 요구에 대 하여 공공기관의 장이 행한 처분 또는 부작위로 인하여 권리 또는 이익의 침해를 받은 자는 행정심판법이 정하는 바에 따라 행정심판을 청구할 수 있습니다. |
| 138 | + |
| 139 | + 1. 개인정보분쟁조정위원회 : (국번없이) 1833-6972 (www.kopico.go.kr) |
| 140 | + |
| 141 | + 2. 개인정보침해신고센터 : (국번없이) 118 (privacy.kisa.or.kr) |
| 142 | + |
| 143 | + 3. 대검찰청 : (국번없이) 1301 (www.spo.go.kr) |
| 144 | + |
| 145 | + 4. 경찰청 : (국번없이) 182 (ecrm.cyber.go.kr) |
| 146 | + |
| 147 | + """ |
| 148 | + |
| 149 | + var body: some View { |
| 150 | + VStack(alignment: .leading){ |
| 151 | + Text("개인정보 처리방침") |
| 152 | + .padding() |
| 153 | + .foregroundColor(.mainBlue) |
| 154 | + .font(Font.custom("S-CoreDream-6Bold", size: 20)) |
| 155 | + privacyInfo() |
| 156 | + Text("이용 약관") |
| 157 | + .padding() |
| 158 | + .foregroundColor(.mainBlue) |
| 159 | + .font(Font.custom("S-CoreDream-6Bold", size: 20)) |
| 160 | + termsOfUse() |
| 161 | + Button(action: { |
| 162 | + self.privacyAgree = true |
| 163 | + self.presentationMode.wrappedValue.dismiss() |
| 164 | + }) { |
| 165 | + HStack{ |
| 166 | + Spacer() |
| 167 | + RoundedRectangle(cornerRadius: 20) |
| 168 | + .fill(Color.mainBlue) |
| 169 | + .frame(width: 200, height: 50) |
| 170 | + .overlay( |
| 171 | + Text("동의합니다.") |
| 172 | + .foregroundColor(.white) |
| 173 | + .background(Color.mainBlue) |
| 174 | + .font(Font.custom("S-CoreDream-6Bold", size: 20)) |
| 175 | + |
| 176 | + .padding() |
| 177 | + ) |
| 178 | + Spacer() |
| 179 | + } |
| 180 | + } |
| 181 | + .padding() |
| 182 | + Spacer() |
| 183 | + |
| 184 | + .navigationTitle("") |
| 185 | + .navigationBarTitleDisplayMode(.inline) |
| 186 | + .navigationBarBackButtonHidden(true) |
| 187 | + .navigationBarItems(leading: Button(action: { |
| 188 | + self.presentationMode.wrappedValue.dismiss() |
| 189 | + }){ |
| 190 | + Image(systemName: "arrow.left") |
| 191 | + .foregroundColor(.mainBlue) |
| 192 | + }) |
| 193 | + |
| 194 | + } |
| 195 | + .font(Font.custom("S-CoreDream-5Medium", size: 15)) |
| 196 | + } |
| 197 | + |
| 198 | + fileprivate func privacyInfo() -> some View { |
| 199 | + return( |
| 200 | + ScrollView{ |
| 201 | + VStack{ |
| 202 | + Text(privacyText) |
| 203 | + .padding() |
| 204 | + } |
| 205 | + } |
| 206 | + .border(Color.mainBlue) |
| 207 | + .padding(.horizontal) |
| 208 | + ) |
| 209 | + } |
| 210 | + |
| 211 | + fileprivate func termsOfUse() -> some View { |
| 212 | + return( |
| 213 | + ScrollView{ |
| 214 | + VStack{ |
| 215 | + Text(termText) |
| 216 | + |
| 217 | + .padding() |
| 218 | + } |
| 219 | + } |
| 220 | + .border(Color.mainBlue) |
| 221 | + .padding(.horizontal) |
| 222 | + ) |
| 223 | + } |
| 224 | + |
| 225 | + |
| 226 | +} |
| 227 | + |
| 228 | +//struct Privacy_Previews: PreviewProvider { |
| 229 | +// @State var privacyAgree: Bool = false |
| 230 | +// static var previews: some View { |
| 231 | +// Privacy(privacyAgree: $privacyAgree) |
| 232 | +// } |
| 233 | +//} |
| 234 | + |
| 235 | +// .lineSpacing(50) |
| 236 | + |
0 commit comments