Payload의 대안으로서의 Fóir
둘 다 코드로 정의하는 콘텐츠 모델에 타입이 지정된 접근을 제공합니다. 차이는 그 아래에 무엇이 있는지, 그리고 각자가 약속한 것을 어디서 강제 적용하는지입니다.
나란히 비교
| Capability | Fóir | Payload |
|---|---|---|
| 가격 | 월 £0.99, £29 또는 £99 | 셀프 호스팅은 무료, Payload Cloud는 월 $35부터 |
| 콘텐츠 관리 | 표준 | 표준 |
| 테넌트 격리 | 코드 아래 계층에서 강제 적용 | 애플리케이션 계층 검사 |
| 테넌트별 스키마 | 프로젝트 또는 조직별 | 모든 테넌트에 하나의 설정 |
| 개인화 | 기본 제공, 요청마다 결정 | 서드파티 통합 |
| 오디언스 미리보기 | 편집기에 내장 | 미리 볼 개인화 기능 없음 |
| 에이전트 액세스 | 콘텐츠와 컨트롤 플레인 | 컬렉션별 레코드 CRUD |
| 에이전트 안전장치 | 승인 게이트, 실패 시 차단 | 키별 권한 |
| 생성되는 API | 모델에서 생성되는 타입 지정 GraphQL | 설정에서 생성되는 타입 |
| 호스팅 인증 | 로그인, 역할, 토큰 포함 | 최종 사용자용은 직접 준비 |
| 콘텐츠 이상의 백엔드 | 오퍼레이션, 훅, 스케줄, 시크릿 | 직접 작성하는 훅과 작업 |
| 데이터 소유권 | 액세스 규칙을 포함한 Postgres 내보내기 | 직접 관리하는 데이터베이스 |
| 운영 | 관리형, 운영할 데이터베이스 없음 | 직접 운영하고 패치 |
가격
- Fóir
- 월 £0.99, £29 또는 £99
- Payload
- 셀프 호스팅은 무료, Payload Cloud는 월 $35부터
콘텐츠 관리
- Fóir
- 표준
- Payload
- 표준
테넌트 격리
- Fóir
- 코드 아래 계층에서 강제 적용
- Payload
- 애플리케이션 계층 검사
테넌트별 스키마
- Fóir
- 프로젝트 또는 조직별
- Payload
- 모든 테넌트에 하나의 설정
개인화
- Fóir
- 기본 제공, 요청마다 결정
- Payload
- 서드파티 통합
오디언스 미리보기
- Fóir
- 편집기에 내장
- Payload
- 미리 볼 개인화 기능 없음
에이전트 액세스
- Fóir
- 콘텐츠와 컨트롤 플레인
- Payload
- 컬렉션별 레코드 CRUD
에이전트 안전장치
- Fóir
- 승인 게이트, 실패 시 차단
- Payload
- 키별 권한
생성되는 API
- Fóir
- 모델에서 생성되는 타입 지정 GraphQL
- Payload
- 설정에서 생성되는 타입
호스팅 인증
- Fóir
- 로그인, 역할, 토큰 포함
- Payload
- 최종 사용자용은 직접 준비
콘텐츠 이상의 백엔드
- Fóir
- 오퍼레이션, 훅, 스케줄, 시크릿
- Payload
- 직접 작성하는 훅과 작업
데이터 소유권
- Fóir
- 액세스 규칙을 포함한 Postgres 내보내기
- Payload
- 직접 관리하는 데이터베이스
운영
- Fóir
- 관리형, 운영할 데이터베이스 없음
- Payload
- 직접 운영하고 패치
Payload의 동작은 2026년 8월 기준의 공개 문서에서 가져왔습니다. 무언가가 없다고 말하는 경우는 코어와 공식 플러그인에 없다는 뜻이며, 만들 수 없다는 뜻이 아닙니다. 정정 요청을 환영하며 반영하겠습니다.
데이터베이스를 운영하지 않고 데이터를 소유하기
셀프 호스팅을 택하는 일반적인 이유는 종속에 대한 우려입니다. 공급업체가 사라지거나, 가격이 바뀌거나, 어떤 질문에 대한 답이 아니오일 때 콘텐츠를 직접 통제하는 곳에 두고 싶은 것입니다.
Fóir는 의무가 아니라 퇴로로 답합니다. 명령 하나로 여러분이 소유하는 데이터베이스가 만들어지며, 모델마다 테이블 하나, 실제 외래 키로 된 참조, 그 위에 변환된 액세스 규칙이 담기고, 같은 고객의 클레임을 두 데이터베이스에 적용해 같은 행이 반환되는지를 요구하는 테스트로 검증됩니다. 떠날 수 있고, 데이터를 안전하게 만든 것도 함께 떠납니다.
그럴 때까지는 운영하고, 패치하고, 새벽에 호출받을 데이터베이스가 없습니다.
잊은 검사가 행을 유출할 수 없습니다
Payload는 쿼리에 필터를 추가하는 액세스 제어 함수로 테넌트를 분리합니다. 이는 모든 컬렉션이 등록되고 모든 코드 경로가 이를 거치는 동안에만 유지되며, 한계에 대해서는 자체 문서가 직접적으로 밝히고 있습니다.
Fóir에서는 작성한 규칙이 애플리케이션이 아니라 그 아래에서 강제 적용됩니다. 검사를 잊은 읽기는 전체가 아니라 빈 결과를 돌려받고, 데이터를 둘 새 위치가 생긴 프로젝트는 규칙 없이 출시될 수 없습니다.
나머지 백엔드도 함께 옵니다
콘텐츠 저장 외에 애플리케이션에 필요한 대부분이 이미 있습니다. 예약 작업, 게시나 변경 시 실행되는 라이프사이클 훅, 연동하는 시스템으로의 아웃바운드 오퍼레이션, 그리고 이러한 호출에 필요한 API 키를 설정에 붙여 넣지 않고 보관할 곳입니다.
로그인도 함께 옵니다. 최종 사용자는 CMS 옆에 인증 서비스를 따로 세우지 않고도 저희가 아닌 여러분의 도메인에서 가입, 비밀번호 및 일회용 코드 로그인, 소셜 공급자, 역할, 갱신 토큰을 얻습니다.
하나의 워크스페이스, 모든 클라이언트
에이전시는 클라이언트마다 프로젝트를 갖고, 모두 하나의 워크스페이스에서 관리합니다. 스키마를 공유해야 하는 클라이언트는 하나의 프로젝트 안의 조직이 됩니다. 모델은 한 번 정의되고 모든 조직이 이를 상속하며, 다른 곳에 없는 것이 필요한 클라이언트가 있으면 어느 조직이든 자체 모델을 추가할 수 있습니다.
모든 키는 프로젝트 안에서 만들어지며 그 프로젝트만을 대상으로 하므로, 클라이언트의 키는 그들의 콘텐츠에만 닿습니다. 각 프로젝트는 자체 로그인 도메인과 자체 브랜딩을 가집니다.
오디언스는 여러분이 소유하는 모델입니다
Fóir의 콘텐츠는 요청마다 결정됩니다. 오디언스는 자체 모델에서 정의되므로 다른 것과 마찬가지로 편집할 수 있고, 버전이 관리되며, 주소를 지정할 수 있고, 변형은 레코드 전체나 그 안의 필드 하나를 대체할 수 있습니다.
이것은 상대 쪽에 대응하는 것이 없는 부분입니다. Payload는 Croct나 Statsig를 안내하며, 이는 두 번째 시스템, 두 번째 청구서, 그리고 두 곳에 있는 콘텐츠를 뜻합니다.
따로 조립해야 했던 것들
콘텐츠 API는 애플리케이션에 필요한 것 중 가장 작은 부분입니다. 아래 기능이 함께 제공됩니다.
게시
초안, 전체 버전 이력, 되돌리기, 예약 게시, 그리고 한 묶음을 함께 공개해야 할 때의 일괄 롤아웃.
모델 동작
모델마다 버전 관리, 게시, 변형을 켜거나 모두 끌 수 있습니다. 레코드는 일반 데이터, 고객 소유, 공개 중에서 선택할 수 있습니다.
권한
팀을 위한 역할과 고객을 위한 역할, 그리고 레코드별 공개 범위와 지정한 사람에 대한 권한 부여.
호스팅 로그인
비밀번호, 일회용 코드, 소셜 및 OIDC 공급자를 사용자의 도메인에서 제공하며, 토큰과 갱신은 대신 처리합니다.
미디어와 에셋
업로드, 변환, 반응형 렌디션을 갖춘 에셋 라이브러리이며, 레코드와 같은 액세스 규칙을 파일에도 적용합니다.
API 키
각 키는 허용한 모델과 오퍼레이션에만 접근하며, 해당 프로젝트용으로 생성된 스키마를 대상으로 합니다.
자동화
크론 스케줄, 게시와 변경 시의 라이프사이클 훅, 외부로 보내는 오퍼레이션, 그리고 필요한 키를 위한 볼트.
알림
콘텐츠가 이미 발생시키는 동일한 이벤트로 트랜잭션 이메일과 웹, iOS, Android 푸시를 보냅니다.
노트와 작업
페이지가 아니라 해당 레코드에 고정되는 댓글이며, 조치해야 하는 사람에게 할당할 수 있습니다.
Ask Fóir
팀과 같은 도구와 권한으로 콘텐츠를 다루는 어시스턴트이며, 편집 내용은 검토를 위해 대기시킵니다.
자리를 비워도 이어지는 작업
Fóir에 작업을 할당하면 자리를 비운 동안에도 진행하고, 답이 필요하거나 끝나면 노트로 알려 줍니다.
확장
관리자 화면에 자체 도구를 추가하는 앱을 설치하여, 다루는 콘텐츠 바로 옆에서 사용합니다.
검색과 벡터
전문 검색, 그리고 레코드에 대해 생성되는 임베딩으로 키워드가 아닌 의미로 검색할 수 있습니다.
지리
모든 모델에 좌표를 저장하고 근접도로 쿼리합니다. 이 지점 근처에 무엇이 있는지를 거리순으로 가져옵니다.