vibely(이하 "서비스")는 이용자의 개인정보를 중요하게 생각하며, 「개인정보 보호법」 등 관련 법령을 준수합니다. 본 방침은 서비스가 어떤 정보를 수집·이용하고 어떻게 보호하는지를 설명합니다.
1. 수집하는 개인정보 항목
구분
항목
수집 시점
계정
이메일 주소, 소셜 로그인 식별자(Google·Apple·Kakao·Naver), 인증 토큰
회원가입·로그인 시
프로필
표시 이름, 사용자명(@아이디), 아바타(이모지), 색상, 계정 공개 여부, 인스타그램·스레드 사용자명(선택 — 입력한 경우에만)과 인증 여부
가입 시 자동 생성 / 사용자 수정 시
알림
푸시 알림 토큰, 알림 언어, 친구 기분 알림 수신 여부
기기에서 알림을 허용했을 때
서비스 이용
감정 기록(이모지·기록 시각), 스쿼드(소그룹) 생성·참여 내역, 친구·팔로우 관계, 다른 이용자의 기록에 남긴 반응(리액션)
서비스 이용 중
미파트
방 꾸미기(가구 배치·벽지·바닥), 미니미 모양, 집 평면도 단계, 방에 남긴·받은 체크인(이모지), 방문 수, 앱이 그린 내 방 그림(PNG)
미파트 이용 중
초대
초대 링크로 가입한 이용자와 초대한 이용자의 관계(선물 지급용)
초대 링크로 가입 시
계정 인증(선택)
인스타그램 인증: 1회용 코드(10분 후 만료), 코드를 보낸 인스타그램 계정의 사용자명 · 스레드 인증: 스레드 계정 식별자·사용자명
이용자가 인증을 시작했을 때
신고·차단
신고한 기록의 식별자와 사유, 차단한 이용자 목록
신고·차단 시
자동 수집
접속 로그, 기기·브라우저 정보, 쿠키·로컬 저장소(세션 유지용)
서비스 이용 중
서비스는 주민등록번호 등 고유식별정보와 결제정보를 수집하지 않습니다.
2. 개인정보의 수집 및 이용 목적
회원 식별 및 로그인·인증
감정 기록 저장 및 아래 5항의 공개 범위에 따라 표시
친구·팔로우 관계 및 리액션 기능 제공
사용자명(@아이디) 검색으로 아는 사람을 찾는 기능 제공
친구가 기분을 남겼을 때 푸시 알림 발송(마이 → 친구 기분 알림에서 끌 수 있음)
인스타그램·스레드 사용자명을 입력한 경우 프로필·미파트에 링크로 표시하고, 본인 계정임을 인증한 경우 ✓ 표시
미파트 표시, 친구 방 방문·체크인, 맞팔 수에 따른 집 평면도 변경
내 방 그림을 홈 화면 위젯과 친구에게 가는 푸시 알림 이미지로 표시
초대 선물 지급
반려동물 돌보기, 동네 공원 산책, 사진으로 미니미 만들기(아래 5-2·5-3항)
감정 리포트·통계 등 부가 기능 제공
신고·차단 처리 및 이용약관 위반 대응
서비스 운영·개선, 오류 분석, 보안 및 부정 이용 방지
3. 보유 및 이용 기간
이용자의 개인정보는 회원 탈퇴 시 지체 없이 파기합니다. 다만 관련 법령에 따라 보존이 필요한 경우 해당 기간 동안 보관합니다. 감정 기록 등 이용자가 생성한 데이터는 이용자가 삭제하거나 탈퇴할 때까지 보관됩니다.
4. 개인정보의 처리 위탁 및 국외 이전
서비스는 안정적 운영을 위해 아래 사업자의 인프라를 이용하며, 데이터는 대한민국 리전에 저장됩니다.
수탁자
위탁 업무
저장 위치
Supabase, Inc.
데이터베이스·인증·저장
대한민국(ap-northeast-2, 서울)
Vercel, Inc.
웹 호스팅·전송
글로벌 CDN
Google·Apple·Kakao·Naver
소셜 로그인 인증
각 사업자 정책에 따름
Meta Platforms, Inc.
스레드 로그인·게시, 인스타그램 DM 인증 — 그 기능을 쓴 이용자에 한함
각 사업자 정책에 따름
650 Industries, Inc.(Expo)
푸시 알림 전송(푸시 토큰, 알림 문구 — 보낸 친구의 이름과 이모지, 친구 방 그림의 짧은 기한 주소) — 알림을 허용한 이용자에 한함
미국
Open-Meteo
미파트 창밖 날씨 — 기기 시간대의 대표 도시 좌표만 요청하며 이용자 정보는 보내지 않음
각 사업자 정책에 따름
Anthropic, PBC
사진으로 미니미 만들기 — 이용자가 고른 사진 1장을 분석해 가장 비슷한 미니미 부품 번호를 받음. 사진은 저장하지 않음 — 그 기능을 쓴 이용자에 한함(5-2항)
미국
서비스는 이용자의 개인정보를 본인 동의 없이 제3자에게 판매하거나 마케팅 목적으로 제공하지 않습니다.
4-1. 스레드(Threads) 연동 — 선택 기능
이용자가 직접 마이 → 스레드 연결에서 연결한 경우에만 동작하며, 연결하지 않으면 아래 내용은 적용되지 않습니다.
보내는 정보: 이용자가 기록한 이모지, 또는 공유 메뉴에서 직접 고른 경우 공유 카드·방 그림이 스레드에 게시됩니다. 그림은 게시를 위해 비공개 저장소에 잠시 올렸다가 게시 후 지웁니다. 기록 시각·그룹 등 다른 정보는 전송하지 않습니다.
받는 정보: 스레드 계정 식별자와 사용자명(@아이디), 게시에 필요한 접근 토큰을 저장합니다. 로그인으로 확인된 사용자명은 프로필 스레드 링크에 ✓로 표시됩니다.
토큰 보관: 접근 토큰은 서버에만 암호화된 채널로 저장되며 앱(단말)에는 전달되지 않습니다. 서버의 접근 통제(RLS)로 다른 이용자는 조회할 수 없습니다.
게시 제어: 자동 게시는 마이에서 언제든 끌 수 있고, 기록할 때마다 개별로도 끌 수 있습니다.
연결 해제:마이 → 스레드 연결 해제 시 저장된 접근 토큰과 연동 정보를 즉시 삭제합니다. 계정을 삭제하면 함께 삭제됩니다. 이미 스레드에 게시된 글은 스레드 앱에서 직접 삭제해 주세요.
5. 공개 범위 — 내 기록이 누구에게 보이나요
vibely의 기록은 계정 설정에 따라 보이는 범위가 달라집니다. 가입 시 기본값은 비공개 계정입니다.
계정 설정
내 기록을 볼 수 있는 사람
관계 방식
비공개 계정(기본값)
나, 내가 수락한 친구, 승인한 팔로워
친구는 양방향 수락, 팔로우는 승인 필요
공개 계정
vibely를 쓰는 누구나 — 팔로우하지 않은 사람 포함
승인 없이 팔로우 가능
공개 계정으로 바꾸면 과거 기록도 함께 공개됩니다. 공개 전환은 앞으로의 기록에만 적용되는 것이 아니라, 그동안 남긴 모든 기록이 소급하여 공개 대상이 됩니다. 다시 비공개로 되돌리면 이후 조회는 다시 제한되지만, 공개되어 있는 동안 다른 이용자가 보거나 저장한 내용까지 되돌릴 수는 없습니다. 전환 화면에서 이 내용을 다시 안내합니다.
공개되는 항목: 기록한 이모지, 기록 시각, 표시 이름·사용자명·아바타·색상, 그 기록에 달린 리액션.
공개되지 않는 항목: 이메일 주소, 소셜 로그인 식별자, 스쿼드 구성, 리포트·통계, 스레드 연동 정보.
사용자명(@아이디): 설정하면 다른 이용자가 검색으로 회원님을 찾을 수 있습니다. 계정 공개 여부와 관계없이 사용자명·표시 이름·아바타는 검색 결과에 노출되며, 비공개 계정이면 기록은 보이지 않습니다.
리액션: 내가 남긴 리액션은 그 기록을 볼 수 있는 사람에게 내 사용자명과 함께 표시됩니다.
차단: 차단한 이용자에게는 내 기록이 보이지 않고, 그 이용자의 기록도 내 피드에 나타나지 않습니다.
인스타그램 사용자명(입력한 경우): 내 기록을 볼 수 있는 사람(나, 수락한 친구·팔로워, 공개 계정이면 누구나)에게만 프로필·미파트에 표시됩니다. 친구 신청만 보낸 사람에게는 보이지 않습니다.
인스타그램 인증(선택): 앱이 보여 주는 1회용 코드를 vibely 공식 인스타그램 계정으로 DM 보내면, vibely는 Meta로부터 그 DM의 코드와 보낸 계정의 사용자명을 받아 입력한 사용자명과 대조하고 ✓를 표시합니다. DM 내용은 코드 확인에만 쓰고 저장하지 않으며, vibely가 이용자의 인스타그램 계정에 로그인하지는 않습니다.
미파트: 방 꾸미기·미니미·집 평면도는 나, 나와 팔로우 관계가 있거나 신청 중인 사람, 같은 스쿼드 멤버(공개 계정이면 누구나)에게 보입니다. 5-3항의 내 미파트 공개를 켜면 다른 로그인 이용자(공원에서 만난 사람 등)에게도 보입니다. 체크인(이모지)은 방 주인과 그 방의 기록을 볼 수 있는 사람에게 작성자 이름과 함께 보입니다. 맞팔 친구는 내 방 안에, 친구 신청을 보낸 사람은 마당에 미니미로 표시됩니다.
방 그림: 앱이 그린 내 방 그림(PNG)은 비공개 저장소에 저장되며, 기한이 있는 주소(내 기기의 위젯용은 최대 1년, 친구 알림용은 3일)로만 내 홈 화면 위젯과 친구에게 가는 알림 이미지에 쓰입니다. 계정을 삭제하면 함께 삭제됩니다.
친구 기분 알림: 내가 기분을 남기면 나를 팔로우하는(수락된) 친구 중 알림을 켠 사람에게 내 이름과 이모지가 푸시 알림으로 전달됩니다.
5-1. 공유 — 사진 저장·인스타그램 스토리
공유 카드 이미지는 이용자의 기기 안에서 만들어집니다. 사진 저장·인스타그램 스토리 공유에는 서버를 거치지 않습니다(스레드로 올리는 경우만 4-1항처럼 잠시 올렸다 지웁니다).
사진 저장: 사진 앱에 추가만 하는 권한을 요청하며, 기존 사진을 읽지 않습니다.
공유는 iOS·안드로이드의 기본 공유 시트를 통해 이루어지며, 어떤 앱으로 보낼지는 이용자가 선택합니다. 인스타그램 인증을 마친 이용자에게는 인스타그램 공식 스토리 공유 기능으로 바로 여는 버튼이 추가로 보입니다. 이때도 이미지는 기기에서 인스타그램 앱으로 바로 전달됩니다.
카드에 담기는 내용은 이용자가 기록한 이모지, 이용자가 설정한 사용자명(@아이디), vibely 워터마크입니다.
미파트 공유 카드에는 공유하는 순간 화면에 보이는 모습 그대로 방 안·마당에 있는 사람들의 미니미 모습과 반려동물이 함께 담길 수 있습니다. 그 사람들의 이름·아이디는 담기지 않습니다.
5-2. 사진으로 미니미 만들기 — 선택 기능
이용자가 미니미 꾸미기 → 사진으로 만들기에서 사진을 직접 고른 경우에만 동작합니다. 사진 앱 전체에 접근하지 않고, 고른 사진 1장만 읽습니다.
사진은 vibely 서버를 거쳐 Anthropic, PBC(미국)의 AI 모델로 보내지고, 이미 있는 미니미 부품(헤어·표정·옷 등) 중 가장 비슷한 번호만 돌려받습니다. 새 그림을 만들지 않습니다.
사진은 저장하지 않습니다. vibely 서버는 요청을 처리하는 동안 메모리에서만 쓰고 버리며, 기록에도 남기지 않습니다. Anthropic은 API 상업 약관에 따라 이 데이터를 모델 학습에 쓰지 않습니다.
얼굴 인식·신원 확인에 쓰지 않습니다. AI에는 보이는 머리 모양·머리색·피부 톤·표정·옷·소품에 맞는 부품만 고르도록 지시하며, 나이·성별·인종 등 개인 특성을 추정하지 않습니다.
하루 사용 횟수를 세기 위해 사용 시각만 저장합니다. 결과는 꾸미기 초안에만 들어가고, 이용자가 저장을 눌러야 미니미에 반영됩니다.
5-3. 반려동물·동네 공원
반려동물 돌봄 알림은 이용자의 기기 안에서 예약되며 서버를 거치지 않습니다. 홈 화면 위젯·잠금 화면(Live Activity)에 보이는 반려동물 정보도 기기 안에서만 쓰입니다.
동네 공원에 들어가면 같은 공원에 들어온 다른 로그인 이용자에게 내 미니미 모양, 함께 산책하는 반려동물의 품종·이름이 보입니다. 위치 정보는 쓰지 않으며, 공원은 위치와 관계없이 배정됩니다. 공원을 나가면 더 이상 보이지 않고 이 정보는 저장되지 않습니다.
공원에서 다른 사람에게 방명록 남기기(이모지)를 하면 그 사람의 미파트 체크인으로 남으며, 5항의 체크인 공개 범위가 그대로 적용됩니다. 말 걸기 받기(모두·친구만·끄기) 설정은 계정에 저장됩니다.
차단한 사람과는 공원에서 서로 방명록을 남길 수 없고, 공원에서 만난 사람을 신고할 수 있습니다.
내 미파트 공개(기본 꺼짐)를 켜면 다른 로그인 이용자(공원에서 만난 사람 등)도 내 미파트에 놀러 올 수 있습니다(파도타기). 이때 보이는 것은 이름·아이디·이모지 아바타, 방(가구·벽지·바닥·미니미·평면도)과 반려동물, 맞팔·팔로워 수이며, 놀러 오면 방문 수(TODAY)가 올라갑니다. 기분 기록, 방명록(체크인), 액자·앨범 사진, 인스타그램·스레드 아이디는 5항의 공개 범위 그대로이며 보이지 않습니다. 설정은 계정에 저장되고 공원 화면에서 언제든 끌 수 있으며, 차단한 사람은 놀러 올 수 없습니다.
6. 이용자 및 법정대리인의 권리
이용자는 언제든 자신의 개인정보를 열람·정정·삭제하거나 처리정지·동의 철회(탈퇴)를 요청할 수 있습니다.
앱 내 마이 → 내 기록 내보내기로 본인 데이터를 내려받을 수 있습니다.
앱 안 마이 → 계정 삭제에서 계정과 모든 데이터(기록·미파트·방 그림·연동 정보 포함)를 바로 삭제할 수 있습니다. 앱을 쓸 수 없으면 아래 문의처로 요청해 주세요.
7. 만 14세 미만 아동
서비스는 만 14세 미만 아동의 개인정보를 법정대리인의 동의 없이 수집하지 않습니다. 만 14세 미만임이 확인되면 해당 계정과 정보를 삭제합니다.
8. 개인정보의 안전성 확보 조치
전송 구간 암호화(HTTPS/TLS) 및 접근 통제(Row Level Security)
인증 토큰의 안전한 저장 및 최소 권한 원칙 적용
접근 권한 관리 및 비인가 접근 차단
9. 쿠키 및 로컬 저장소
서비스는 로그인 세션 유지 및 환경설정 저장을 위해 브라우저의 로컬 저장소를 사용합니다. 이용자는 브라우저 설정에서 이를 삭제할 수 있으나, 이 경우 로그인 상태가 해제될 수 있습니다.
10. 개인정보 보호책임자 및 문의
개인정보 관련 문의·열람·삭제 요청은 아래로 연락해 주세요.
개인정보 보호책임자: 최지훈 (리미키미 대표)
이메일: ahrimmmk@gmail.com
11. 고지 의무
본 방침이 변경되는 경우 서비스 내 공지 또는 본 페이지를 통해 시행 7일 전(이용자에게 불리한 변경은 30일 전)에 고지합니다.
vibely Privacy Policy
Effective: June 15, 2026 · Last updated: September 30, 2026
This policy explains what information vibely ("the Service") collects, how it is used, and how it is protected.
Profile: display name, username (@handle), avatar (emoji), color, whether your account is public, your Instagram and Threads usernames (optional — only if you add them) and whether they are verified.
Notifications: a push notification token, notification language, and whether friend mood alerts are on — only when you allow notifications on your device.
Usage: mood logs (emojis and timestamps), squad (small group) membership, friend and follow relationships, reactions you leave on other people's logs.
Mipartment: room layout (furniture, wallpaper, floor), minimi look, floor-plan tier, emoji check-ins you leave or receive, visit counts, and an app-rendered picture of your room (PNG).
Invites: who invited whom through an invite link (for invite gifts).
Account verification (optional): Instagram — a one-time code (expires in 10 minutes) and the username of the Instagram account that sent it; Threads — your Threads account ID and username.
Reports & blocks: the log you reported and your reason, and the list of users you blocked.
Automatic: access logs, device/browser info, cookies/local storage for session.
We do not collect government IDs or payment information.
2. How We Use It
Sign-in and authentication
Storing your mood logs and showing them according to the visibility rules in section 5
Friend and follow relationships, and reactions
Letting people find you by username (@handle)
Sending a push notification when a friend shares a mood (turn it off under Me → Friend mood alerts)
Showing your Instagram/Threads usernames as links on your profile and Mipartment, with a check mark once you verify the account
Showing your Mipartment, visits and check-ins, and changing your floor plan with your number of mutual follows
Using your room picture in your home screen widget and in push notifications sent to your friends
Giving invite gifts
Pet care, neighborhood park walks, and making a minimi from a photo (sections 5-2 and 5-3 below)
Mood reports and statistics
Handling reports and blocks, and acting on terms violations
Operating, improving, and securing the Service
3. Retention
We delete your personal data without delay upon account deletion, except where retention is required by law. Data you create is kept until you delete it or close your account.
4. Processors & International Transfer
We use Supabase, Inc. (database/auth, stored in the Seoul ap-northeast-2 region), Vercel, Inc. (hosting), Google/Apple/Kakao/Naver (login), Meta Platforms, Inc. (Threads login/posting and Instagram DM verification — only for users who use them), 650 Industries, Inc. (Expo, push notification delivery in the United States — the push token, the notification text, i.e. the friend's name and emojis, and a short-lived link to the friend's room picture — only for users who allow notifications), and Open-Meteo (weather outside the Mipartment window — we request only the coordinates of a representative city for your device's time zone and send no user data), and Anthropic, PBC (United States — analyzes the one photo you choose for "Make from photo" and returns the closest minimi part numbers; the photo is not stored; only for users who use that feature, see 5-2). We never sell your personal data or share it for third-party marketing.
4-1. Threads Integration — Optional
This applies only if you connect Threads yourself under Me → Threads. If you don't connect it, nothing below applies.
What we send: the emojis from your log, or, when you choose it in the share menu, the share card or room picture. The picture is uploaded to private storage only for posting and deleted afterwards. We do not send timestamps or groups.
What we store: your Threads account ID and username, plus the access token needed to post. A username confirmed by login is shown with a check mark on your Threads link.
Token handling: the access token is stored server-side only and is never sent to the app on your device. Server access control (RLS) prevents other users from reading it.
Control: auto-posting can be turned off at any time in Me, and can also be turned off for any individual log.
Disconnecting:Me → Disconnect immediately deletes the stored token and link. Deleting your account removes it too. Posts already published remain on Threads — delete them in the Threads app.
5. Who Can See Your Logs
What other people can see depends on your account setting. New accounts are private by default.
Account setting
Who can see your logs
How people connect
Private (default)
You, friends you accepted, and followers you approved
Friending is mutual; follows need approval
Public
Anyone using vibely, including people who don't follow you
Anyone can follow without approval
Switching to a public account also makes your past logs public. Going public is not limited to what you post next — everything you have already logged becomes visible as well. Switching back to private restricts future access again, but it cannot undo what others saw or saved while the account was public. The app shows this warning again on the toggle screen.
What becomes visible: your logged emojis, the time of each log, your display name, username, avatar and color, and the reactions on that log.
What never becomes visible: your email address, social login identifier, squad membership, reports and statistics, and Threads connection details.
Username (@handle): setting one lets other people find you by search. Regardless of whether your account is public, your username, display name and avatar appear in search results; if your account is private, your logs do not.
Reactions: a reaction you leave is shown with your username to everyone who can see that log.
Blocking: a user you block cannot see your logs, and their logs no longer appear in your feed.
Instagram username (if you add one): shown on your profile and Mipartment only to people who can see your logs (you, friends and followers you accepted, or anyone if your account is public) — not to people who have only sent you a friend request.
Instagram verification (optional): when you DM the one-time code shown in the app to vibely's official Instagram account, we receive from Meta the code and the sender's username, match it to the username you entered, and show a check mark. The DM is used only to check the code and is not stored. vibely never signs in to your Instagram account.
Mipartment: your room layout, minimi and floor plan are visible to you, people who follow you or you follow (including pending requests), and your squad members (or anyone if your account is public). If you turn on Share my Mipartment (section 5-3), other signed-in users, such as people you meet in the park, can see it too. Check-ins (emoji) are shown with the author's name to the room owner and to people who can see the owner's logs. Mutual friends appear as minimis inside your room; people with a pending request appear in the yard.
Room picture: the app-rendered picture of your room is kept in private storage and used only through expiring links (up to one year for the widget on your own device, three days for notifications to friends) for your home screen widget and for notification images sent to your friends. It is deleted with your account.
Friend mood alerts: when you log a mood, friends who follow you (accepted) and have alerts on get a push notification with your name and emojis.
5-1. Sharing — Save to Photos and Instagram Stories
The share card image is generated on your device. Saving to Photos and sharing to Instagram Stories do not go through our servers (only posting to Threads uploads it briefly, as described in 4-1).
Save to Photos: we ask only for permission to add photos, and never read your existing photos.
Sharing goes through the native iOS/Android share sheet, and you choose which app receives it. Users who verified their Instagram account also see a button that opens Instagram's official Sharing to Stories directly; the image still goes straight from your device to the Instagram app.
The card contains your logged emojis, your username (@handle) if you set one, and the vibely watermark.
A Mipartment share card shows your room exactly as it looks when you share it, so it may include the minimi appearance of people in your room or yard, and pets. Their names and handles are not included.
5-2. Make a Minimi from a Photo — Optional
This runs only when you pick a photo yourself under Minimi → Make from photo. The app does not access your photo library; it reads only the one photo you pick.
The photo goes through vibely's server to an AI model from Anthropic, PBC (United States), which returns only the numbers of the closest existing minimi parts (hair, expression, clothes and so on). No new image is generated.
We do not store the photo. vibely's server uses it in memory only while handling the request and does not log it. Under its commercial API terms, Anthropic does not use this data to train its models.
It is never used to recognize or identify anyone. The AI is told to pick only parts matching the visible hairstyle, hair color, skin tone, expression, clothing and accessories, and not to infer age, gender, ethnicity or any other personal attribute.
We store only the time of use to enforce the daily limit. The result goes into your draft and is applied to your minimi only when you tap Save.
5-3. Pets and the Neighborhood Park
Pet care reminders are scheduled on your device and do not go through our servers. Pet details shown in your home screen widget and on the Lock Screen (Live Activity) are used only on your device.
When you enter the neighborhood park, other signed-in users in the same park see your minimi and the breed and name of the pet walking with you. No location data is used; parks are assigned regardless of where you are. Once you leave, you are no longer shown and this information is not stored.
When you sign someone's guestbook (emojis) in the park, it is left as a check-in in their Mipartment, with the same visibility as check-ins in section 5. Your Who can say hi setting (Everyone, Friends, No one) is saved to your account.
You and people you block cannot sign each other's guestbooks in the park, and you can report anyone you meet there.
If you turn on Share my Mipartment (off by default), other signed-in users, such as people you meet in the park, can visit your Mipartment (house hopping). They see your name, ID and emoji avatar, your rooms (furniture, wallpaper, floor, minimi and floor plan) and pets, and your friend and follower counts, and their visit adds to your visit count (TODAY). Mood logs, guestbook check-ins, framed and album photos, and Instagram/Threads IDs keep the visibility described in section 5 and are not shown. The setting is saved to your account, you can turn it off in the park at any time, and people you block cannot visit.
6. Your Rights
You may access, correct, delete, or export your data, and withdraw consent (delete your account) at any time. Export your data via Me → Export my logs. Delete your account and all data (logs, Mipartment, room picture and linked accounts) right away in the app under Me → Delete account, or contact us below if you cannot use the app.
7. Children
We do not knowingly collect data from children under 14 without guardian consent and will delete such accounts if identified.
8. Security
Data is encrypted in transit (HTTPS/TLS) and protected by access control (Row Level Security) and least-privilege practices.