1General Provisions
Benchlog (the "Company") establishes and discloses the following privacy policy, in accordance with Article 30 of the Personal Information Protection Act, to protect the personal information of data subjects and to handle related grievances promptly and smoothly.
This policy applies to the Benchlog web service (benchlog.net) and iOS app operated by the Company.
2Personal Information Collected
Direct collection
| Item | Required/Optional | Retention period |
|---|---|---|
| Email address | Required | For the lifetime of the account |
| Password | Required | For the lifetime of the account (stored as a bcrypt hash) |
| Display name | Required | For the lifetime of the account |
| Team affiliation | Optional | For the lifetime of the account |
| Profile photo URL | Optional | For the lifetime of the account |
| Time zone | Optional | For the lifetime of the account |
Automatic collection
| Item | Required/Optional | Retention period |
|---|---|---|
| iOS device identifier (identifierForVendor) | Optional | Auto-deleted after 90 days without renewal |
| APNs device token | Optional | Auto-deleted after 90 days without renewal |
| Web push subscription (endpoint, encryption keys) | Optional | Auto-deleted after 90 days without renewal |
| IP address | Optional | 90 days (general) / 365 days (security) |
| Browser information (User-Agent) | Optional | 90 days (general) / 365 days (security) |
| Login time | Optional | For the lifetime of the account |
| Presence (online/offline status) | Optional | Not stored (real-time broadcast, expires after 120 seconds) |
| Page performance metrics (Web Vitals) | Optional | Per Vercel's retention policy |
Generated content
| Item | Required/Optional | Retention period |
|---|---|---|
| Chat messages | Optional | On user deletion or account deletion |
| Posts and cards | Optional | On user deletion or account deletion |
| File attachments | Optional | On user deletion or account deletion |
| Research data | Optional | On user deletion or account deletion |
| Voice calls | Optional | Not stored (real-time stream only) |
Payment
| Item | Required/Optional | Retention period |
|---|---|---|
| Payment history (amount, payment ID) | Optional | Framework Act on National Taxes Art. 85-3 (5 years) |
| Billing email | Optional | For the lifetime of the account |
| Card information | Optional | Not collected (processed directly in Stripe's PCI Level 1 environment) |
AI services
| Item | Required/Optional | Retention period |
|---|---|---|
| AI usage history (model, token count, cost) | Optional | Framework Act on National Taxes Art. 85-3 (5 years) |
| AI query content | Optional | Not stored (sent in real time, not recorded in the server DB) |
3Purposes of Processing
| Purpose of processing | Related items |
|---|---|
| Sign-up and identity verification | Email, password, display name |
| Service delivery (research collaboration, chat, kanban, calendar) | User-generated content, team affiliation |
| Push notification delivery | Device token, device identifier |
| AI assistant (Claude) | Query context (sent in real time, not stored in DB) |
| Payment processing | Payment metadata (card information is not collected) |
| Security and abuse prevention | IP address, User-Agent, access logs |
| Service quality improvement | Page performance metrics (Web Vitals), error information |
4Retention and Use Period
| Data type | Retention period | Deletion method |
|---|---|---|
| Deleted content (25 tables) | 30 days | Permanently deleted automatically each day (03:00 UTC) |
| Notifications, activity logs | 90 days | Auto-deleted |
| Security audit logs | 365 days | Auto-deleted |
| Change-tracking logs | 7 days | Auto-deleted |
| Push subscriptions / device tokens (not renewed) | 90 days | Auto-deleted when not renewed |
| Platform administrator sessions | 30 days | Auto-deleted after expiry |
| Push delivery diagnostic logs | 90 days | Auto-deleted |
Retention required by law
| Data type | Legal basis |
|---|---|
| AI usage cost records | Framework Act on National Taxes Art. 85-3 (5-year retention obligation) |
| Payment records and tax invoices | Framework Act on National Taxes Art. 85-3 + Electronic Commerce Act Art. 6 (5 years) |
| Platform security audit logs | Network Act Art. 49-2 |
Benchlog runs an automated cleanup job (cron-purge) every day at 03:00 UTC, permanently and irreversibly deleting data whose retention period has elapsed.
5Sharing with Third Parties
| Recipient | Items shared | Purpose of sharing | Retention period |
|---|---|---|---|
| Google LLC | Email, name, profile photo | Social login (OAuth) | Per Google's own policy |
| Apple Inc. | Device token, notification content | iOS push notification delivery | Per Apple's own policy |
| Agora Inc. | User ID (anonymous), voice stream | Real-time voice chat | Real-time processing (not stored) |
| Stripe Inc. | Payment metadata (card information not routed through us) | Token purchase payment processing | Per Stripe's own policy |
The Company does not share personal information with third parties beyond the scope above without the user's consent.
6Processing Outsourcing
| Processor | Outsourced task | Retention period |
|---|---|---|
| Supabase Inc. | Database hosting | Term of the outsourcing contract |
| Vercel Inc. | Web server hosting and CDN | Service provision period |
| Anthropic PBC | AI assistant inference | Real-time processing (not stored) |
| Functional Software Inc. | Error monitoring | Per Sentry's retention policy |
| Lunaweb GmbH | Document conversion (HWP→PDF, etc.) | Deleted immediately after conversion |
| PartyKit Inc. (Cloudflare) | Real-time collaboration | Deleted at session end |
7Cross-Border Transfer
To provide the service, personal information is transferred overseas as follows.
| Transferee | Destination country | Items transferred | Purpose of transfer |
|---|---|---|---|
| Supabase Inc. | United States | All user data, files | Database hosting |
| Vercel Inc. | United States | API requests/responses, build artifacts | Web server hosting and CDN |
| Anthropic PBC | United States | AI query context (up to 40 conversations) | AI assistant inference |
| Functional Software Inc. | Germany | Error stack traces (PII removed automatically) | Error monitoring |
| Lunaweb GmbH | Global | Document URL (temporarily signed), file name | Document conversion (HWP→PDF, etc.) |
| PartyKit Inc. (Cloudflare) | United States | Edit-sync data (Y.js binary) | Real-time collaboration |
| Google LLC | United States | Email, name, profile photo | Social login (OAuth) |
| Apple Inc. | United States | Device token, notification content | iOS push notification delivery |
| Agora Inc. | Global | User ID (anonymous), voice stream | Real-time voice chat |
| Stripe Inc. | United States | Payment metadata (card information not routed through us) | Token purchase payment processing |
All cross-border transfers use TLS 1.2 or higher encrypted communication, and each contract with a processor includes personal information protection clauses. Payment card information is processed only in Stripe's PCI DSS Level 1 certified environment and does not pass through Benchlog servers.
8Destruction of Personal Information
Personal information whose retention period has elapsed or whose processing purpose has been achieved is destroyed without delay. An automated cleanup system (cron-purge) runs daily to automatically delete expired data.
- Electronic files
- Permanently deleted from the database in an irrecoverable manner (hard DELETE)
- Client cache
- localStorage, IndexedDB, and iOS Keychain fully cleared on logout
- Uploaded files
- Permanently deleted from storage 30 days after deletion
9Data Subject Rights and How to Exercise Them
Users (data subjects) may exercise the following rights.
- Request to access personal information (Art. 35)
- Request to correct errors (Art. 36)
- Request for deletion (Art. 36)
- Request to suspend processing (Art. 37)
How to exercise
| Method | Path |
|---|---|
| Directly in the app | Settings > Account > Edit profile / Delete account |
| [입력 필요] |
Requests are processed within 10 days of receipt, and the results are communicated. Where there is a legitimate reason, the Company may inform the user of the reason and postpone processing.
10Automatic Collection Tools: Installation, Operation, and Opt-Out
Authentication token
Benchlog does not use HTTP cookies. Authentication is based on JWT tokens stored in the browser's localStorage. They are fully cleared on logout.
localStorage
To provide the service, the browser stores authentication tokens, workspace identifiers, UI settings, and more. They are fully cleared on logout.
IndexedDB
For offline support and fast loading, section data caches and the offline operation queue are stored. They are fully cleared on logout.
iOS device storage
The iOS app uses Keychain (auth tokens), UserDefaults (theme settings), and App Group (notification settings). They are fully cleared on logout or app deletion.
Presence
Online/offline status is shown in real time to members of the same workspace. This information is not stored on the server and is automatically discarded within 120 seconds of disconnection.
Vercel Analytics
To improve service quality, page visit information and referrers are collected. No cookies are used, and only anonymous, non-identifiable data is collected.
Sentry
To detect service errors, stack traces and request URLs are collected when an error occurs. Personally identifiable information (PII) is removed automatically, and data is processed in a data center in Germany (EU).
11Data Protection Officer
For complaints or remedies regarding the handling of personal information, you may contact the following agencies.
- Privacy Infringement Report Center: 118 (no area code) / privacy.kisa.or.kr
- Personal Information Dispute Mediation Committee: 1833-6972 / kopico.go.kr
- Supreme Prosecutors' Office Cyber Investigation Division: 1301 (no area code) / spo.go.kr
- National Police Agency Cyber Bureau: 182 (no area code) / cyberbureau.police.go.kr
12Effective Date and Change Notice
This privacy policy takes effect on March 24, 2026.
If this privacy policy is changed, the changes will be announced via in-service notices or email starting 7 days before the effective date.