절대 공개하지 않는 정보
키 권한과 상관없이 API가 절대 반환하지 않는 데이터.
어떤 데이터는 Tahoe API에 아예 없습니다. 스코프로 보호되는 것도, 특별한 키로 열 수 있는 것도 아니며, 지원 요청을 해도 열리지 않습니다. 이런 데이터를 전제로 스키마를 설계하기 전에 이 페이지를 읽어 주세요.
API에 원래 이런 데이터를 위한 필드가 있을 자리에는, 그 필드가 restricted에 never_exposed:consent_scope 이유와 함께 이름으로 나옵니다. 그래서 “Tahoe가 제공하지 않는 값”과 “비어 있는 값”을 구분할 수 있습니다. 가려진 필드를 참고하세요.
API가 절대 반환하지 않는 데이터
| 데이터 | 이유 |
|---|---|
| 고용 평등(EEO)과 다양성 관련 답변 | 후보자는 집계 보고 목적으로만 이 답변을 제공했습니다. 후보자별로도, 집계 형태로도 반환하지 않습니다. 집단이 충분히 작으면 합계만으로도 한 사람을 알아볼 수 있기 때문입니다. |
| 전화 스크리닝 내용: 답변, 녹취록, 녹음 | 후보자가 통화 전에 들은 안내는 Tahoe가 스크리닝한다는 내용이었고, 통화를 다른 누군가에게 넘긴다는 내용이 아니었습니다. screening:metadata:read로는 스크리닝이 진행되었는지와 어떻게 진행되었는지를 알 수 있습니다. 내용은 Tahoe 안에만 남습니다. |
| LinkedIn 프로필 캡처 | has_linkedin_capture: true만 받을 수 있고, 그 이상은 없습니다. 캡처한 프로필은 다른 곳에 넘길 수 없는 조건으로 보관됩니다. |
| 후보자로서 동작하는 링크와 토큰(지원 상태 링크, 스크리닝 링크, 파일 저장 키 등) | 하나하나가 가진 사람이 그 후보자로서 행동할 수 있게 해 줍니다. 어떤 스코프도 이를 제3자에게 넘길 수 있어서는 안 됩니다. |
| 계정 비밀 정보와 권한 설정 | 어떤 계정이 넓은 권한을 가졌는지는 공격자가 가장 먼저 알고 싶어 하는 정보입니다. |
| 검색 프롬프트와 저장된 검색 | 고객의 채용 계획이 평범한 문장으로 그대로 적혀 있습니다. 누구를 어떻게 찾는지는 그 결과로 나온 후보자 목록보다 더 민감합니다. |
| 요금 청구, 크레딧, 인보이스, 결제 기록 | 고객이 얼마를 쓰는지는 고객만의 정보입니다. |
| 리크루터 메모와 평가표 | API는 applications:internal:read로 불합격 사유, AI 점수 근거, 단계 이력을 반환하며, 리크루터가 후보자에 대해 쓴 다른 내용은 반환하지 않습니다. 자유 형식 메모는 후보자가 읽을 것이라 예상하지 않은 사람이 쓴 글입니다. |
| 다른 워크스페이스의 데이터(어떤 경우에도) | 모든 요청은 키에 부여된 워크스페이스로 제한됩니다. 다른 워크스페이스의 ID는 존재하지 않는 ID와 똑같이 404를 반환합니다. |
전화 스크리닝: 진행 여부만, 내용은 절대 제공하지 않음
스크리닝 엔드포인트가 이 원칙을 잘 보여 줍니다. 통화가 있었는지, 얼마나 걸렸는지, 얼마나 완료되었는지는 알 수 있습니다. 답변, 녹취록, 음성은 가려진 필드로 표시되며, 어떤 스코프로도 이를 바꿀 수 없습니다.
curl -s https://tahoe.workonward.com/api/partner/v1/applications/app_6Qm2xKd4Rp8v/screening \
-H "Authorization: Bearer $TAHOE_API_KEY"{
"object": "screening",
"application_id": "app_6Qm2xKd4Rp8v",
"has_screening": true,
"call_status": "completed",
"completion_state": "complete",
"duration_sec": 412,
"consent_state": "granted",
"ambiguous_caller": false,
"started_at": "2026-09-14T15:02:41.118Z",
"ended_at": "2026-09-14T15:09:33.640Z",
"restricted": ["responses", "transcript", "audio"],
"restricted_reason": {
"responses": "never_exposed:consent_scope",
"transcript": "never_exposed:consent_scope",
"audio": "never_exposed:consent_scope"
}
}API는 검색을 실행하지 않습니다
Tahoe에서 후보자 검색을 실행하면 워크스페이스의 크레딧이 차감되고 새 프로필을 가져옵니다. 연동 버그 때문에 고객의 돈이 쓰이는 일이 있어서는 안 되므로, API에는 검색을 시작하는 방법이 없습니다. 새 연락처를 열람하지도 않습니다. 연락처 엔드포인트는 워크스페이스가 Tahoe에서 이미 열람한 것만 반환합니다.
POST /pool/search가 무료 대안입니다. Tahoe가 이미 보유한 공유 인재풀 프로필을 같은 종류의 쿼리로 검색하며, 비용이 들지 않습니다.
이력서 열람 기간은 제품과 같습니다
채용 공고 지원으로 받은 이력서는 API에서도 제품과 같은 규칙을 따릅니다. 이력서는 지원 후 90일 동안 무료로 열람하고 다운로드할 수 있습니다. 90일째부터 120일째까지는 열람할 수 있지만 파일을 다운로드할 수 없습니다. 120일이 지나면 워크스페이스가 Tahoe에서 잠금 해제할 때까지 잠기며, 잠금 해제에는 한 번 50크레딧이 들고 효과는 영구적입니다. 워크스페이스가 잠금 해제하지 않은 이력서는 연동에서도 열리지 않습니다. 이력서 엔드포인트는 상태와 잠금 해제 비용과 함께 403 resume_locked를 반환합니다.
각 이력서에는 현재 상태와 그 상태가 언제 바뀌는지 알려 주는 블록이 있습니다.
{
"resume_access": {
"state": "view_only",
"free_until": "2026-12-03T14:20:05.000Z",
"view_until": "2027-01-02T14:20:05.000Z",
"state_changes_at": "2027-01-02T14:20:05.000Z",
"unlock_credits": 50,
"can_view": true,
"can_download": false
}
}열람 기간은 시간에 따라 바뀌므로, 내 쪽에서 아무것도 바뀌지 않아도 읽을 수 있던 이력서가 잠길 수 있습니다. 한 번 읽었다고 계속 읽을 권리가 생긴다고 여기지 마세요. 사본을 무기한 보관하지 말고 state_changes_at을 확인해 다시 읽으세요.
읽을 수 있는 데이터에도 규칙이 있습니다
읽을 수 있다고 해서 다른 곳에 넘겨도 된다는 뜻은 아닙니다. 연락처는 내 서비스에 가입한 적 없는 사람들의 정보입니다. 응답에 licence 블록이 있으면 licence.redistributable은 항상 false입니다.
- 공개 디렉터리나 재판매용 리스트를 만들지 마세요. 여기서 읽은 어떤 데이터로도 안 됩니다.
- 삭제(소거) 통지를 따르세요. 삭제 통지는 정해진 기한까지 한 사람의 데이터 사본을 지우라는 지시입니다. 통지에는
events:read만 있으면 되므로, 스코프가 좁은 키도 통지를 놓치지 않습니다. - 개인을 다시 식별하지 마세요. 집계 수치를 자체 데이터와 결합해 특정 개인이 누구인지 알아내면 데이터를 집계한 의미가 사라집니다.