diff --git a/apps/client/src/app/policy/privacy/page.tsx b/apps/client/src/app/policy/privacy/page.tsx
new file mode 100644
index 000000000..5cec8569f
--- /dev/null
+++ b/apps/client/src/app/policy/privacy/page.tsx
@@ -0,0 +1,25 @@
+import { PrivacyPolicy, Header, Footer } from 'client/components';
+
+import type { Metadata } from 'next';
+
+export const metadata: Metadata = {
+ description:
+ '광주소프트웨어마이스터고등학교 공식 홈페이지 개인정보처리방침 페이지입니다.',
+ title: { absolute: '개인정보처리방침' },
+ openGraph: {
+ title: '개인정보처리방침',
+ description:
+ '광주소프트웨어마이스터고등학교 공식 홈페이지 개인정보처리방침 페이지입니다.',
+ url: 'https://official.hellogsm.kr/policy/privacy',
+ },
+};
+
+export default function Privacy() {
+ return (
+ <>
+
+
+
+ >
+ );
+}
diff --git a/apps/client/src/components/Footer/index.tsx b/apps/client/src/components/Footer/index.tsx
index f54c26183..e004ee546 100644
--- a/apps/client/src/components/Footer/index.tsx
+++ b/apps/client/src/components/Footer/index.tsx
@@ -22,8 +22,8 @@ const Footer = () => {
ALL RIGHTS RESERVED.
- 개인정보처리방침
- 영상정보처리기기운영·관리방침
+ 개인정보처리방침
+ 영상정보처리기기운영·관리방침
저작권신고 및 보호규정
찾아오시는 길
관리자
diff --git a/apps/client/src/components/Policy/BulletItem/index.tsx b/apps/client/src/components/Policy/BulletItem/index.tsx
index 9fceb857c..db2b2e77c 100644
--- a/apps/client/src/components/Policy/BulletItem/index.tsx
+++ b/apps/client/src/components/Policy/BulletItem/index.tsx
@@ -6,16 +6,18 @@ import * as S from './style';
interface BulletItemProps {
children: React.ReactNode;
+ isSmall?: boolean;
isDark?: boolean;
}
const BulletItem: React.FC = ({
children,
isDark = false,
+ isSmall = false,
}) => (
- {children}
+ {children}
);
diff --git a/apps/client/src/components/Policy/BulletItem/style.ts b/apps/client/src/components/Policy/BulletItem/style.ts
index add77f122..edd7d766d 100644
--- a/apps/client/src/components/Policy/BulletItem/style.ts
+++ b/apps/client/src/components/Policy/BulletItem/style.ts
@@ -14,9 +14,9 @@ export const Bullet = styled.div<{ isDark: boolean }>`
margin-top: 0.5938rem;
`;
-export const Text = styled.p`
- ${({ theme }) => theme.typo.h4}
- width: 100%;
+export const Text = styled.p<{ isSmall: boolean }>`
+ ${({ theme, isSmall }) => (isSmall ? theme.typo.h5 : theme.typo.h4)}
+ width: 76.125rem;
font-weight: 400;
color: ${({ theme }) => theme.color.gray['070']};
`;
diff --git a/apps/client/src/components/Policy/PrivacyPolicy/Policy1/index.tsx b/apps/client/src/components/Policy/PrivacyPolicy/Policy1/index.tsx
new file mode 100644
index 000000000..434176584
--- /dev/null
+++ b/apps/client/src/components/Policy/PrivacyPolicy/Policy1/index.tsx
@@ -0,0 +1,23 @@
+import * as S from 'client/components/Policy/PrivacyPolicy/style';
+
+const 개인정보의처리목적 = [
+ `광주소프트웨어마이스터고등학교는 대국민 서비스 제공
+ 및 민원처리, 소관업무 수행 등의 목적으로 필요에 의한 최소한의 개인정보를
+ 수집하고 있습니다.`,
+ `제1항에 대한 사항은 광주소프트웨어마이스터고등학교
+ 및 각 부서에서 운영하는 소관업무 홈페이지에 게재하여 정보주체가 확인할 수
+ 있도록 안내를 하고 있습니다.`,
+];
+
+const Policy1 = () => (
+
+ 제 1조 (개인정보의 처리 목적)
+ {개인정보의처리목적.map((description, index) => (
+
+ {index + 1}. {description}
+
+ ))}
+
+);
+
+export default Policy1;
diff --git a/apps/client/src/components/Policy/PrivacyPolicy/Policy10/Table900.tsx b/apps/client/src/components/Policy/PrivacyPolicy/Policy10/Table900.tsx
new file mode 100644
index 000000000..1f02a2cad
--- /dev/null
+++ b/apps/client/src/components/Policy/PrivacyPolicy/Policy10/Table900.tsx
@@ -0,0 +1,55 @@
+import * as T from './style';
+
+const TableContent1 = [
+ '개인정보 침해신고센터(한국인터넷진흥원 운영)',
+ '개인정보 분쟁조정위원회\n(개인정보보호위원회 운영)',
+ '경찰청 사이버안전국',
+ '대검찰청 사이버수사과',
+];
+
+const TableContent2 = [
+ 'http://privacy.kisa.or.kr',
+ 'http://www.kopico.go.kr',
+ 'http://cyberbureau.police.go.kr',
+ 'http://www.spo.go.kr',
+];
+
+const TableContent3 = [
+ '(국번없이) 118',
+ '1833-6972',
+ '(국번없이) 182',
+ '(국번없이) 1301',
+];
+
+const Table900 = () => (
+ <>
+
+ 구분
+
+ {TableContent1.map((content, index) => (
+ {content}
+ ))}
+
+
+
+
+ 홈페이지
+
+ {TableContent2.map((content, index) => (
+ {content}
+ ))}
+
+
+
+
+ 전화
+
+ {TableContent3.map((content, index) => (
+ {content}
+ ))}
+
+
+ >
+);
+
+export default Table900;
diff --git a/apps/client/src/components/Policy/PrivacyPolicy/Policy10/index.tsx b/apps/client/src/components/Policy/PrivacyPolicy/Policy10/index.tsx
new file mode 100644
index 000000000..c2da3d97e
--- /dev/null
+++ b/apps/client/src/components/Policy/PrivacyPolicy/Policy10/index.tsx
@@ -0,0 +1,54 @@
+import * as S from 'client/components/Policy/PrivacyPolicy/style';
+
+import Table900 from './Table900';
+import * as T from './style';
+
+interface Props {
+ width: number;
+}
+
+const TableContent = [
+ '개인정보 침해신고센터(한국인터넷진흥원 운영)',
+ 'http://privacy.kisa.or.kr',
+ '(국번없이) 118',
+ '개인정보 분쟁조정위원회(개인정보보호위원회 운영)',
+ 'http://www.kopico.go.kr',
+ '1833-6972',
+ '경찰청 사이버안전국',
+ 'http://cyberbureau.police.go.kr',
+ '(국번없이) 182',
+ '대검찰청 사이버수사과',
+ 'http://www.spo.go.kr',
+ '(국번없이) 130118',
+];
+
+const TableTitle = ['구분', '홈페이지', '전화'];
+
+const Policy10 = ({ width }: Props) => (
+
+ 제 10조 (권익침해 구제방법)
+
+ 개인정보주체는 개인정보침해로 인한 피해를 구제 받기 위하여 개인정보
+ 분쟁조정위원회, 한국인터넷진흥원 개인정보침해 신고센터 등에 분쟁해결이나
+ 상담 등을 신청할 수 있습니다.
+
+
+ {width > 900 ? (
+
+ {TableTitle.map((title, index) => (
+ {title}
+ ))}
+
+ {TableContent.map((content, index) => (
+ {content}
+ ))}
+
+
+ ) : (
+
+ )}
+
+
+);
+
+export default Policy10;
diff --git a/apps/client/src/components/Policy/PrivacyPolicy/Policy10/style.ts b/apps/client/src/components/Policy/PrivacyPolicy/Policy10/style.ts
new file mode 100644
index 000000000..92db459b1
--- /dev/null
+++ b/apps/client/src/components/Policy/PrivacyPolicy/Policy10/style.ts
@@ -0,0 +1,63 @@
+import styled from '@emotion/styled';
+
+export const TableTitle = styled.div`
+ display: grid;
+ margin-top: 0.75rem;
+ grid-template-columns: 25rem 32.5rem 20rem;
+ grid-template-rows: 3.75rem;
+
+ @media ${({ theme }) => theme.breakPoint['1440']} {
+ display: grid;
+ margin: 0;
+ grid-template-columns: 33.3% 33.3% 33.3%;
+ grid-template-rows: 3.75rem;
+ }
+
+ @media (max-width: 900px) {
+ display: grid;
+ margin: 0;
+ grid-template-columns: 100%;
+ grid-template-rows: 3.75rem;
+ }
+`;
+
+export const TableContent = styled.div`
+ display: grid;
+ grid-template-columns: 25rem 32.5rem 20rem;
+ grid-template-rows: 3rem 3rem 3rem 3rem;
+
+ @media ${({ theme }) => theme.breakPoint['1440']} {
+ display: grid;
+ grid-template-columns: 100% 100% 100%;
+ grid-template-rows: 3rem 3rem 3rem 3rem;
+ }
+
+ @media (max-width: 900px) {
+ display: grid;
+ grid-template-columns: 100%;
+ grid-template-rows: 3rem 3.75rem 3rem 3rem;
+ }
+`;
+
+export const TabelCellTemplate = styled.div`
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ text-align: center;
+ color: ${({ theme }) => theme.color.gray['080']};
+ border: 0.0625rem solid ${({ theme }) => theme.color.gray['050']};
+ box-sizing: border-box;
+`;
+
+export const TableTitleContent = styled(TabelCellTemplate)`
+ background-color: ${({ theme }) => theme.color.gray['030']};
+ font-size: 1.125rem;
+ font-weight: 700;
+ line-height: 1.6875rem;
+`;
+
+export const TableRowContent = styled(TabelCellTemplate)`
+ color: ${({ theme }) => theme.color.gray['070']};
+ ${({ theme }) => theme.typo.body1};
+ font-weight: 400;
+`;
diff --git a/apps/client/src/components/Policy/PrivacyPolicy/Policy11/FifthTable900.tsx b/apps/client/src/components/Policy/PrivacyPolicy/Policy11/FifthTable900.tsx
new file mode 100644
index 000000000..d738bd947
--- /dev/null
+++ b/apps/client/src/components/Policy/PrivacyPolicy/Policy11/FifthTable900.tsx
@@ -0,0 +1,44 @@
+import * as T from './style';
+
+const TableContent1 = ['담당부서', '성명', '전화번호'];
+
+const TableContent2 = [
+ '광주소프트웨어마이스터고등학교장',
+ '최홍진',
+ '062-949-6801',
+];
+
+const TableContent3 = ['인문정보부', '정문정', '062-949-6850'];
+
+const FifthTable900 = () => (
+ <>
+
+ 구분
+
+ {TableContent1.map((content, index) => (
+ {content}
+ ))}
+
+
+
+
+ 개인정보 보호책임자
+
+ {TableContent2.map((content, index) => (
+ {content}
+ ))}
+
+
+
+
+ 개인정보 보호담당자
+
+ {TableContent3.map((content, index) => (
+ {content}
+ ))}
+
+
+ >
+);
+
+export default FifthTable900;
diff --git a/apps/client/src/components/Policy/PrivacyPolicy/Policy11/SixthTable900.tsx b/apps/client/src/components/Policy/PrivacyPolicy/Policy11/SixthTable900.tsx
new file mode 100644
index 000000000..046f4151d
--- /dev/null
+++ b/apps/client/src/components/Policy/PrivacyPolicy/Policy11/SixthTable900.tsx
@@ -0,0 +1,74 @@
+import * as T from './style';
+
+const TableContent1 = [
+ '교육기획부',
+ '교육연구부',
+ '학생생활안전부',
+ '마이스터부',
+ '전문교육부',
+ '취업진로교육부',
+ '창체방과후교육부',
+ '보건실',
+ '상담실',
+ '도서실',
+ '행정실',
+];
+
+const TableContent2 = [
+ '부장',
+ '',
+ '부장',
+ '',
+ '부장',
+ '',
+ '부장',
+ '',
+ '부장',
+ '',
+ '부장',
+ '',
+ '부장',
+ '',
+ '보건교사',
+ '',
+ '상담교사',
+ '',
+ '사서',
+ '',
+ '실장',
+ '',
+];
+
+const SixthTable900 = () => (
+ <>
+
+ 구분
+ 소속
+
+
+ 개인정보
+
+ 보호 분야
+
별 책임자
+
+
+
+ {TableContent1.map((content, index) => (
+ {content}
+ ))}
+
+
+
+
+ 직위
+ 비고
+
+ {TableContent2.map((content, index) => (
+ {content}
+ ))}
+
+
+ >
+);
+
+export default SixthTable900;
diff --git a/apps/client/src/components/Policy/PrivacyPolicy/Policy11/index.tsx b/apps/client/src/components/Policy/PrivacyPolicy/Policy11/index.tsx
new file mode 100644
index 000000000..c226f402c
--- /dev/null
+++ b/apps/client/src/components/Policy/PrivacyPolicy/Policy11/index.tsx
@@ -0,0 +1,126 @@
+import * as S from 'client/components/Policy/PrivacyPolicy/style';
+
+import FifthTable900 from './FifthTable900';
+import SixthTable900 from './SixthTable900';
+import * as T from './style';
+
+interface Props {
+ width: number;
+}
+
+const TableTitle1 = ['구분', '개인정보 보호책임자', '개인정보 보호담당자'];
+const TableTitle2 = ['구분', '소속', '직위', '비고'];
+
+const TableContent1 = [
+ '담당부서',
+ '광주소프트웨어마이스터고등학교장',
+ '인문정보부',
+ '성명',
+ '최홍진',
+ '정문정',
+ '전화번호',
+ '062-949-6801',
+ '062-949-6801',
+];
+
+const TableContent2 = [
+ '교육기획부',
+ '부장',
+ '',
+ '교육연구부',
+ '부장',
+ '',
+ '학생생활안전부',
+ '부장',
+ '',
+ '마이스터부',
+ '부장',
+ '',
+ '전문교육부',
+ '부장',
+ '',
+ '취업진로교육부',
+ '부장',
+ '',
+ '창체방과후교육부',
+ '부장',
+ '',
+ '보건실',
+ '보건교사',
+ '',
+ '상담실',
+ '상담교사',
+ '',
+ '도서실',
+ '사서',
+ '',
+ '행정실',
+ '실장',
+ '',
+];
+
+const Policy11: React.FC = ({ width }) => (
+
+
+ 제 11조 (개인정보보호 (분야별) 책임자 및 담당자 연락처)
+
+
+ 1.
+ 광주소프트웨어마이스터고등학교는 개인정보를 보호하고 개인정보와 관련한
+ 불만을 처리하기 위하여 아래와 같이 개인정보 보호책임자 및 담당자를
+ 지정하고 있습니다.
+
+
+ {width > 900 ? (
+
+ {TableTitle1.map((title, index) => (
+
+ {title}
+
+ ))}
+
+ {TableContent1.map((content, index) => (
+
+ {content}
+
+ ))}
+
+
+ ) : (
+
+ )}
+
+
+ 2.
+ 광주소프트웨어마이스터고등학교는 각 부서의 장을 개인정보보호 분야별
+ 책임자로 아래와 같이 지정하고 있습니다.
+
+
+ {width > 900 ? (
+
+ {TableTitle2.map((title, index) => (
+
+ {title}
+
+ ))}
+
+
+ 개인정보보호 분야별 책임자
+
+
+
+ {TableContent2.map((content, index) => (
+
+ {content}
+
+ ))}
+
+
+ ) : (
+
+ )}
+
+
+);
+
+export default Policy11;
diff --git a/apps/client/src/components/Policy/PrivacyPolicy/Policy11/style.ts b/apps/client/src/components/Policy/PrivacyPolicy/Policy11/style.ts
new file mode 100644
index 000000000..51b812a7f
--- /dev/null
+++ b/apps/client/src/components/Policy/PrivacyPolicy/Policy11/style.ts
@@ -0,0 +1,159 @@
+import styled from '@emotion/styled';
+
+export const FifthTableTitle = styled.div`
+ display: grid;
+ margin: 1.25rem 0 1.25rem 0;
+ grid-template-columns: 11.25rem 40rem 26.25rem;
+ grid-template-rows: 3.75rem;
+
+ @media ${({ theme }) => theme.breakPoint['1440']} {
+ display: grid;
+ margin: 0;
+ margin-bottom: 20px;
+ grid-template-columns: 14.6% 51.5% 33.8%;
+ grid-template-rows: 3.75rem;
+ }
+
+ @media (max-width: 900px) {
+ display: grid;
+ margin: 0;
+ grid-template-columns: 100%;
+ grid-template-rows: 3.75rem;
+ }
+`;
+
+export const FifthTableContent = styled.div`
+ display: grid;
+ grid-template-columns: 11.25rem 40rem 26.25rem;
+ grid-template-rows: 3rem 3rem 3rem;
+
+ @media ${({ theme }) => theme.breakPoint['1440']} {
+ display: grid;
+ grid-template-columns: 100% 352.7% 231.5%;
+ grid-template-rows: 3rem 3rem 3rem;
+ }
+
+ @media (max-width: 900px) {
+ display: grid;
+ grid-template-columns: 100%;
+ grid-template-rows: 3rem 3rem 3rem;
+ }
+`;
+
+export const FifthTableCellTemplate = styled.div`
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ text-align: center;
+ color: ${({ theme }) => theme.color.gray['080']};
+ border: 0.0625rem solid ${({ theme }) => theme.color.gray['050']};
+ box-sizing: border-box;
+ white-space: pre;
+`;
+
+export const FifthTableTitleContent = styled(FifthTableCellTemplate)`
+ background-color: ${({ theme }) => theme.color.gray['030']};
+ font-size: 1.125rem;
+ font-weight: 700;
+ line-height: 1.6875rem;
+`;
+
+export const FifthTableRowContent = styled(FifthTableCellTemplate)`
+ color: ${({ theme }) => theme.color.gray['070']};
+ ${({ theme }) => theme.typo.body1};
+ font-weight: 400;
+`;
+
+export const SixthTableTitle = styled.div`
+ display: grid;
+ margin: 0.75rem 0 0 0;
+ grid-template-columns: 33.75rem 25.5rem 12.5rem 5.75rem;
+ grid-template-rows: 3.75rem;
+
+ @media ${({ theme }) => theme.breakPoint['1440']} {
+ display: grid;
+ margin-bottom: 0.75rem 0 0 0;
+ grid-template-columns: 42% 33% 16.7% 8.6%;
+ grid-template-rows: 3.75rem;
+ }
+
+ @media (max-width: 900px) {
+ display: grid;
+ margin-bottom: 0.75rem 0 0 0;
+ grid-template-columns: 27% 73%;
+ grid-template-rows: 3.75rem;
+ }
+`;
+
+export const BigSixthTableTitle = styled.div`
+ display: grid;
+ grid-template-columns: 33.75rem;
+ grid-template-rows: 33rem;
+
+ @media ${({ theme }) => theme.breakPoint['1440']} {
+ display: grid;
+ grid-template-columns: 100%;
+ grid-template-rows: 33rem;
+ }
+
+ @media (max-width: 900px) {
+ display: grid;
+ grid-template-columns: 100%;
+ grid-template-rows: 33rem;
+ }
+`;
+
+export const SixthTableContent = styled.div`
+ display: grid;
+ grid-template-columns: 25.5rem 12.5rem 5.75rem;
+ grid-template-rows: repeat(11, 3rem);
+
+ @media ${({ theme }) => theme.breakPoint['1440']} {
+ display: grid;
+ grid-template-columns: 100% 50.6% 26.1%;
+ grid-template-rows: repeat(11, 3rem);
+ }
+
+ @media (max-width: 900px) {
+ display: grid;
+ grid-template-columns: 270%;
+ grid-template-rows: repeat(11, 3rem);
+ }
+`;
+
+export const SixthTableCellTemplate = styled.div`
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ text-align: center;
+ color: ${({ theme }) => theme.color.gray['080']};
+ border: 0.0625rem solid ${({ theme }) => theme.color.gray['050']};
+ box-sizing: border-box;
+ white-space: pre;
+`;
+
+export const SixthTableTitleContent = styled(SixthTableCellTemplate)`
+ background-color: ${({ theme }) => theme.color.gray['030']};
+ font-size: 1.125rem;
+ font-weight: 700;
+ line-height: 1.6875rem;
+`;
+
+export const SixthTableRowContent = styled(SixthTableCellTemplate)`
+ color: ${({ theme }) => theme.color.gray['070']};
+ ${({ theme }) => theme.typo.body1};
+ font-weight: 400;
+`;
+
+export const SixthResTableTitle = styled.div`
+ display: grid;
+ margin: 0.75rem 0 0 0;
+ grid-template-columns: 65.4% 34.6%;
+ grid-template-rows: 3.75rem;
+`;
+
+export const SixthResTableContent = styled.div`
+ display: grid;
+ grid-template-columns: 100% 52.9%;
+ grid-template-rows: repeat(11, 3rem);
+`;
diff --git a/apps/client/src/components/Policy/PrivacyPolicy/Policy12/index.tsx b/apps/client/src/components/Policy/PrivacyPolicy/Policy12/index.tsx
new file mode 100644
index 000000000..ad9930d99
--- /dev/null
+++ b/apps/client/src/components/Policy/PrivacyPolicy/Policy12/index.tsx
@@ -0,0 +1,29 @@
+import * as S from 'client/components/Policy/PrivacyPolicy/style';
+
+const DateTitle = [
+ '2016. 7. 20. ~ 2017. 2. 28.',
+ '2016. 3. 01. ~ 2018. 2. 28.',
+ '2016. 3. 01. ~ 2018. 4. 1.',
+ '2016. 4. 02. ~ 2019. 3. 19.',
+ '2016. 3. 20. ~ 2019. 12. 1.',
+];
+
+const Policy12 = () => (
+
+ 제 12조 (개인정보 처리방침의 변경)
+
+ 본 개인정보처리방침은 시행일로부터 적용되며, 이전의 개인정보 처리방침은
+ 아래에서 확인할 수 있습니다.
+
+ 시행일자 : 2022. 09. 28.
+
+ {DateTitle.map((title, index) => (
+
+ {title} 개인정보처리방침 보기
+
+ ))}
+
+
+);
+
+export default Policy12;
diff --git a/apps/client/src/components/Policy/PrivacyPolicy/Policy2/Table1440.tsx b/apps/client/src/components/Policy/PrivacyPolicy/Policy2/Table1440.tsx
new file mode 100644
index 000000000..d49b507d5
--- /dev/null
+++ b/apps/client/src/components/Policy/PrivacyPolicy/Policy2/Table1440.tsx
@@ -0,0 +1,90 @@
+import * as T from './style';
+
+const Table1440 = () => {
+ const TableTitle = ['개인정보 파일명', '보유목적', '보유근거'];
+
+ const TableContent1 = [
+ `학교생활 기록부`,
+ `학생의 학업성취도 평가를 통한 내실화 도모`,
+ `-「초ㆍ중등교육법」제25조\n -「초ㆍ중등교육법 시행규칙」제21조`,
+ `학생건강 기록부`,
+ `학생건강기록 관리`,
+ `-「학교건강검사 규칙」제9조\n -「학생건강기록부 전산처리 및 관리지침」제14조`,
+ `학부모서비스 이용자명단`,
+ `학부모의 학생정보 열람`,
+ `「교육기본법」제23조의3`,
+ `홈페이지 회원정보`,
+ `홈페이지회원관리`,
+ `정보주체 동의`,
+ `민원사무 처리부`,
+ `민원접수 및 처리 관리`,
+ `-「민원 처리에 관한 법률 시행령」제6조\n-「민원 처리에 관한 법률 시행규칙」제3조`,
+ `학교운영위원회명부`,
+ `학교운영위원회 구성 및 운영관리`,
+ `-「초ㆍ중등교육법」제34조\n-「초ㆍ중등교육법 시행규칙」제62조`,
+ `스쿨뱅킹(CMS)정보`,
+ `수납금 처리`,
+ `정보주체 동의`,
+ `발전기금 기탁자명부`,
+ `학교발전기금 기탁자 및 내역 관리`,
+ `「초ㆍ중등교육법 시행규칙」제52조`,
+ ];
+
+ const TableContent2 = [
+ '-학생: 성명,주민번호,주소\n -보호자: 성명, 생년월일',
+ '준영구',
+ '각 학년부, 행정실',
+ '이름, 주민번호, 학년, 반, 번호, 성별,\n 혈액형, 키, 몸무게, 비만도',
+ '졸업후 5년',
+ '보건실',
+ '-학부모: 성명, 주민번호\n-학생: 성명, 주민번호',
+ '회원탈퇴시까지',
+ '각 학년부',
+ '이름,학년,반,번호',
+ '졸업/회원탈퇴시\n 까지',
+ '인문교육 정보부',
+ '이름,집주소,E-mail,연락처',
+ '10년',
+ '행정실',
+ '-학생: 이름,생년월일,학년,반,번호\n -보호자: 이름,연락처,생년월일,계좌정보',
+ '5년',
+ '행정실',
+ '성명,주소,생년월일, 직업,연락처',
+ '10년',
+ '행정실',
+ '성명, 생년월일, 주소, 연락처',
+ '5년',
+ '행정실',
+ ];
+
+ return (
+ <>
+
+ {TableTitle.map((title, index) => (
+ {title}
+ ))}
+
+ {TableContent1.map((content, index) => (
+ {content}
+ ))}
+
+
+
+ 항목
+ 보유기간
+
+ 열람요구
+
+ 접수처리부서
+
+
+ {TableContent2.map((content, index) => (
+ {content}
+ ))}
+
+
+ >
+ );
+};
+
+export default Table1440;
diff --git a/apps/client/src/components/Policy/PrivacyPolicy/Policy2/Table900.tsx b/apps/client/src/components/Policy/PrivacyPolicy/Policy2/Table900.tsx
new file mode 100644
index 000000000..000f68a3d
--- /dev/null
+++ b/apps/client/src/components/Policy/PrivacyPolicy/Policy2/Table900.tsx
@@ -0,0 +1,133 @@
+import * as T from './style';
+
+const Table900 = () => {
+ const TableContent1 = [
+ `학교생활 기록부`,
+ `학생건강 기록부`,
+ `학부모서비스 이용자명단`,
+ `홈페이지 회원정보`,
+ `민원사무 처리부`,
+ `학교운영위원회명부`,
+ `스쿨뱅킹(CMS)정보`,
+ `발전기금 기탁자명부`,
+ ];
+
+ const TableContent2 = [
+ `학생의 학업성취도 평가를 통한 내실화 도모`,
+ `학생건강기록 관리`,
+ `학부모의 학생정보 열람`,
+ `홈페이지회원관리`,
+ `민원접수 및 처리 관리`,
+ `학교운영위원회 구성 및 운영관리`,
+ `수납금 처리`,
+ `학교발전기금 기탁자 및 내역 관리`,
+ ];
+
+ const TableContent3 = [
+ `-「초ㆍ중등교육법」제25조\n -「초ㆍ중등교육법 시행규칙」제21조`,
+ `-「학교건강검사 규칙」제9조\n -「학생건강기록부 전산처리 및 관리지침」제14조`,
+ `「교육기본법」제23조의3`,
+ `정보주체 동의`,
+ `-「민원 처리에 관한 법률 시행령」제6조\n -「민원 처리에 관한 법률 시행규칙」제3조`,
+ `-「초ㆍ중등교육법」제34조\n -「초ㆍ중등교육법 시행규칙」제62조`,
+ `정보주체 동의`,
+ `「초ㆍ중등교육법 시행규칙」제52조`,
+ ];
+
+ const TableContent4 = [
+ `-학생: 성명,주민번호,주소\n -보호자: 성명, 생년월일`,
+ `이름, 주민번호, 학년, 반, 번호, 성별, 혈액형, 키, 몸무게,\n 비만도`,
+ `-학부모: 성명, 주민번호\n -학생: 성명, 주민번호`,
+ `이름,학년,반,번호`,
+ `이름,집주소,E-mail,연락처`,
+ `성명,주소,생년월일, 직업,연락처`,
+ ` -학생: 이름,생년월일,학년,반,번호\n -보호자: 이름,연락처,생년월일,계좌정보`,
+ `성명, 생년월일, 주소, 연락처`,
+ ];
+
+ const TableContent5 = [
+ `준영구`,
+ `졸업후 5년`,
+ `회원탈퇴시까지`,
+ `회원탈퇴시까지`,
+ `10년`,
+ `10년`,
+ `5년`,
+ `5년`,
+ ];
+
+ const TableContent6 = [
+ `열람요구\n 접수처리부서`,
+ `각 학년부, 행정실`,
+ `보건실`,
+ `각 학년부`,
+ `행정실`,
+ `행정실`,
+ `행정실`,
+ `행정실`,
+ ];
+
+ return (
+ <>
+
+ 개인정보 파일명
+
+ {TableContent1.map((content, index) => (
+ {content}
+ ))}
+
+
+
+
+ 보유목적
+
+ {TableContent2.map((content, index) => (
+ {content}
+ ))}
+
+
+
+
+ 보유근거
+
+ {TableContent3.map((content, index) => (
+ {content}
+ ))}
+
+
+
+
+ 항목
+
+ {TableContent4.map((content, index) => (
+ {content}
+ ))}
+
+
+
+
+ 보유기간
+
+ {TableContent5.map((content, index) => (
+ {content}
+ ))}
+
+
+
+
+
+ 열람요구
+
+ 접수처리부서
+
+
+ {TableContent6.map((content, index) => (
+ {content}
+ ))}
+
+
+ >
+ );
+};
+
+export default Table900;
diff --git a/apps/client/src/components/Policy/PrivacyPolicy/Policy2/index.tsx b/apps/client/src/components/Policy/PrivacyPolicy/Policy2/index.tsx
new file mode 100644
index 000000000..62fb1e6ad
--- /dev/null
+++ b/apps/client/src/components/Policy/PrivacyPolicy/Policy2/index.tsx
@@ -0,0 +1,121 @@
+/** @jsxImportSource @emotion/react */
+
+import * as S from 'client/components/Policy/PrivacyPolicy/style';
+
+import Table1440 from './Table1440';
+import Table900 from './Table900';
+import * as T from './style';
+
+interface Props {
+ width: number;
+}
+
+const TableTitle = [
+ `개인정보 파일명`,
+ `보유목적`,
+ `보유근거`,
+ `항목`,
+ `보유기간`,
+ `열람요구\n접수처리부서`,
+];
+
+const TableContent = [
+ `학교생활 기록부`,
+ `학생의 학업성취도 평가를 통한\n 내실화 도모`,
+ `-「초ㆍ중등교육법」제25조\n -「초ㆍ중등교육법 시행규칙」제21조`,
+ `-학생: 성명,주민번호,주소\n -보호자: 성명, 생년월일`,
+ `준영구`,
+ `각 학년부, 행정실`,
+ `학생건강 기록부`,
+ `학생건강기록 관리`,
+ `-「학교건강검사 규칙」제9조\n -「학생건강기록부 전산처리 및 관리지침」제14조`,
+ `이름, 주민번호, 학년, 반, 번호, 성별,\n 혈액형, 키, 몸무게, 비만도`,
+ `졸업후 5년`,
+ `보건실`,
+ `학부모서비스\n 이용자명단`,
+ `학부모의 학생정보 열람`,
+ `「교육기본법」제23조의3`,
+ `-학부모: 성명, 주민번호\n -학생: 성명, 주민번호`,
+ `회원탈퇴시까지`,
+ `각 학년부`,
+ `홈페이지\n 회원정보`,
+ `홈페이지회원관리`,
+ `정보주체 동의`,
+ `이름,학년,반,번호`,
+ `졸업/회원탈퇴시 \n까지`,
+ `인문교육 정보부`,
+ `민원사무 처리부`,
+ `민원접수 및 처리 관리`,
+ `-「민원 처리에 관한 법률 시행령」제6조\n -「민원 처리에 관한 법률 시행규칙」제3조`,
+ `이름,집주소,E-mail,연락처`,
+ `10년`,
+ `행정실`,
+ `학교운영위원회명부`,
+ `학교운영위원회 구성 및 운영관리`,
+ `-「초ㆍ중등교육법」제34조\n -「초ㆍ중등교육법 시행규칙」제62조`,
+ `성명,주소,생년월일, 직업,연락처`,
+ `10년`,
+ `행정실`,
+ `스쿨뱅킹(CMS)\n 정보`,
+ `수납금 처리`,
+ `정보주체 동의`,
+ `-학생: 이름,생년월일,학년,반,번호\n -보호자: 이름,연락처,생년월일,계좌정보`,
+ `5년`,
+ `행정실`,
+ `발전기금 기탁자명부`,
+ `학교발전기금 기탁자 및 내역 관리`,
+ `「초ㆍ중등교육법 시행규칙」제52조`,
+ `성명, 생년월일, 주소, 연락처`,
+ `5년`,
+ `행정실`,
+];
+
+const 개인정보의처리및보유기간 = [
+ `광주소프트웨어마이스터고등학교에서 처리하는
+ 개인정보는 수집 이용 목적으로 명시한 범위 내에서 처리하며,
+ 개인정보보호법 및 관련 법령에서 정하는 보유기간을 준용하여 이행하고
+ 있습니다.`,
+ `개인정보파일은 연1회 조사하여 대장 정비하며, 이후
+ 등록 대상 발생 건은 별도 처리합니다.`,
+ `광주소프트웨어마이스터고등학교는 각 부서에서
+ 운영하는 소관업무 및 홈페이지를 통해서 수집 보유하고 있는 주요
+ 개인정보파일을 다음과 같이 안내하고 있습니다.`,
+];
+
+const Policy2 = ({ width }: Props) => (
+
+ 제 2조 (개인정보의 처리 및 보유기간)
+ {개인정보의처리및보유기간.map((description, index) => (
+
+ {index + 1}. {description}
+
+ ))}
+
+ [ 세부 내용은 개인정보보호 포털(https://www.privacy.go.kr) ▶ 개인서비스 ▶
+ 정보주체 권리행사 ▶ 개인정보의 열람등 요구 ▶ 개인정보파일 (목록) 검색 ▶
+ 기관명에 “광주소프트웨어마이스터고등학교” 입력 후 검색
+
+ 광주소프트웨어마이스터고등학교 [개인정보파일 목록] 보기(클릭) ]
+
+
+ {width > 1440 ? (
+
+ {TableTitle.map((title, index) => (
+ {title}
+ ))}
+
+ {TableContent.map((content, index) => (
+ {content}
+ ))}
+
+
+ ) : width > 900 ? (
+
+ ) : (
+
+ )}
+
+
+);
+
+export default Policy2;
diff --git a/apps/client/src/components/Policy/PrivacyPolicy/Policy2/style.ts b/apps/client/src/components/Policy/PrivacyPolicy/Policy2/style.ts
new file mode 100644
index 000000000..3f271bc8c
--- /dev/null
+++ b/apps/client/src/components/Policy/PrivacyPolicy/Policy2/style.ts
@@ -0,0 +1,71 @@
+import styled from '@emotion/styled';
+
+export const TableTitle = styled.div`
+ display: grid;
+ margin-top: 0.75rem;
+ grid-template-columns: 9rem 14.75rem 20rem 17.5rem 8rem 8.25rem;
+ grid-template-rows: 4rem;
+
+ @media ${({ theme }) => theme.breakPoint['1440']} {
+ display: grid;
+ margin: 0;
+ grid-template-columns: 33.3% 33.3% 33.3%;
+ grid-template-rows: 4rem;
+ }
+
+ @media (max-width: 900px) {
+ display: grid;
+ margin: 0;
+ grid-template-columns: 100%;
+ grid-template-rows: 4rem;
+ }
+`;
+
+export const TableContent = styled.div`
+ display: grid;
+ grid-template-columns: 9rem 14.75rem 20rem 17.5rem 8rem 8.25rem;
+
+ div {
+ height: 4.25rem;
+ }
+
+ @media ${({ theme }) => theme.breakPoint['1440']} {
+ display: grid;
+ grid-template-columns: 100% 100% 100%;
+
+ div {
+ height: 4.25rem;
+ }
+ }
+
+ @media (max-width: 900px) {
+ display: grid;
+ grid-template-columns: 100%;
+
+ div {
+ height: 4.25rem;
+ }
+ }
+`;
+
+export const TabelCellTemplate = styled.div`
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ text-align: center;
+ border: 0.0625rem solid ${({ theme }) => theme.color.gray['050']};
+ color: ${({ theme }) => theme.color.gray['070']};
+ box-sizing: border-box;
+ white-space: pre;
+`;
+
+export const TableTitleContent = styled(TabelCellTemplate)`
+ background-color: ${({ theme }) => theme.color.gray['030']};
+ ${({ theme }) => theme.typo.h5}
+ font-weight: 600;
+`;
+
+export const TableRowContent = styled(TabelCellTemplate)`
+ ${({ theme }) => theme.typo.body1};
+ font-weight: 400;
+`;
diff --git a/apps/client/src/components/Policy/PrivacyPolicy/Policy3/index.tsx b/apps/client/src/components/Policy/PrivacyPolicy/Policy3/index.tsx
new file mode 100644
index 000000000..3d8fa4aad
--- /dev/null
+++ b/apps/client/src/components/Policy/PrivacyPolicy/Policy3/index.tsx
@@ -0,0 +1,44 @@
+import { BulletItem } from 'client/components';
+import * as S from 'client/components/Policy/PrivacyPolicy/style';
+
+const 개인정보자동수집장치의설치운영및거부에관한사항 = [
+ `광주소프트웨어마이스터고등학교 홈페이지 이용자에게 서비스를 제공하기
+ 위해 이용정보를 저장하고 수시로 불러오는 ‘쿠키(cookie)’를 사용합니다.`,
+ ` 쿠키는 웹사이트를 운영하는데 이용되는 서버(http)가 이용자의 컴퓨터
+ 브라우저에게 보내는 소량의 정보이며 이용자들의 PC 컴퓨터내의
+ 하드디스크에 저장되기도 합니다.`,
+];
+
+const BulletItemTitle = [
+ `쿠키의 사용 목적 : 자주 찾는 서비스를 설정할 수 있도록 하여 이용자에게
+ 최적화된 정보 제공을 위해 사용됩니다.`,
+ `쿠키의 설치·운영 및 거부 : 웹브라우저 상단의 도구 {'>'} 인터넷 옵션
+ {'>'} 개인정보 메뉴의 옵션 설정을 통해 쿠키 저장을 거부할 수 있습니다.`,
+ `쿠키 저장을 거부할 경우 일부 서비스 이용에 어려움이 발생할 수
+ 있습니다.`,
+];
+
+const Policy3 = () => (
+
+
+ 제 3조 (개인정보 자동 수집 장치의 설치,운영 및 거부에 관한 사항)
+
+ {개인정보자동수집장치의설치운영및거부에관한사항.map(
+ (description, index) => (
+
+ {index + 1}.
+ {description}
+
+ )
+ )}
+
+ {BulletItemTitle.map((item, index) => (
+
+ {item}
+
+ ))}
+
+
+);
+
+export default Policy3;
diff --git a/apps/client/src/components/Policy/PrivacyPolicy/Policy4/index.tsx b/apps/client/src/components/Policy/PrivacyPolicy/Policy4/index.tsx
new file mode 100644
index 000000000..dd0b74bfb
--- /dev/null
+++ b/apps/client/src/components/Policy/PrivacyPolicy/Policy4/index.tsx
@@ -0,0 +1,38 @@
+import { BulletItem } from 'client/components';
+import * as S from 'client/components/Policy/PrivacyPolicy/style';
+
+const BulletItemContent: string[] = [
+ '정보주체로부터 별도의 동의를 받는 경우',
+ '법률에 특별한 규정이 있는 경우 있습니다.',
+ '보주체 또는 법정대리인이 의사표시를 할 수 없는 상태에 있거나 주소불명 등으로 사전 동의를 받을 수 없는 경우로서 명백히 정보주체 또는 제3자의 급박한 생명, 신체, 재산의 이익을 위하여 필요하다고 인정되는 경우',
+ '통계작성 및 학술연구 등의 목적을 위하여 필요한 경우로서 특정 개인을 알아 볼 수 없는 형태로 개인정보를 제공하는 경우',
+ '개인정보를 목적 외의 용도로 이용하거나 이를 제3자에게 제공하지 아니하면 다른 법률에서 정하는 소관 업무를 수행할 수 없는 경우로서 보호위원회의 심의·의결을 거친 경우',
+ '조약, 그 밖의 국제협정의 이행을 위하여 외국정보 또는 국제기구에 제공하기 위하여 필요한 경우',
+ '범죄의 수사와 공소의 제기 및 유지를 위하여 필요한 경우',
+ '법원의 재판업무 수행을 위하여 필요한 경우',
+ '형 및 감호, 보호처분의 집행을 위하여 필요한 경우',
+];
+
+const Policy4 = () => (
+
+
+ 제 4조 (개인정보 자동 수집 장치의 설치,운영 및 거부에 관한 사항)
+
+
+ 1.
+ 광주소프트웨어마이스터고등학교는 원칙적으로 정보주체의 개인정보를
+ 수집·이용 목적으로 명시한 범위 내에서 처리하며, 다음의 경우를 제외하고는
+ 정보주체의 사전 동의 없이는 본래의 목적 범위를 초과하여 처리하거나
+ 제3자에게 제공하지 않습니다.
+
+
+ {BulletItemContent.map((i) => (
+
+ {i}
+
+ ))}
+
+
+);
+
+export default Policy4;
diff --git a/apps/client/src/components/Policy/PrivacyPolicy/Policy5/Table1440.tsx b/apps/client/src/components/Policy/PrivacyPolicy/Policy5/Table1440.tsx
new file mode 100644
index 000000000..840b4f04d
--- /dev/null
+++ b/apps/client/src/components/Policy/PrivacyPolicy/Policy5/Table1440.tsx
@@ -0,0 +1,42 @@
+import * as T from './style';
+
+const Table1400 = () => (
+ <>
+
+ 위탁하는 업무의 내용
+ 위탁 항목
+
+
+ 광주소프트웨어마이스터고등학교 홈페이지 유지관리
+
+
+ 이름,학년,반,번호※ 회원가입시 수집하는 항목
+
+ 방과후 학교 프로그램운영
+
+ 이름,학년,반,번호,학생개인연락처,부 또는 모 성함 및 연락처
+
※ 위탁시 제공하는 항목
+
+
+
+
+
+ 수탁업체(명)
+
+ 더모먼트
+
+ 업체명: 더모먼트
+
주소: 광주광역시 광산구 상무대로 312
+
전화번호: 062-949-6800
+
+
+ 업체명: 더모먼트
+
주소: 광주광역시 광산구 상무대로 312
+
전화번호: 062-949-6800
+
+
+
+ >
+);
+
+export default Table1400;
diff --git a/apps/client/src/components/Policy/PrivacyPolicy/Policy5/Table900.tsx b/apps/client/src/components/Policy/PrivacyPolicy/Policy5/Table900.tsx
new file mode 100644
index 000000000..827047d0f
--- /dev/null
+++ b/apps/client/src/components/Policy/PrivacyPolicy/Policy5/Table900.tsx
@@ -0,0 +1,51 @@
+import * as T from './style';
+
+const TableContent1 = [
+ '광주소프트웨어마이스터고등학교 홈페이지 유지관리',
+ '방과후 학교 프로그램운영',
+];
+
+const Table900 = () => (
+ <>
+
+ 위탁하는 업무의 내용
+
+ {TableContent1.map((i) => (
+ {i}
+ ))}
+
+
+
+
+ 위탁항목
+
+
+ 이름,학년,반,번호
+
※ 회원가입시 수집하는 항목
+
+
+ 이름,학년,반,번호,학생개인연락처,부 또는 모 성함 및 연락처
+
※ 위탁시 제공하는 항목
+
+
+
+
+
+ 수탁업체(명)
+
+
+ 업체명: 더모먼트
+
주소: 광주광역시 광산구 상무대로 312
+
전화번호: 062-949-6800
+
+
+ 업체명: 더모먼트
+
주소: 광주광역시 광산구 상무대로 312
+
전화번호: 062-949-6800
+
+
+
+ >
+);
+
+export default Table900;
diff --git a/apps/client/src/components/Policy/PrivacyPolicy/Policy5/index.tsx b/apps/client/src/components/Policy/PrivacyPolicy/Policy5/index.tsx
new file mode 100644
index 000000000..f9f744b62
--- /dev/null
+++ b/apps/client/src/components/Policy/PrivacyPolicy/Policy5/index.tsx
@@ -0,0 +1,72 @@
+import { BulletItem } from 'client/components';
+import * as S from 'client/components/Policy/PrivacyPolicy/style';
+
+import Table1440 from './Table1440';
+import Table900 from './Table900';
+import * as T from './style';
+
+interface Props {
+ width: number;
+}
+
+const TableTitle = ['위탁하는 업무의 내용', '수탁 업체(명)', '위탁 항목'];
+
+const TableContent = [
+ '광주소프트웨어마이스터고등학교\n 홈페이지 유지관리',
+ '이름,학년,반,번호\n※ 회원가입시 수집하는 항목',
+ '더모먼트',
+ '방과후 학교 프로그램운영',
+ '이름,학년,반,번호,학생개인연락처,부 또는 모 성함 및 연락처\n※ 위탁시 제공하는 항목',
+ '업체명: 더모먼트\n 주소: 광주광역시 광산구 상무대로 312\n전화번호: 062-374-9986',
+];
+
+const BulletItemTitle = [
+ `위탁업무 수행 목적 외 개인정보의 처리 금지에 관한 사항`,
+ `개인정보의 관리적·기술적 보호조치에 관한 사항`,
+ `개인정보의 안전관리에 관한 사항`,
+];
+
+const Policy5 = ({ width }: Props) => (
+
+ 제 5조 (개인정보의 처리 위탁에 관한 사항)
+
+ 1.
+ 광주소프트웨어마이스터고등학교는 개인정보의 처리 업무를 위탁하는 경우
+ 다음의 내용이 포함된 문서에 의하여 처리하고 있습니다.
+
+
+ {BulletItemTitle.map((item, index) => (
+
+ {item}
+
+ ))}
+
+ -
+ 위탁업무의 목적 및 범위, 재 위탁 제한에 관한 사항, 개인정보 안전성 확보
+ 조치에 관한 사항, 위탁업무와 관련하여 보유하고 있는 개인정보의
+ 관리현황점검 등 감독에 관한 사항, 수탁자가 준수하여야할 의무를 위반한
+ 경우의 손해배상책임에 관한 사항
+
+
+
+ {width > 1440 ? (
+
+ {TableTitle.map((title, index) => (
+ {title}
+ ))}
+
+ {TableContent.map((i) => (
+ {i}
+ ))}
+
+
+ ) : width > 900 ? (
+
+ ) : (
+
+ )}
+
+
+);
+
+export default Policy5;
diff --git a/apps/client/src/components/Policy/PrivacyPolicy/Policy5/style.ts b/apps/client/src/components/Policy/PrivacyPolicy/Policy5/style.ts
new file mode 100644
index 000000000..a7b16b6a6
--- /dev/null
+++ b/apps/client/src/components/Policy/PrivacyPolicy/Policy5/style.ts
@@ -0,0 +1,71 @@
+import styled from '@emotion/styled';
+
+export const TableTitle = styled.div<{ isOnly?: boolean }>`
+ display: grid;
+ margin-top: 0.75rem;
+ grid-template-columns: 20rem 25.5rem 32rem;
+ grid-template-rows: 3.75rem;
+
+ @media ${({ theme }) => theme.breakPoint['1440']} {
+ margin: 0;
+ display: grid;
+ grid-template-columns: ${({ isOnly }) => (isOnly ? '100%' : '50% 50%')};
+ }
+
+ @media (max-width: 900px) {
+ margin: 0;
+ display: grid;
+ grid-template-columns: 100%;
+ }
+`;
+
+export const TableContent = styled.div<{ isOnly?: boolean }>`
+ display: grid;
+ grid-template-columns: 20rem 25.5rem 32rem;
+
+ div {
+ height: 6.25rem;
+ }
+
+ @media ${({ theme }) => theme.breakPoint['1440']} {
+ display: grid;
+ grid-template-columns: 100% 100%;
+
+ div {
+ height: 6.25rem;
+ }
+ }
+
+ @media (max-width: 900px) {
+ display: grid;
+ grid-template-columns: 100%;
+
+ div {
+ height: 6.25rem;
+ }
+ }
+`;
+
+export const TabelCellTemplate = styled.div`
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ text-align: center;
+ color: ${({ theme }) => theme.color.gray['080']};
+ border: 0.0625rem solid ${({ theme }) => theme.color.gray['050']};
+ box-sizing: border-box;
+ white-space: pre;
+`;
+
+export const TableTitleContent = styled(TabelCellTemplate)`
+ background-color: ${({ theme }) => theme.color.gray['030']};
+ font-size: 1.125rem;
+ font-weight: 700;
+ line-height: 1.6875rem;
+`;
+
+export const TableRowContent = styled(TabelCellTemplate)`
+ color: ${({ theme }) => theme.color.gray['070']};
+ font-weight: 400;
+ ${({ theme }) => theme.typo.body1};
+`;
diff --git a/apps/client/src/components/Policy/PrivacyPolicy/Policy6/Table900.tsx b/apps/client/src/components/Policy/PrivacyPolicy/Policy6/Table900.tsx
new file mode 100644
index 000000000..d6f10a9c4
--- /dev/null
+++ b/apps/client/src/components/Policy/PrivacyPolicy/Policy6/Table900.tsx
@@ -0,0 +1,67 @@
+import * as T from './style';
+
+const Table900 = () => {
+ const TableContent1 = [
+ '행정실/각 학년부',
+ '보건실',
+ '각 학년부',
+ '인문정보부',
+ '행정실',
+ '행정실',
+ '행정실',
+ '행정실',
+ ];
+
+ const TableContent2 = [
+ '학교생활기록부',
+ '학생건강기록부',
+ '학부모서비스 이용자 명단',
+ '홈페이지 회원정보',
+ '민원사무처리부',
+ '학교운영위원회 명부',
+ '스쿨뱅킹(CMS) 정보',
+ '발전기금 기탁자 명부',
+ ];
+
+ const TableContent3 = [
+ '행정실062-949-6806\n1학년 062-949-6813\n2학년 062-949-6821\n3학년\n062-949-6834',
+ '062-949-6820',
+ '1학년 062-949-6813\n2학년 062-949-6821\n3학년 062-949-6834',
+ '062-949-6850',
+ '062-949-6806',
+ '062-949-6804',
+ '062-949-6806',
+ '062-949-6808',
+ ];
+
+ return (
+ <>
+
+ 열람 요구 접수 처리부서명
+
+ {TableContent1.map((content, index) => (
+ {content}
+ ))}
+
+
+
+ 개인정보파일명
+
+ {TableContent2.map((content, index) => (
+ {content}
+ ))}
+
+
+
+ 문의처
+
+ {TableContent3.map((content, index) => (
+ {content}
+ ))}
+
+
+ >
+ );
+};
+
+export default Table900;
diff --git a/apps/client/src/components/Policy/PrivacyPolicy/Policy6/index.tsx b/apps/client/src/components/Policy/PrivacyPolicy/Policy6/index.tsx
new file mode 100644
index 000000000..2898d5abe
--- /dev/null
+++ b/apps/client/src/components/Policy/PrivacyPolicy/Policy6/index.tsx
@@ -0,0 +1,108 @@
+import { BulletItem } from 'client/components';
+import * as S from 'client/components/Policy/PrivacyPolicy/style';
+
+import Table900 from './Table900';
+import * as T from './style';
+
+interface Props {
+ width: number;
+}
+
+const TableTitle = ['열람 요구 접수 처리부서명', '개인정보파일명', '문의처'];
+
+const TableContent = [
+ '행정실/각 학년부',
+ '학교생활기록부',
+ '행정실062-949-6806\n1학년 062-949-6813\n2학년 062-949-6821\n3학년 062-949-6834',
+ '보건실',
+ '학생건강기록부',
+ '062-949-6820',
+ '각 학년부',
+ '학부모서비스 이용자 명단',
+ '1학년 062-949-6813\n2학년 062-949-6821\n3학년 062-949-6834',
+ '인문정보부',
+ '홈페이지 회원정보',
+ '062-949-6850',
+ '행정실',
+ '민원사무처리부',
+ '062-949-6806',
+ '행정실',
+ '학교운영위원회 명부',
+ '062-949-6804',
+ '행정실',
+ '스쿨뱅킹(CMS) 정보',
+ '062-949-6806',
+ '행정실',
+ '발전기금 기탁자 명부',
+ '062-949-6808',
+];
+
+const BulletItemTitle = [
+ `개인정보 열람요구`,
+ `오류 등이 있을 경우 정정 요구`,
+ `삭제요구`,
+ `처리정지 요구`,
+];
+
+const 정보추제의권리의무및그행사방법에관한사항 = [
+ `제1항에 따른 권리 행사는 개인정보보호법 시행규칙 별지 제8호 서식에 따라
+ 작성 후 서면 전자우편, 모사전송(FAX) 등을 통하여 하실 수 있으며, 기관은
+ 이에 대해 지체 없이 조치하겠습니다.`,
+ `정보주체가 개인정보의 오류 등에 대한 정정 또는 삭제를 요구한 경우에는 정정
+ 또는 삭제를 완료할 때까지 당해 개인정보를 이용하거나 제공하지 않겠습니다.`,
+ `제1항에 따른 권리 행사는 정보주체의 법정대리인이나 위임을 받은 자 등
+ 대리인을 통하여 하실 수 있습니다. 이 경우 개인정보보호법 시행규칙 별제
+ 제11호 서식에 따른 위임장을 제출하셔야 합니다.`,
+ `개인정보 열람 및 처리정지 요구는 개인정보보호법 제35조 제5항, 제37조
+ 제2항에 의하여 정보주체의 권리를 제한 할 수 있습니다.`,
+ `개인정보의 정정 및 삭제 요구는 다른 법령에서 그 개인정보가 수집 대상으로
+ 명시되어 있는 경우에는 그 삭제를 요구할 수 없습니다.`,
+ `정보주체 권리에 따른 열람의 요구, 정정·삭제의 요구, 처리정지의 요구 시
+ 열람 등 요구를 한 자가 본인이거나 정당한 대리인인지를 확인합니다.`,
+ `광주소프트웨어마이스터고등학교에서 보유중인 개인정보파일의 열람,
+ 정정ㆍ삭제, 처리정지 요구 등을 접수ㆍ처리하는 해당 부서는 다음과 같습니다.`,
+];
+
+const Policy6: React.FC = ({ width }) => (
+
+
+ 제 6조 (정보추제의 권리, 의무 및 그 행사방법에 관한 사항)
+
+
+ 1.
+ 광주소프트웨어마이스터고등학교는 개인정보의 처리 업무를 위탁하는 경우
+ 다음의 내용이 포함된 문서에 의하여 처리하고 있습니다.
+
+
+ {BulletItemTitle.map((item, index) => (
+
+ {item}
+
+ ))}
+
+ {정보추제의권리의무및그행사방법에관한사항.map((dexcription, index) => (
+
+ {index + 2}.
+ {dexcription}
+
+ ))}
+
+ {width > 900 ? (
+
+ {TableTitle.map((title, index) => (
+ {title}
+ ))}
+
+ {TableContent.map((content, index) => (
+ {content}
+ ))}
+
+
+ ) : (
+
+ )}
+
+
+);
+
+export default Policy6;
diff --git a/apps/client/src/components/Policy/PrivacyPolicy/Policy6/style.ts b/apps/client/src/components/Policy/PrivacyPolicy/Policy6/style.ts
new file mode 100644
index 000000000..a91624d0e
--- /dev/null
+++ b/apps/client/src/components/Policy/PrivacyPolicy/Policy6/style.ts
@@ -0,0 +1,61 @@
+import styled from '@emotion/styled';
+
+export const TableTitle = styled.div`
+ display: grid;
+ margin-top: 0.75rem;
+ grid-template-columns: 25.75rem 26rem 25.75rem;
+ grid-template-rows: 3.75rem;
+
+ @media ${({ theme }) => theme.breakPoint['1440']} {
+ display: grid;
+ margin: 0;
+ grid-template-columns: 33.3% 33.3% 33.3%;
+ }
+
+ @media (max-width: 900px) {
+ display: grid;
+ margin: 0;
+ grid-template-columns: 100%;
+ }
+`;
+
+export const TableContent = styled.div`
+ display: grid;
+ grid-template-columns: 25.75rem 26rem 25.75rem;
+ grid-template-rows: 7.8125rem 3rem 6.5rem 3rem 3rem 3rem 3rem 3rem;
+
+ @media ${({ theme }) => theme.breakPoint['1440']} {
+ display: grid;
+ grid-template-columns: 100% 100% 100%;
+ }
+
+ @media (max-width: 900px) {
+ display: grid;
+ grid-template-columns: 100%;
+ grid-template-rows: 7.8125rem 3rem 6.5rem 3rem 3rem 3rem 3rem 3rem;
+ }
+`;
+
+export const TabelCellTemplate = styled.div`
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ text-align: center;
+ border: 0.0625rem solid ${({ theme }) => theme.color.gray['050']};
+ color: ${({ theme }) => theme.color.gray['080']};
+ box-sizing: border-box;
+ white-space: pre;
+`;
+
+export const TableTitleContent = styled(TabelCellTemplate)`
+ background-color: ${({ theme }) => theme.color.gray['030']};
+ font-size: 1.125rem;
+ font-weight: 700;
+ line-height: 1.6875rem;
+`;
+
+export const TableRowContent = styled(TabelCellTemplate)`
+ color: ${({ theme }) => theme.color.gray['070']};
+ ${({ theme }) => theme.typo.body1};
+ font-weight: 400;
+`;
diff --git a/apps/client/src/components/Policy/PrivacyPolicy/Policy7/index.tsx b/apps/client/src/components/Policy/PrivacyPolicy/Policy7/index.tsx
new file mode 100644
index 000000000..2f208c63b
--- /dev/null
+++ b/apps/client/src/components/Policy/PrivacyPolicy/Policy7/index.tsx
@@ -0,0 +1,14 @@
+import * as S from 'client/components/Policy/PrivacyPolicy/style';
+
+const Policy7 = () => (
+
+ 제 7조 (처리하는 개인정보의 항목)
+
+ 광주소프트웨어마이스터고등학교에서 처리하는 개인정보는 소관업무 및
+ 법령에서 정한 최소한의 개인정보만을 처리하며 자세한 사항은 정보주체가
+ 확인할 수 있도록 제2조 3항에서 안내하고 있습니다.
+
+
+);
+
+export default Policy7;
diff --git a/apps/client/src/components/Policy/PrivacyPolicy/Policy8/index.tsx b/apps/client/src/components/Policy/PrivacyPolicy/Policy8/index.tsx
new file mode 100644
index 000000000..ee6154a4f
--- /dev/null
+++ b/apps/client/src/components/Policy/PrivacyPolicy/Policy8/index.tsx
@@ -0,0 +1,48 @@
+import { BulletItem } from 'client/components';
+import * as S from 'client/components/Policy/PrivacyPolicy/style';
+
+const Policy8 = () => (
+
+ 제 8조 (개인정보 파기절차 및 방법)
+
+ 1.
+ 광주소프트웨어마이스터고등학교는 원칙적으로 개인정보 처리목적이 달성된
+ 개인정보는 지체 없이 파기합니다. 다만, 다른 법령에 따라 보존하여야 하는
+ 경우에는 그러하지 않을 수 있습니다. 파기의 절차, 기한 및 방법은 다음과
+ 같습니다.
+
+
+ 파기절차
+
+ -
+ 불필요한 개인정보 및 개인정보파일은 개인정보책임자의 책임 하에 내부방침
+ 절차에 따라 다음과 같이 처리하고 있습니다.
+
+
+ -
+ 개인정보의 파기
+
+
+ -
+ 보유기간이 경과한 개인정보는 종료일로부터 지체없이 파기합니다.
+
+
+ -
+ 개인정보파일의 처리 목적 달성, 해당 서비스의 폐지, 사업의 종료 등 그
+ 개인정보파일이 불필요하게 되었을 때에는 개인정보의 처리가 불필요한
+ 것으로 인정되는 날로부터 지체 없이 그 개인정보파일을 파기합니다.
+
+ 파기방법
+
+ -
+ 전자적 형태의 정보는 기록을 재생할 수 없는 기술적 방법을 사용합니다.
+
+
+ -
+ 종이에 출력된 개인정보는 분쇄기로 분쇄하거나 소각을 통하여 파기합니다.
+
+
+
+);
+
+export default Policy8;
diff --git a/apps/client/src/components/Policy/PrivacyPolicy/Policy9/index.tsx b/apps/client/src/components/Policy/PrivacyPolicy/Policy9/index.tsx
new file mode 100644
index 000000000..791014c18
--- /dev/null
+++ b/apps/client/src/components/Policy/PrivacyPolicy/Policy9/index.tsx
@@ -0,0 +1,33 @@
+import { BulletItem } from 'client/components';
+import * as S from 'client/components/Policy/PrivacyPolicy/style';
+
+const BulletItemTitle = [
+ '개인정보 취급 직원의 최소화 및 교육 개인정보를 취급하는 직원은 반드시 필요한 인원에 한하여 지정 관리하고 있으며, 취급직원을 대상으로 안전한 관리를 위한 교육을 실시하고 있습니다.',
+ '개인정보에 대한 접근 제한 개인정보를 처리하는 개인정보처리시스템에 대한 접근권한의 부여, 변경, 말소를 통하여 개인정보에 대한 접근통제를 위한 필요한 조치를 하고 있으며 침입차단시스템을 이용하여 외부로부터의 무단 접근을 통제하고 있습니다.',
+ '접속기록의 보관 개인정보처리시스템에 접속한 기록을 최소 6개월 이상 보관하고 있습니다.',
+ '개인정보의 암호화 개인정보는 암호화 등을 통해 안전하게 저장 및 관리되고 있습니다. 또한 중요한 데이터는 저장 및 전송 시 암호화하여 사용하는 등의 별도 보안기능을 사용하고 있습니다.',
+ '보안프로그램 설치 및 주기적 점검 갱신 해킹이나 컴퓨터 바이러스 등에 의한 개인정보 유출 및 훼손을 막기 위하여 보안프로그램을 설치하고, 주기적인 갱신·점검하고 있습니다.',
+ `비인가자에 대한 출입 통제 개인정보를 보관하고 있는 개인정보처리시스템의 물리적 보관 장소를 별도로 두고 이에 대해 출입통제 절차를 수립, 운영하고 있습니다.`,
+];
+
+const Policy9 = () => (
+
+ 제 9조 (개인정보 안정성 확보조치)
+
+ 1.
+ 광주소프트웨어마이스터고등학교는 원칙적으로 개인정보 처리목적이 달성된
+ 개인정보는 지체 없이 파기합니다. 다만, 다른 법령에 따라 보존하여야 하는
+ 경우에는 그러하지 않을 수 있습니다. 파기의 절차, 기한 및 방법은 다음과
+ 같습니다.
+
+
+ {BulletItemTitle.map((title, index) => (
+
+ {title}
+
+ ))}
+
+
+);
+
+export default Policy9;
diff --git a/apps/client/src/components/Policy/PrivacyPolicy/index.tsx b/apps/client/src/components/Policy/PrivacyPolicy/index.tsx
new file mode 100644
index 000000000..b5020a8a1
--- /dev/null
+++ b/apps/client/src/components/Policy/PrivacyPolicy/index.tsx
@@ -0,0 +1,65 @@
+'use client';
+
+import { BulletItem } from 'client/components';
+import { useGetWindowWidth } from 'client/hooks';
+
+import Policy1 from './Policy1';
+import Policy10 from './Policy10';
+import Policy11 from './Policy11';
+import Policy12 from './Policy12';
+import Policy2 from './Policy2';
+import Policy3 from './Policy3';
+import Policy4 from './Policy4';
+import Policy5 from './Policy5';
+import Policy6 from './Policy6';
+import Policy7 from './Policy7';
+import Policy8 from './Policy8';
+import Policy9 from './Policy9';
+import * as S from './style';
+
+const PrivacyPolicy = () => {
+ const width = useGetWindowWidth();
+
+ return (
+
+
+ 개인정보처리방침
+
+
+
+ 광주소프트웨어마이스터고등학교 홈페이지를 이용하시면서
+
+
+ 광주소프트웨어마이스터고등학교가 취급하는 모든 개인정보는
+ 개인정보보호법 등 관련 법령상의 개인정보보호 규정을 준수하여
+ 이용자의 개인정보보호 및 권익을 보호
+
+ 하고 개인정보와 관련한 이용자의 고충을 원활하게 처리할 수 있도록
+ 다음과 같은 처리방침을 두고 있습니다.{' '}
+
+
+ 이 개인정보처리방침은 시행일로부터 적용되며, 법령 및 방침에 따른
+ 변경내용의 추가, 삭제 및 정정이 있는 경우에는 변경사항의 시행 7일
+ 전부터 공지사항을 통하여 고
+ 지할 것입니다.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ );
+};
+
+export default PrivacyPolicy;
diff --git a/apps/client/src/components/Policy/PrivacyPolicy/style.ts b/apps/client/src/components/Policy/PrivacyPolicy/style.ts
new file mode 100644
index 000000000..ae9c90726
--- /dev/null
+++ b/apps/client/src/components/Policy/PrivacyPolicy/style.ts
@@ -0,0 +1,124 @@
+import styled from '@emotion/styled';
+
+export const SectionWrap = styled.div`
+ margin: 5rem 0 7.5rem 0;
+`;
+
+export const ContentWrap = styled.div`
+ width: 1248px;
+ margin: 0 auto;
+ padding-left: 0.5rem;
+
+ @media ${({ theme }) => theme.breakPoint['1440']} {
+ width: calc(100vw - 12.5rem);
+ }
+ @media ${({ theme }) => theme.breakPoint['1024']} {
+ width: calc(100vw - 7.5rem);
+ }
+`;
+
+export const PolicyContentWrap = styled.div`
+ display: flex;
+ flex-direction: column;
+ gap: 3rem;
+`;
+
+export const Title = styled.h1`
+ color: ${({ theme }) => theme.color.gray['090']};
+ ${({ theme }) => theme.typo.h2}
+ font-weight: 600;
+ margin-bottom: 3.5rem;
+ padding-left: 0.5rem;
+`;
+
+export const IntroTitle = styled.h2`
+ color: ${({ theme }) => theme.color.gray['090']};
+ ${({ theme }) => theme.typo.h3}
+ font-weight: 400;
+`;
+
+export const PolicyTitle = styled.h2`
+ ${({ theme }) => theme.typo.h3}
+ color: ${({ theme }) => theme.color.gray['090']};
+ font-weight: 600;
+ padding-bottom: 4px;
+`;
+
+export const SubTitle = styled.p`
+ color: ${({ theme }) => theme.color.gray['070']};
+ ${({ theme }) => theme.typo.h4}
+ display: flex;
+ font-weight: 400;
+ span {
+ display: block;
+ }
+`;
+
+export const MiniTitle = styled(SubTitle)<{ isPadding?: boolean }>`
+ color: ${({ theme }) => theme.color.gray['070']};
+ ${({ theme }) => theme.typo.body1}
+ display: flex;
+ padding-bottom: ${({ isPadding }) => isPadding && '2px'};
+ > span {
+ padding-right: 0.5rem;
+ }
+`;
+
+export const ContentBoxTemplate = styled.div`
+ display: flex;
+ flex-direction: column;
+`;
+
+export const IntroContentBox = styled(ContentBoxTemplate)`
+ gap: 0.5rem;
+`;
+
+export const PolicyContentBox = styled(ContentBoxTemplate)`
+ width: 100%;
+ gap: 4px;
+`;
+
+export const BulletItemWrap = styled.div`
+ display: flex;
+ flex-direction: column;
+ gap: 8px;
+
+ padding-top: 8px;
+ padding-left: 20px;
+
+ > p {
+ padding-left: 1.625rem;
+ }
+`;
+
+export const StartDateTitle = styled.p`
+ color: ${({ theme }) => theme.color.gray['070']};
+ ${({ theme }) => theme.typo.h4}
+ font-weight: 600;
+ padding: 0.5rem 0 0.25rem 0;
+`;
+
+export const DateTitle = styled(StartDateTitle)`
+ font-weight: 400;
+ padding: 0;
+ > span {
+ color: ${({ theme }) => theme.color.gray['060']};
+ ${({ theme }) => theme.typo.body1}
+ font-weight: 600;
+ padding-left: 0.75rem;
+ }
+`;
+
+export const DateTitleWrap = styled.div`
+ display: flex;
+ flex-direction: column;
+ gap: 0.25rem;
+`;
+
+export const TableWrap = styled.div`
+ @media ${({ theme }) => theme.breakPoint['1440']} {
+ display: flex;
+ flex-direction: column;
+ gap: 24px;
+ }
+`;
diff --git a/apps/client/src/components/index.ts b/apps/client/src/components/index.ts
index e50a8ef8c..b2073dda9 100644
--- a/apps/client/src/components/index.ts
+++ b/apps/client/src/components/index.ts
@@ -28,6 +28,7 @@ export { default as NotFoundContent } from './NotFoundContent';
export { default as NoticeBanner } from './NoticeBanner';
export { default as PostContent } from './PostPage/PostContent';
export { default as PostDetailHead } from './PostPage/PostDetailHead';
+export { default as PrivacyPolicy } from './Policy/PrivacyPolicy';
export { default as PromotionVideo } from './PromotionVideo';
export { default as ReturnToList } from './PostPage/ReturnToList';
export { default as Scroll } from './Scroll';