Access Model
Fricle에서 누가 볼 수 있고, 누가 조작할 수 있고, 어떤 앱이 입력을 받을 수 있는지 결정하는 실행 권한 기준이다.
핵심 결론
실행 권한은 워크스페이스 역할, 사용권, Operator, Capability 정책을 차례로 통과한 결과다.
라이선스가 있다고 바로 조작할 수 있는 것은 아니다. 사용자는 작업 공간의 역할을 통과해야 하고, 해당 앱의 사용권을 가져야 하며, 이 앱을 실제로 조작할 수 있는 사람으로 인정되어야 한다. 앱이 사용할 수 있는 기능도 켜진 것만 실행된다.
| 판정 축 | 기준 | 제품 역할 |
|---|---|---|
| 워크스페이스 역할 | Owner, Admin, Editor, Viewer | 작업 공간 안에서 볼 수 있는지와 기본 조작 자격을 정하는 첫 번째 게이트다. |
| 사용권 | 개인 계정에 배정된 사용권 | 마켓플레이스 앱을 사용할 수 있는 제품 자격이다. 역할과 별도로 판정한다. |
| Operator | 현재 앱 인스턴스를 조작하도록 허용된 주체 | 역할과 사용권을 통과한 사용자 중 실제 조작 권한을 가진 사람을 좁힌다. |
| Capability 정책 | 앱이 사용할 수 있는 기능 목록 | 앱을 만들면 필요한 기능 권한이 기본값으로 제안된다. 앱 제작자는 앱이 Fricle에 요청할 수 있는 기능을 켜고 끌 수 있고, Fricle은 허용된 요청만 처리한다. |
| 결과 모드 | full edit, view only, blocked |
사용자가 실제 화면에서 보는 최종 상태다. |
제품 용어
Workspace Role
워크스페이스 멤버십이 주는 기본 권한이다. Owner와 Admin은 관리 책임을 가지고, Editor는 작업 조작, Viewer는 보기 중심으로 제한한다.
Use Grant
License & Seat에서 내려오는 사용권 결과다. 앱을 쓸 자격이 있는지 판단하며, 워크스페이스 역할을 대체하지 않는다.
Operator
앱 인스턴스를 실제로 조작할 수 있는 주체다. 기본값은 배치자나 현재 조작자일 수 있고, 세부 UI는 UX에서 결정한다.
App Capability
Fricle 앱이 실행 중 사용할 수 있는 기능 목록이다. 파일 읽기, 저장, 외부 전송, 다른 앱 조작처럼 위험한 기능은 확인, 승인, 검수 대상으로 분리한다.
판정 흐름
1. 작업 공간 진입
사용자가 이 워크스페이스 멤버인지 확인한다.
2. 역할 확인
Owner, Admin, Editor, Viewer 중 어떤 역할인지 확인한다.
3. 사용권 확인
현재 사용자의 개인 계정에 앱 사용권이 있는지 본다.
4. 조작 주체 확인
해당 앱 인스턴스를 조작할 주체로 허용되어 있는지 본다.
5. 기능 허용 범위 확인
앱에 켜진 기능만 열고, 위험한 기능은 확인, 승인, 검수로 좁힌다.
6. 결과 모드 표시
full edit, view only, blocked 중 하나로 사용자에게 보여준다.
권한 모델 다이어그램
1차 게이트
워크스페이스 역할
멤버가 아니면 접근 자체가 차단된다. Viewer는 보기 중심 결과로 내려간다.
2차 게이트
사용권
마켓플레이스 앱은 역할과 별도로 사용권이 있어야 조작할 수 있다.
3차 게이트
조작 주체
앱 인스턴스의 조작 주체인지 확인한다. 위치와 변경 UI는 UX에서 결정한다.
4차 게이트
기능 허용 범위
앱이 사용할 수 있는 기능 목록으로 실행 범위를 좁힌다.
결과
결과 모드
최종 결과는 화면에서 full edit, view only, blocked로 드러난다.
권한 모델 다이어그램은 권한을 단일 체크박스가 아니라 실행 시점에 통과해야 하는 여러 게이트로 보여준다.
결정 규칙
역할이 첫 번째 게이트 라이선스와 권한은 분리 보기와 조작은 별도 판정 기능 요청은 허용 범위로 제한- 워크스페이스 멤버가 아니면 앱, 파일, 문서, 마켓플레이스 설치 상태를 볼 수 없다.
- Owner와 Admin은 관리 권한을 갖지만, 마켓플레이스 앱 조작에는 사용권 판정을 추가로 통과해야 한다.
- Editor는 작업 조작의 기본 후보지만, 사용권이 없거나 Operator가 아니면 view only 또는 blocked로 내려간다.
- Viewer는 기본적으로 보기 중심이다. 앱별 허용 범위를 넘는 입력, 실행, 저장은 차단한다.
- Operator는 소유자가 아니라 현재 앱 인스턴스를 조작할 수 있는 실행 주체다.
- 호스팅 앱, 외부 앱, AI 앱은 Capability 정책을 별도로 통과해야 한다. 앱에 켜지지 않은 기능은 막는다.
- Fricle AI로 만든 앱은 필요한 기본 기능 권한을 포함할 수 있고, 앱 제작자는 권한을 켜고 끌 수 있다. 단, 위험 권한은 사용자 확인, 관리자 승인, Marketplace 검수 대상으로 남긴다.
- 앱 소유자나 앱 제작자는 내 앱에서 앱을 관리하고, Marketplace에 올릴 때는 일반 등록 또는 인증 등록 중 하나를 선택한다. 이 선택은 Operator 정의와 분리한다.
- 사용자에게는 내부 판정식을 노출하지 않고 “사용 가능”, “보기 전용”, “권한 필요”, “사용권 필요”, “차단됨”처럼 결과 언어로 보여준다.
결과 모드
| 결과 | 조건 | 사용자 표현 |
|---|---|---|
full edit |
역할, 사용권, Operator, Capability 정책을 모두 통과한다. | 사용 가능. 편집, 실행, 저장, 배치 같은 주요 조작을 허용한다. |
view only |
볼 수는 있지만 조작 조건을 통과하지 못한다. | 보기 전용. 선택, 복사, 스크롤처럼 위험이 낮은 행동만 남긴다. |
blocked |
멤버십, 역할, 사용권, Capability 정책 중 필수 조건이 실패한다. | 사용 불가. 필요한 권한, 사용권, 관리자 조치 중 무엇이 필요한지 알려준다. |
하위 영역 연결
| 영역 | 내려가는 기준 | 연결 문서 |
|---|---|---|
| Pipeline | 앱 실행 전 역할, 사용권, Operator, Capability 정책을 확인해 결과 모드를 정한다. | Pipeline: Permission |
| UX UI Permission | 차단 이유와 보기 전용 이유를 사용자가 이해할 수 있는 문장과 버튼으로 표현한다. | UX UI: Permission |
| Marketplace | 앱 상세, 구매, 설치 화면에서 사용권 부족과 권한 부족을 구분해 보여준다. | UX UI: Marketplace |
| Dev Center | 호스팅 앱, 배포 앱, App Capability 정책이 제품 기준을 통과해야 게시와 실행으로 내려간다. | UX UI: Dev Center |
| External Apps | 외부 앱은 권한 모델보다 느슨해질 수 없다. 파일, 실행, Fricle 기능 접근 경계를 별도 정책으로 좁힌다. | UX UI: External Apps |
확정 기준과 후속 분리
| 항목 | 확정 기준 | 후속 위치 |
|---|---|---|
| Operator 지정 UI | 누가 이 앱을 실제로 조작할 수 있는지 정하는 방법이다. 지금은 별도 화면을 확정하지 않고, 기본 동작을 둔 뒤 UX 단계에서 정한다. | UX UI: Permission |
| 역할별 세부 액션 | 상세 액션표는 만들지 않는다. Owner, Admin, Editor, Viewer가 어디까지 할 수 있는지 최소 경계만 둔다. | Pipeline: Permission UX UI: Permission |
| App Capability 정책 | 앱을 만들면 필요한 기능 권한이 기본값으로 제안된다. 앱 제작자는 앱이 Fricle에 요청할 수 있는 기능을 켜고 끌 수 있고, Fricle은 허용된 요청만 처리한다. | Architecture: App Capability Policy |
| AI 정책 | AI가 사용자 작업을 도울 때는 사용자 권한 안에서 읽고, 먼저 초안을 만들며, 영향이 큰 행동은 확인을 거친다. AI로 만든 앱은 별도 AI App Policy에서 기능 프로필과 등록 기준을 다룬다. | Architecture: AI Policy Architecture: AI App Policy |
| Marketplace 등록 채널 | 앱 소유자나 앱 제작자는 만든 앱을 내 앱에서 관리하고, Marketplace에 올릴 때 일반 등록으로 갈지 인증 등록으로 사람 검수까지 받을지 선택한다. 이 선택은 앱을 조작할 사람을 정하는 것과 분리한다. | UX UI: Marketplace UX UI: Dev Center Architecture: Marketplace Policy |