diff --git a/apps/client/src/pages/onBoarding/components/funnel/step/SocialLoginStep.tsx b/apps/client/src/pages/onBoarding/components/funnel/step/SocialLoginStep.tsx
index 1bfba6ed..c126a49b 100644
--- a/apps/client/src/pages/onBoarding/components/funnel/step/SocialLoginStep.tsx
+++ b/apps/client/src/pages/onBoarding/components/funnel/step/SocialLoginStep.tsx
@@ -2,6 +2,7 @@ import Chippi from '@assets/chippi_extension_popup.svg';
import GoogleLogo from '/assets/onBoarding/icons/googleLogo.svg';
import { Link } from 'react-router-dom';
import { handleGoogleLogin } from '@shared/utils/handleGoogleLogin';
+import { ROUTES_CONFIG } from '@routes/routesConfig';
const SocialLoginStep = () => {
return (
@@ -31,18 +32,17 @@ const SocialLoginStep = () => {
/>
구글 계정으로 로그인
- {/*TODO: 개인정보처리방침 추가되면 링크 수정*/}
가입 시 pinback의{' '}
이용 약관
{' '}
및{' '}
개인정보처리방침
diff --git a/apps/client/src/pages/policy/PrivacyPolicy.tsx b/apps/client/src/pages/policy/PrivacyPolicy.tsx
new file mode 100644
index 00000000..a007f85a
--- /dev/null
+++ b/apps/client/src/pages/policy/PrivacyPolicy.tsx
@@ -0,0 +1,137 @@
+import HeaderLogo from '/assets/onBoarding/icons/header_logo.svg';
+
+const PrivacyPolicy = () => {
+ return (
+ <>
+
+
window.location.reload()}
+ />
+
+
+
+ Pinback 개인정보처리방침
+
+ Pinback은 이용자의 정보를 안전하게 보호하는 것을 가장 중요한 책임 중
+ 하나로 생각합니다.{'\n'}본 방침은 Pinback이 어떤 정보를 수집하고,
+ 어떻게 사용하며, 어떻게 보호하는지 쉽게 이해할 수 있도록 안내하기
+ 위해 마련되었습니다.
+
+
+
+
+ ① 수집하는 개인정보 종류
+
+ Pinback은 서비스 제공을 위해 다음 정보를 수집합니다.
+
+
+ -
+ 계정 생성을 위한 정보: 이메일 주소, 프로필 이름, Google 계정
+ 식별자 (UID)
+
+ -
+ 북마크 저장 및 관리 기능을 위한 정보: 저장한 웹페이지 URL 및 제목,
+ 사용자가 작성한 메모, 리마인드 설정 정보, 도토리 적립 내역 및 숲
+ 성장 단계 등 서비스 활동 데이터
+
+ -
+ 서비스 이용 기록: 기능 사용 내역, 접속 일시, 브라우저 정보 등 기본
+ 로그
+
+
+
+
+
+ ② 개인정보의 이용 목적
+
+ Pinback은 수집된 개인정보를 서비스의 핵심 기능을 제공하기 위한 최소
+ 범위에서만 사용합니다.
+
+
+ -
+ 사용자가 저장한 북마크와 메모를 안전하게 보관하고 다시 찾아볼 수
+ 있도록 하기 위함
+
+ -
+ 사용자 설정에 따라 리마인드 알림을 제공하여 저장한 콘텐츠를 다시
+ 활용할 수 있도록 돕기 위함
+
+ -
+ 도토리 보상 시스템을 통해 서비스 이용 경험을 향상하고, 지속적인
+ 지식 관리 습관 형성을 지원하기 위함
+
+
+
+ Pinback은 수집된 모든 정보를 위 목적 이외에 다른 용도로 사용하지
+ 않으며, 개인정보를 제 3자에게 판매하거나 공유하지 않습니다.
+
+
+
+
+ ③ 개인정보의 보유 및 보안
+
+
+ Pinback은 사용자의 개인정보를 안전하게 보호하기 위해 적절한 보안
+ 조치를 취하고 있습니다.
+
+
+ 개인정보는 무단 접근, 유출, 변경, 파괴를 방지하기 위해 보호되며,
+ 필요한 경우 암호화되어 저장됩니다.
+
+
+
+
+
+ ④ 개인정보 관리 및 열람 관리
+
+ 이용자는 언제든지 다음을 요청할 수 있습니다.
+
+
+ - 개인정보 조회
+ - 개인정보 수정
+ - 개인정보 삭제
+ - 개인정보 처리 정지
+
+
+
+ 요청은 서비스에서 지정한 이메일 또는 문의 채널을 통해 접수됩니다.
+
+
+ 다만, 법적 의무나 요청에 의해 개인정보를 제공해야 할 경우, 해당
+ 법령에 따라 제공할 수 있습니다.
+
+
+
+
+
+ ⑤ 개인정보 처리방침 변경
+
+
+ 본 방침은 서비스 운영 또는 관련 법령에 따라 변경될 수 있습니다.
+
+
+ 변경 사항은 최소 7일 전에 공지하며, 이용자에게 불리한 변경의 경우
+ 30일 전에 안내합니다.
+
+
+
+
+
+ 부칙
+
+
본 개인정보 처리방침은 2025년 10월 27일부터 적용됩니다.
+
+ 본 개인정보 처리방침은 최근 업데이트된 내용을 반영하고 있으며,
+ 사용자는 pinback 서비스를 이용함으로써 이 개인정보 처리방침에
+ 동의하는 것으로 간주됩니다.
+
+
+
+
+ >
+ );
+};
+
+export default PrivacyPolicy;
diff --git a/apps/client/src/pages/policy/TermsOfService.tsx b/apps/client/src/pages/policy/TermsOfService.tsx
new file mode 100644
index 00000000..cacfeae3
--- /dev/null
+++ b/apps/client/src/pages/policy/TermsOfService.tsx
@@ -0,0 +1,305 @@
+import HeaderLogo from '/assets/onBoarding/icons/header_logo.svg';
+
+const TermsOfService = () => {
+ return (
+ <>
+
+
window.location.reload()}
+ />
+
+
+
+
+
+ 제 1조 목적
+
+ 본 약관은 pinback(이하 “서비스")이 제공하는 웹사이트 및 크롬
+ 확장프로그램 이용과 관련하여, 서비스와 이용자 간의 권리·의무 및
+ 책임사항을 규정함을 목적으로 합니다.
+
+
+ -
+ 계정 생성을 위한 정보: 이메일 주소, 프로필 이름, Google 계정
+ 식별자 (UID)
+
+ -
+ 북마크 저장 및 관리 기능을 위한 정보 : 저장한 웹페이지 URL 및
+ 제목, 사용자가 작성한 메모, 리마인드 설정 정보, 도토리 적립 내역
+ 및 숲 성장 단계 등 서비스 활동 데이터
+
+ -
+ 서비스 이용 기록 : 기능 사용 내역, 접속 일시, 브라우저 정보 등
+ 기본 로그
+
+
+
+
+
+ 제 2조 약관의 효력 및 변경
+
+ Pinback은 수집된 개인정보를 서비스의 핵심 기능을 제공하기 위한 최소
+ 범위에서만 사용합니다.
+
+
+ -
+ 본 약관은 이용자가 서비스에 최초 로그인할 때 동의함으로써 효력이
+ 발생합니다.
+
+ -
+ 서비스는 관련 법령을 위반하지 않는 범위에서 약관을 개정할 수
+ 있습니다.
+
+ -
+ 지속적인 서비스 이용은 변경된 약관에 동의하는 것으로 간주됩니다.
+
+ -
+ 약관 개정 시 적용일자 및 개정 내용을 서비스 내 공지사항을 통해
+ 사전 고지합니다.
+
+ -
+ 이용자가 개정 약관에 동의하지 않을 경우 서비스 이용을 중단하고
+ 탈퇴할 수 있습니다.
+
+
+
+
+
+ 제 3조 용어의 정의
+
+ 이 약관에서 사용하는 용어의 정의는 다음과 같습니다.
+
+
+ -
+ 서비스: pinback이 제공하는 북마크 저장·관리·검색·추천·리마인드
+ 기능 등 일체의 기능
+
+ - 플랫폼: 서비스가 제공되는 웹사이트 및 크롬 확장프로그램
+ - 회원: Google 계정 인증(로그인)을 통해 서비스를 이용하는 자
+ - 이용자: 회원을 포함하여 서비스를 이용하는 모든 자
+ -
+ 콘텐츠: 이용자가 저장하거나 생성한 URL, 북마크, 폴더, 태그, 메모,
+ 설정 값 등 데이터 일체
+
+
+
+
+
+ 제 4조 이용계약의 성립
+
+ -
+ 이용계약은 이용자가 약관에 동의하고 Google 계정을 통해
+ 로그인함으로써 성립합니다.
+
+ -
+ 계정 연동 시 제공되는 개인정보 항목은 개인정보처리방침에 따릅니다.
+
+
+
+
+
+ 제 5조 서비스의 제공
+
+ -
+ pinback은 다음 기능을 제공합니다.
+
+ -
+ 웹페이지의 URL을 북마크로 저장하고, 북마크에 메모를
+ 추가·관리하는 기능
+
+ - 저장한 북마크 및 메모를 조회·정리·재접속할 수 있는 기능
+ -
+ 이용자가 설정한 조건에 따라 알림을 제공하는 리마인드 기능
+
+ -
+ 이용자의 활동에 따라 도토리를 적립하고 숲이 성장하는
+ 게이미피케이션 기능
+
+ - 서비스 운영을 위해 필요한 일반적인 부수 기능
+
+
+ -
+ 크롬 확장프로그램은 위 기능 제공을 위하여 방문 중인 페이지의 URL
+ 및 제목 확인, Chrome Storage 사용, 알림 권한 등 필요한 범위에서만
+ 브라우저 정보를 처리합니다.
+
+ -
+ 서비스는 수집된 정보를 서비스 제공 목적 내에서만 사용하며, 이를
+ 제3자에게 판매하거나 목적 외로 활용하지 않습니다.
+
+
+
+
+
+ 제 6조 서비스의 변경 및 중단
+
+ -
+ 서비스는 운영 또는 기술적 필요에 따라 일부 기능을 변경·추가·삭제할
+ 수 있습니다.
+
+ -
+ 다음 각 호의 경우 서비스 제공이 일시 중단될 수 있습니다.
+
+ - 시스템 점검, 증설, 교체 등 기술적 사유
+ - 서비스 장애, 통신 두절 등
+ - 천재지변 등 불가항력적 사유
+
+
+ -
+ 서비스 중단 또는 변경이 발생하는 경우 사전에 공지하며, 부득이한
+ 경우 사후 공지할 수 있습니다.
+
+
+
+
+
+ 제 7조 이용자의 의무
+
+ 이용자는 다음 행위를 하여서는 안 됩니다.
+
+
+ - 타인의 계정 또는 인증 정보를 도용하는 행위
+ -
+ 자동화된 수단을 이용해 비정상적으로 서비스를 요청하거나 접근하는
+ 행위
+
+ -
+ 서비스에서 제공하지 않는 방식으로 데이터를 수집·추출하는 행위
+
+ - 서버에 과도한 부하를 유발하는 행위
+ -
+ 서비스의 소스코드, 알고리즘 등을 분석·변조·역컴파일하는 행위
+
+ - 확장프로그램을 임의 변조하거나 재배포하는 행위
+ -
+ 브라우저 또는 보안 정책을 우회하여 확장프로그램을 사용하는 행위
+
+
+
+ 위 행위가 확인될 경우 서비스는 이용 제한, 콘텐츠 삭제, 계정 해지
+ 등의 조치를 취할 수 있습니다.
+
+
+
+
+ 제 8조 콘텐츠 및 지적재산권
+
+ -
+ 이용자가 pinback에 저장한 콘텐츠의 저작권은 이용자에게 귀속됩니다.
+
+ -
+ 서비스는 다음 목적 범위에서만 이용자의 콘텐츠를 사용할 수
+ 있습니다.
+
+ - 서비스 기능 제공(저장·동기화 등)
+ - 검색 및 추천 기능 향상을 위한 비식별 처리 분석
+
+
+ - 서비스는 이용자의 콘텐츠를 영리 목적으로 활용하지 않습니다.
+ -
+ 서비스의 로고, UI, 디자인, 소스코드 등 지적재산권은 서비스
+ 제공자에게 귀속됩니다.
+
+
+
+
+
+ 제 9조 개인정보의 보호
+
+ -
+ pinback은 이용자의 개인정보를 개인정보처리방침에 따라 처리합니다.
+
+ -
+ 개인정보 처리 목적, 수집 항목, 보유 기간, 제3자 제공 여부 등은
+ 개인정보처리방침에서 확인할 수 있습니다.
+
+ -
+ 확장프로그램을 통해 처리되는 정보 역시 개인정보처리방침의 목적
+ 범위 내에서만 사용됩니다.
+
+
+
+
+
+ 제 10조 계정 탈퇴 및 데이터 삭제
+
+ -
+ 이용자는 서비스 내 pinback 고객 지원 팀을 통해 언제든지 계정
+ 탈퇴를 요청할 수 있습니다.
+
+ -
+ 계정 탈퇴 시 회원의 콘텐츠 및 계정 정보는 즉시 삭제되며, 복구가
+ 불가능합니다.
+
+ -
+ 법령에 따라 보관이 필요한 정보는 별도 보관 후, 기간 만료 시
+ 삭제됩니다.
+
+
+
+
+
+ 제 11조 면책조항
+
+ -
+ 서비스는 이용자의 기기 환경, 네트워크 문제 등 외부 요인으로
+ 발생하는 장애에 대해 책임을 지지 않습니다.
+
+ -
+ 외부 플랫폼의 장애로 인해 발생한 문제에 대해 책임을 지지 않습니다.
+
+ -
+ 베타 기능 또는 테스트 기능 이용 중 발생할 수 있는 오류, 기능 제한,
+ 데이터 손실 등에 대해 책임을 지지 않습니다.
+
+ -
+ 이용자의 부주의로 인해 발생한 콘텐츠 손실 또는 오류에 대해 책임을
+ 지지 않습니다.
+
+ -
+ 확장프로그램과 다른 확장프로그램·보안 소프트웨어 간 충돌로 인한
+ 문제에 대해 책임을 지지 않습니다.
+
+ -
+ 이용자가 확장프로그램 권한을 거부함으로써 인해 기능 제공이 제한될
+ 수 있으며, 이에 대한 책임은 이용자에게 있습니다.
+
+
+
+
+
+ 제 12조 준거법 및 분쟁 해결
+
+ - 본 약관은 대한민국 법령을 따릅니다.
+ -
+ 서비스와 이용자 간 분쟁이 발생할 경우 상호 협의를 우선하며, 협의가
+ 이루어지지 않을 경우 민사소송법에 따른 관할 법원에 따릅니다.
+
+
+
+
+
+ 부칙
+
+
본 약관은 2025년 10월 27일부터 적용됩니다.
+
+ 본 약관은 정책 변경에 따라 개정될 수 있으며, 개정 시 서비스 내
+ 공지사항을 통해 안내합니다.
+
+
+ 본 이용약관은 pinback 서비스를 이용하는 모든 사용자에게 적용되며,
+ 서비스 이용 시 본 약관에 동의하는 것으로 간주됩니다.
+
+
+
+
+ >
+ );
+};
+
+export default TermsOfService;
diff --git a/apps/client/src/pages/remind/Remind.tsx b/apps/client/src/pages/remind/Remind.tsx
index b7657046..1ad210df 100644
--- a/apps/client/src/pages/remind/Remind.tsx
+++ b/apps/client/src/pages/remind/Remind.tsx
@@ -23,6 +23,7 @@ import NoRemindArticles from './components/noRemindArticles/NoRemindArticles';
import FetchCard from './components/fetchCard/FetchCard';
import { useInfiniteScroll } from '@shared/hooks/useInfiniteScroll';
import Tooltip from '@shared/components/tooltip/Tooltip';
+import Footer from './components/footer/Footer';
const Remind = () => {
useEffect(() => {
@@ -121,7 +122,7 @@ const Remind = () => {
// const readArticleCount = data?.pages[0]?.readArticleCount || 0;
return (
-
+
리마인드
{
)}
+
+
{
+ const currentYear = new Date().getFullYear();
+
+ return (
+
+ );
+};
+
+export default Footer;
diff --git a/apps/client/src/routes/router.tsx b/apps/client/src/routes/router.tsx
index 4dcc2427..90d42d38 100644
--- a/apps/client/src/routes/router.tsx
+++ b/apps/client/src/routes/router.tsx
@@ -4,6 +4,8 @@ import Login from '@pages/login/Login';
import MyBookmark from '@pages/myBookmark/MyBookmark';
import GoogleCallback from '@pages/onBoarding/GoogleCallback';
import OnBoarding from '@pages/onBoarding/OnBoarding';
+import PrivacyPolicy from '@pages/policy/PrivacyPolicy';
+import TermsOfService from '@pages/policy/TermsOfService';
import Remind from '@pages/remind/Remind';
import { ROUTES_CONFIG } from '@routes/routesConfig';
import { createBrowserRouter } from 'react-router-dom';
@@ -42,6 +44,14 @@ export const router = createBrowserRouter([
path: ROUTES_CONFIG.login.path,
element: ,
},
+ {
+ path: ROUTES_CONFIG.privacyPolicy.path,
+ element: ,
+ },
+ {
+ path: ROUTES_CONFIG.termsOfService.path,
+ element: ,
+ },
],
},
]);
diff --git a/apps/client/src/routes/routesConfig.ts b/apps/client/src/routes/routesConfig.ts
index ebe13e73..79235050 100644
--- a/apps/client/src/routes/routesConfig.ts
+++ b/apps/client/src/routes/routesConfig.ts
@@ -27,4 +27,12 @@ export const ROUTES_CONFIG = {
title: '로그인',
path: '/login',
},
+ privacyPolicy: {
+ title: '개인정보처리방침',
+ path: '/policy',
+ },
+ termsOfService: {
+ title: '이용약관',
+ path: '/terms',
+ },
};
diff --git a/apps/landing/src/components/Footer.tsx b/apps/landing/src/components/Footer.tsx
index f258e56a..9ce27bc1 100644
--- a/apps/landing/src/components/Footer.tsx
+++ b/apps/landing/src/components/Footer.tsx
@@ -2,6 +2,7 @@ import { Icon } from '@pinback/design-system/icons';
const Footer = () => {
const currentYear = new Date().getFullYear();
+ const SERVICE_URL = 'https://pinback.today';
return (