Skip to content

Commit 9767313

Browse files
authored
Merge pull request #119 from imaginer-dev/16-이용동의-약관-및-개인정보-수집동의
16 이용동의 약관 및 개인정보 수집동의
2 parents 51bf8ba + a9644c9 commit 9767313

File tree

13 files changed

+821
-6
lines changed

13 files changed

+821
-6
lines changed

.eslintrc.cjs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,5 +14,7 @@ module.exports = {
1414
plugins: ['react', 'react-refresh'],
1515
rules: {
1616
'tailwindcss/no-custom-classname': 'off',
17+
'@typescript-eslint/no-explicit-any': 'off',
18+
'@typescript-eslint/explicit-module-boundary-types': 'off',
1719
},
1820
};
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
import { usePolicyState } from '../../stores/policyStore';
2+
3+
const PolicyButton = () => {
4+
const { check } = usePolicyState();
5+
6+
const onClick = () => {
7+
console.log(check);
8+
};
9+
10+
return (
11+
<div className="absolute bottom-12 w-10/12 md:w-11/12">
12+
<button type={'submit'} onClick={onClick} className="btn btn-outline btn-primary m-auto block w-full max-w-md">
13+
동의하기
14+
</button>
15+
</div>
16+
);
17+
};
18+
19+
export default PolicyButton;
Lines changed: 287 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,287 @@
1+
import { FC } from 'react';
2+
import PolicySections from '../../components/Policy/PolicySections';
3+
4+
const PolicyPersonalInfo: FC = () => {
5+
return (
6+
<div className="card-body overflow-y-scroll">
7+
<p>
8+
Imaginer(이하 ‘회사’라 한다)는 개인정보 보호법 제30조에 따라 정보 주체의 개인정보를 보호하고 이와 관련한 고충을
9+
신속하고 원활하게 처리할 수 있도록 하기 위하여 다음과 같이 개인정보 처리지침을 수립, 공개합니다.
10+
</p>
11+
12+
<PolicySections
13+
info={[
14+
{
15+
id: 'person1',
16+
headline: '제1조 (개인정보의 처리목적)',
17+
explain:
18+
'회사는 다음의 목적을 위하여 개인정보를 처리합니다. 처리하고 있는 개인정보는 다음의 목적 이외의 용도로는 이용되지 않으며, 이용 목적이 변경되는 경우에는 개인정보보호법 제18조에 따라 별도의 동의를 받는 등 필요한 조치를 이행할 예정입니다.',
19+
lists: [
20+
{
21+
id: 'person1_0',
22+
title: '1. 홈페이지 회원 가입 및 관리',
23+
content:
24+
'회원 가입 의사 확인, 회원제 서비스 제공에 따른 본인 식별․인증, 회원자격 유지․관리, 제한적 본인확인제 시행에 따른 본인확인, 서비스 부정 이용 방지, 만 14세 미만 아동의 개인정보처리 시 법정대리인의 동의 여부 확인, 각종 고지․통지, 고충 처리 등을 목적으로 개인정보를 처리합니다.',
25+
},
26+
{
27+
id: 'person1_1',
28+
title: '2. 재화 또는 서비스 제공',
29+
content:
30+
'물품 배송, 서비스 제공, 계약서 및 청구서 발송, 콘텐츠 제공, 맞춤서비스 제공, 본인인증, 연령인증, 요금결제 및 정산, 채권추심 등을 목적으로 개인정보를 처리합니다.',
31+
},
32+
{
33+
id: 'person1_2',
34+
title: '3. 고충 처리',
35+
content:
36+
'민원인의 신원 확인, 민원사항 확인, 사실조사를 위한 연락․통지, 처리 결과 통보 등의 목적으로 개인정보를 처리합니다.',
37+
},
38+
],
39+
},
40+
{
41+
id: 'person2',
42+
headline: '제2조 (개인정보의 처리 및 보유기간)',
43+
lists: [
44+
{
45+
id: 'person2_0',
46+
title:
47+
'① 회사는 법령에 따른 개인정보 보유, 이용 기간 또는 정보주체로부터 개인정보를 수집 시에 동의 받은 개인정보 보유, 이용 기간 내에서 개인정보를 처리, 보유합니다.',
48+
},
49+
{
50+
id: 'person2_1',
51+
title: '② 각각의 개인정보 처리 및 보유 기간은 다음과 같습니다.',
52+
content: `1.홈페이지 회원 가입 및 관리 : 사업자/단체 홈페이지 탈퇴 시까지 다만, 다음의 사유에 해당하는 경우에는 해당 사유 종료 시까지`,
53+
child: [
54+
{
55+
id: 'person2_1_0',
56+
content: '(1) 관계 법령 위반에 따른 수사, 조사 등이 진행 중인 경우에는 해당 수사, 조사 종료 시까지',
57+
},
58+
{
59+
id: 'person2_1_1',
60+
content: '(2)홈페이지 이용에 따른 채권 및 채무관계 잔존 시에는 해당 채권, 채무 관계 정산 시까지',
61+
},
62+
],
63+
},
64+
],
65+
},
66+
{
67+
id: 'person5',
68+
headline: '제5조(이용자 및 법정대리인의 권리와 그 행사 방법)',
69+
explain: '',
70+
lists: [
71+
{
72+
id: 'person5_0',
73+
title: ' ① 정보주체는 회사에 대해 언제든지 다음 각 호의 개인정보 보호 관련 권리를 행사할 수 있습니다.',
74+
child: [
75+
{
76+
id: 'person5_0_0',
77+
content: '1. 개인정보 열람 요구',
78+
},
79+
{
80+
id: 'person5_0_1',
81+
content: '2. 오류 등이 있을 경우 정정 요구',
82+
},
83+
{
84+
id: 'person5_0_2',
85+
content: '3. 삭제요구',
86+
},
87+
{
88+
id: 'person5_0_3',
89+
content: '4. 처리정지 요구',
90+
},
91+
],
92+
},
93+
{
94+
id: 'person5_1',
95+
title:
96+
'② 제1항에 따른 권리 행사는 회사에 대해 서면, 전화, 전자우편, 모사전송(FAX) 등을 통하여 하실 수 있으며 회사는 이에 대해 지체없이 조치하겠습니다.',
97+
},
98+
{
99+
id: 'person5_2',
100+
title:
101+
'③ 정보주체가 개인정보의 오류 등에 대한 정정 또는 삭제를 요구한 경우에는 회사는 정정 또는 삭제를 완료할 때까지 당해 개인정보를 이용하거나 제공하지 않습니다.',
102+
},
103+
{
104+
id: 'person5_3',
105+
title:
106+
'④ 제1항에 따른 권리 행사는 정보주체의 법정대리인이나 위임을 받은 자 등 대리인을 통하여 하실 수 있습니다. 이 경우 개인정보 보호법 시행규칙 별지 제11호 서식에 따른 위임장을 제출하셔야 합니다.',
107+
},
108+
{
109+
id: 'person5_4',
110+
title:
111+
'⑤ 정보주체는 개인정보 보호법 등 관계 법령을 위반하여 회사가 처리하고 있는 정보주체 본인이나 타인의 개인정보 및 사생활을 침해하여서는 아니 됩니다.',
112+
},
113+
],
114+
},
115+
{
116+
id: 'person6',
117+
headline: '제6조(처리하는 개인정보 항목)',
118+
explain: '회사는 다음의 개인정보 항목을 처리하고 있습니다.',
119+
lists: [
120+
{
121+
id: 'person6_0',
122+
title:
123+
'1. 홈페이지 회원 가입 및 관리 필수항목 : 성명, 비밀번호, 이메일주소 선택항목 : 소개글, 프로필 사진',
124+
},
125+
{
126+
id: 'person6_1',
127+
title: '2. 인터넷 서비스 이용과정에서 아래 개인정보 항목이 자동으로 생성되어 수집될 수 있습니다.',
128+
content: 'IP주소, 쿠키, MAC주소, 서비스 이용기록, 방문기록, 불량 이용기록 등',
129+
},
130+
],
131+
},
132+
{
133+
id: 'person7',
134+
headline: '제7조(개인정보의 파기)',
135+
explain: '',
136+
lists: [
137+
{
138+
id: 'person7_0',
139+
title:
140+
'① 회사는 개인정보 보유 기간의 경과, 처리목적 달성 등 개인정보가 불필요하게 되었을 때에는 지체없이 해당 개인정보를 파기합니다.',
141+
},
142+
{
143+
id: 'person7_1',
144+
title:
145+
'② 정보주체로부터 동의받은 개인정보 보유 기간이 경과하거나 처리목적이 달성되었음에도 불구하고 다른 법령에 따라 개인정보를 계속 보존하여야 하는 경우에는, 해당 개인정보를 별도의 데이터베이스(DB)로 옮기거나 보관장소를 달리하여 보존합니다.',
146+
},
147+
{
148+
id: 'person7_2',
149+
title: '③ 개인정보 파기의 절차 및 방법은 다음과 같습니다.',
150+
child: [
151+
{
152+
id: 'person7_2_0',
153+
title:
154+
'1. 파기 절차 회사는 파기 사유가 발생한 개인정보를 선정하고, 회사의 개인정보 보호책임자의 승인을 받아 개인정보를 파기합니다.',
155+
},
156+
{
157+
id: 'person7_2_1',
158+
title:
159+
'2. 파기 방법 회사는 전자적 파일 형태로 기록․저장된 개인정보는 기록을 재생할 수 없도록 로우레밸포멧(Low Level Format) 등의 방법을 이용하여 파기하며, 종이 문서에 기록․저장된 개인정보는 분쇄기로 분쇄하거나 소각하여 파기합니다.',
160+
},
161+
],
162+
},
163+
],
164+
},
165+
{
166+
id: 'person8',
167+
headline: '제8조(개인정보의 안전성 확보조치)',
168+
explain: '회사는 개인정보의 안전성 확보를 위해 다음과 같은 조치를 하고 있습니다.',
169+
lists: [
170+
{
171+
id: 'person8_0',
172+
title: '1. 관리적 조치 : 내부관리계획 수립 및 시행, 정기적 직원 교육 등',
173+
},
174+
{
175+
id: 'person8_1',
176+
title:
177+
'2. 기술적 조치 : 개인정보처리시스템 등의 접근 권한 관리, 접근통제시스템 설치, 고유 식별정보 등의 암호화, 보안프로그램 설치',
178+
},
179+
{
180+
id: 'person8_2',
181+
title: '3. 물리적 조치 : 전산실, 자료보관실 등의 접근통제 ',
182+
},
183+
],
184+
},
185+
{
186+
id: 'person9',
187+
headline: '제9조(개인정보 자동 수집 장치의 설치∙운영 및 거부에 관한 사항)',
188+
lists: [
189+
{
190+
id: 'person9_0',
191+
title:
192+
'① 회사는 이용자에게 개별적인 맞춤 서비스를 제공하기 위해 이용정보를 저장하고 수시로 불러오는 ‘쿠키(cookie)’를 사용합니다.',
193+
},
194+
{
195+
id: 'person9_1',
196+
title:
197+
'② 쿠키는 웹사이트를 운영하는데 이용되는 서버(http)가 이용자의 컴퓨터 브라우저에 보내는 소량의 정보이며 이용자들의 컴퓨터 내의 하드디스크에 저장되기도 합니다.',
198+
child: [
199+
{
200+
id: 'person9_1_0',
201+
title:
202+
'가. 쿠키의 사용 목적: 이용자가 방문한 각 서비스와 웹 사이트들에 대한 방문 및 이용형태, 인기 검색어, 보안접속 여부, 등을 파악하여 이용자에게 최적화된 정보 제공을 위해 사용됩니다.',
203+
},
204+
{
205+
id: 'person9_1_1',
206+
title:
207+
'나. 쿠키의 설치∙운영 및 거부 : 웹브라우저 상단의 도구 - 인터넷 옵션 - 개인정보 메뉴의 옵션 설정을 통해 쿠키 저장을 거부 할 수 있습니다.',
208+
},
209+
{
210+
id: 'person9_1_2',
211+
title: '다. 쿠키 저장을 거부할 경우 맞춤형 서비스 이용에 어려움이 발생할 수 있습니다.',
212+
},
213+
],
214+
},
215+
],
216+
},
217+
{
218+
id: 'person12',
219+
headline: '제12조(권익침해 구제 방법)',
220+
explain: '정보주체는 아래의 기관에 대해 개인정보 침해에 대한 피해구제, 상담 등을 문의하실 수 있습니다.',
221+
lists: [
222+
{
223+
id: 'person12_0',
224+
title: '▶ 개인정보 침해신고센터 (한국인터넷진흥원 운영)',
225+
child: [
226+
{
227+
id: 'person12_0_0',
228+
content: '- 소관 업무 : 개인정보 침해사실 신고, 상담 신청',
229+
},
230+
{
231+
id: 'person12_0_1',
232+
content: '- 홈페이지 : privacy.kisa.or.kr',
233+
},
234+
{
235+
id: 'person12_0_2',
236+
content: '- 전화 : (국번없이) 118',
237+
},
238+
{
239+
id: 'person12_0_3',
240+
content: '- 주소 : (58324) 전남 나주시 진흥길 9(빛가람동 301-2) 3층 개인정보침해신고센터',
241+
},
242+
],
243+
},
244+
{
245+
id: 'person12_1',
246+
title: '▶ 개인정보 분쟁조정위원회',
247+
child: [
248+
{
249+
id: 'person12_1_0',
250+
content: '- 소관업무 : 개인정보 분쟁조정신청, 집단분쟁조정 (민사적 해결)',
251+
},
252+
{
253+
id: 'person12_1_1',
254+
content: '- 홈페이지 : www.kopico.go.kr',
255+
},
256+
{
257+
id: 'person12_1_2',
258+
content: '- 전화 : (국번없이) 1833-6972',
259+
},
260+
{
261+
id: 'person12_1_3',
262+
content: '- 주소 : (03171)서울특별시 종로구 세종대로 209 정부서울청사 4층',
263+
},
264+
],
265+
},
266+
{
267+
id: 'person12_2',
268+
title: '▶ 대검찰청 사이버범죄수사단 : 02-3480-3573 (www.spo.go.kr)',
269+
},
270+
{
271+
id: 'person12_3',
272+
title: '▶ 경찰청 사이버안전국 : 182 (http://cyberbureau.police.go.kr)',
273+
},
274+
],
275+
},
276+
{
277+
id: 'person13',
278+
headline:
279+
'제13조(개인정보 처리방침 시행 및 변경)</strong>이 개인정보 처리방침은 20XX. X. X부터 적용됩니다.',
280+
},
281+
]}
282+
/>
283+
</div>
284+
);
285+
};
286+
287+
export default PolicyPersonalInfo;
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
import { FC } from 'react';
2+
3+
interface listProps {
4+
lists: any[];
5+
}
6+
7+
interface sectionProps {
8+
info: any[];
9+
}
10+
11+
const PolicySections: FC<sectionProps> = ({ info }) => {
12+
return info.map(({ id, headline, explain, lists }) => {
13+
return (
14+
<div key={id}>
15+
<div className="my-2 font-semibold">{headline}</div>
16+
{explain && <div className="my-2">{explain}</div>}
17+
{lists && <PolicyList lists={lists} />}
18+
</div>
19+
);
20+
});
21+
};
22+
23+
const PolicyList: FC<listProps> = ({ lists }) => {
24+
return (
25+
<ul className="mx-2">
26+
{lists.map(({ id, title, content, child = [] }) => {
27+
return (
28+
<li key={id}>
29+
{title && <p>{title}</p>}
30+
{content && <p className="mx-4">{content}</p>}
31+
{child.length > 0 && <PolicyList lists={child} />}
32+
</li>
33+
);
34+
})}
35+
</ul>
36+
);
37+
};
38+
39+
export default PolicySections;

0 commit comments

Comments
 (0)