Privacy Policy
How Nitroship processes personal data, its purposes, retention, processors, international transfers and your rights.
This is a translation; the Korean version prevails.
Effective date: 2026-10-01
삼삼오오 (the ‘Company’) processes personal data needed to operate Nitroship accounts and services. It publishes these practices and ways to exercise your rights under Article 30 of the Personal Information Protection Act. Information about end users processed by members' applications is distinct from the Company's account data and is explained in Article 3.
Article 1 (Purposes and legal bases)
Account creation and authentication; team and app operations; GitHub integration; building, deploying and hosting; usage measurement; billing and payment; responding to inquiries; and preventing misuse are necessary to conclude or perform a service contract and rely on Article 15(1)(4) of the Personal Information Protection Act. Retaining transaction, payment and dispute records for statutory periods relies on compliance with legal obligations. We process information for promotional news and offers only with separate optional consent, not consent to registration or essential service notices. Article 2 lists the data by purpose.
Article 2 (Personal data processed)
The following information is supplied by members, collected when a feature is selected, or generated in the course of service operations. At registration we confirm that the member is at least 14 but do not store a separate age-confirmation flag, date of birth or guardian identity document.
| Category and source | Data processed | Purpose |
|---|---|---|
| Email registration and verification | Email, password hash, name supplied, email verification status and verification-link token hash, mandatory-consent time (recorded after age confirmation and acceptance of terms), optional marketing consent time | Account creation and authentication, eligibility confirmation, consent management |
| GitHub login | GitHub account identifier and login, verified email, profile name provided, linked external account information | Login and linking using a chosen GitHub account |
| GitHub App repository connection | Installation, team and repository identifiers; repository name, branch, commit and directory; source from repositories selected | Connecting a selected repository and building |
| Teams and invitations | Team name and member roles, invitee and inviter email, invitation token hash, invitation and acceptance times | Team permissions, invitation management and invitation email |
| API tokens | Token identifier, name, prefix and hash, creation, expiry and last-used times | API authentication and access management (the raw token is provided once upon creation) |
| Apps, builds and deployments | App, domain and deployment settings; submitted source and build outputs; build status, errors and logs; deployment events; environment variables and their build-time snapshots (ordinary values in plaintext, secrets as ciphertext) | Running and deploying apps, troubleshooting |
| Usage and traffic analytics | Hourly request counts, transmitted bytes, response statuses and response-time buckets by team, app, deployment and domain; compute and billable usage | Service operations, limit enforcement and billing |
| Audit and security records | Actor, action, resource, time and related metadata; session and authentication token identifiers and cookies; request time, ID, method, host, path without query, status, bytes and duration | Authentication, error analysis, access management and preventing misuse |
| Billing and payment | Billing email, legal name, country, customer type, billing address supplied, business tax identifier; provider customer and payment-method IDs; for NicePay billing-key issuance only, card number, expiry, six-digit date of birth or ten-digit business registration number, and first two digits of the card password (not stored); stored partial card details and encrypted NicePay billing key; invoices, payment and refund records | Requesting a billing key, billing, payment, tax and dispute handling |
| Automatically generated and inquiries | Session creation, last-use and expiry times; access IP and user agent (User-Agent) in login authentication requests, challenges and sessions; language cookie; access IP temporarily used to enforce request limits; address and contents of emails sent to support | Service provision, session management (viewing one's own active sessions), account security, rate limiting and answering inquiries |
Standard edge access logs do not record the access IP or user agent. Login authentication requests, challenges and account session records store the access IP and user agent for session management and account security, and display them when members view their own active sessions. Retention and cleanup criteria are set out in Article 4. The access IP used for rate limiting is used temporarily in memory. Enter only business tax identifiers, such as business registration numbers, in the tax ID field; do not enter Korean resident registration numbers. For NicePay card registration, the Company collects the card number, expiry, six-digit date of birth or ten-digit business registration number, and first two digits of the card password through its card form solely to request a billing key from NicePay. These inputs pass through the Company's frontend and Billing service in memory for that request only and are not stored or logged. The Company stores the encrypted billing key and partial card details, not the full card number or card password. Stripe card entry continues to take place on Stripe's page.
Article 3 (Information about members' app users)
If information about an app's end users is included in source, environment variables, deployment files, application runtime data or logs, the member determines its collection purposes and categories and is responsible for notices to and rights requests from those users. The member is the personal-data controller for that information, and the Company processes it as an entrusted processor within the scope of providing deployment and hosting services on the member's instructions. Do not put unnecessary personal data or Korean resident registration numbers in apps. The Company separately processes its own account and billing data under the purposes and bases in Article 2.
Article 4 (Retention periods)
Account information on account closure, and team app and team information on team deletion, are treated as contract-end information and permanently destroyed by a method that prevents restoration within seven days of that date. Teams where the member closing the account is the sole member are deleted when the account is closed. Where an app is deleted before contract termination, the app’s user information is also permanently destroyed within 7 days of app deletion. However, the deleted app’s hourly billable usage records and the app identifier linking those records (with descriptive information such as its name removed) remain as team billing records needed to settle its charges; they are destroyed upon team deletion or account closure. For final billing and retries of unpaid amounts and where the law requires transaction records, only necessary information is kept separately, used only for that purpose and destroyed at the end of the required period. The feature-specific periods below are expiry and cleanup rules used by the service. Records whose expiry does not coincide with deletion of their operational database rows are included in destruction at contract end.
| Data | Period or criterion | Basis or explanation |
|---|---|---|
| Account sessions (including access IP and user agent) | Valid for up to 7 days (non-remembered logins expire absolutely after 24 hours); retained for diagnostics for 7 days after expiry or revocation, then automatically cleaned up | Session management and account security; cleanup criterion for session and related token database rows |
| Login authentication requests and challenges (including access IP and user agent) | Automatically cleaned up after expiry | Authentication-flow verification and account security |
| Email verification and password-reset links | Valid for 1 hour | Distinct from automatic deletion of expired token-hash rows |
| Team invitation links | Valid for 7 days | Distinct from automatic deletion of expired invitation database rows |
| Build input source objects | 7 days after build completion | Source-object cleanup rule; this does not apply to build status, logs or environment-variable snapshots |
| Hourly traffic analytics | 90 days | Analytics aggregate cleanup rule; distinct from billable usage records |
| Contracts and withdrawal records | 5 years | Article 6 of the Enforcement Decree of the Electronic Commerce Act |
| Payment and service supply records | 5 years | Article 6 of the Enforcement Decree of the Electronic Commerce Act |
| Consumer complaints and dispute records | 3 years | Article 6 of the Enforcement Decree of the Electronic Commerce Act |
| Display and advertising records (if such advertising is undertaken) | 6 months | Article 6 of the Enforcement Decree of the Electronic Commerce Act |
Expiry of API tokens, invitations and sessions is distinct from immediate deletion of operational database rows. Unless subject to statutory retention, account-, team- and app-related information is included in the destruction scope within seven days of termination or app deletion described above.
Article 5 (Third-party disclosure and GitHub integration)
The Company does not disclose personal data to independent third parties without a legal basis or the data subject's consent. If you choose GitHub login, account information flows through GitHub's authorization pages and APIs; if you connect the GitHub App, we access repositories you have authorized. GitHub also operates its own account service, so this integration is not treated as merely entrusted processing on the Company's behalf. Disconnecting it makes that login method or automatic repository builds unavailable. Entrustment under Article 6 is work performed on behalf of the Company.
Article 6 (Entrusted processing)
The Company entrusts the following work to provide the service. A payment provider is involved only for the payment route used by the member. The Company manages processors to prevent use beyond their entrusted work.
| Provider | Work | Relevant information |
|---|---|---|
| Stripe | Overseas payment-method registration, payment and refunds | Billing profile and payment details |
| NicePay | Domestic billing-key issuance, payment and cancellation | Card number, expiry, six-digit date of birth or ten-digit business registration number, and first two digits of the card password for billing-key issuance; billing profile and payment details |
| Amazon Web Services (SES, Seoul region) | Account verification, invitation, billing and service email delivery | Recipient email, message contents and links |
| Backblaze B2 | Storage of deployment files and build source objects | Objects and identifiers and member content they contain |
| Cloudflare | CDN reading and caching of Backblaze B2 objects | Object request, response and cache data; not the general public entry point for apps |
| OVH | US regional edge operations and database storage for the central Control cluster | Requests in that region; account, identity (including session access IP and user agent), team, billing, Git source integration and deployment metadata records |
| 프로젝트 엘리브 (PROJECT ELIV, based in South Korea) | Japanese regional edge operations | Requests in that region |
| 주식회사 디지털레이어 (Digital Layer Co., Ltd., based in South Korea) | South Korean regional edge operations | Requests in that region |
| Discord | Delivery and storage of login security notifications (when the operational webhook is configured) | Masked email, user ID, access IP and user agent |
Edge operates in the United States (OVH), Japan (PROJECT ELIV) and South Korea (Digital Layer); compute operates only in South Korea. The central Control cluster's database is stored in the United States.
Article 7 (International transfers)
Overseas entrusted processing and storage needed to perform a contract are disclosed here under Article 28-8(1)(3)(a) of the Personal Information Protection Act. GitHub login and repository integration connect to an external service at the member's choice. To refuse an overseas transfer, contact team@nitroship.co or stop using the relevant payment method, GitHub integration or overseas region. Refusal may make that payment method, login, automatic build or overseas app operation unavailable. US database storage for the central Control cluster is necessary for account and service operations regardless of the region used, so refusing that transfer restricts account and service use. Domestic NicePay payment and email delivery through SES's Seoul region are distinct from the overseas transfers below.
| Recipient, country and public contact | Data and purpose | Timing, method and retention |
|---|---|---|
| Stripe · United States · privacy@stripe.com | Billing profile and customer/payment-method information for the chosen payment route / payment and refunds | Network transfer when registering a method, billing or refunding / as needed for payment processing and statutory retention |
| Backblaze B2 (Backblaze, Inc.) · US West · privacyrequest@backblaze.com | Deployment files, build source objects and object identifiers / storage | Network transfer when submitting source or deploying / build input source cleaned seven days after build completion; on app deletion or contract termination, corresponding B2 objects (including previous versions) are permanently deleted immediately when deletion is processed |
| Cloudflare (Cloudflare, Inc.) · United States and global network · sar@cloudflare.com | B2 object requests, responses, cached content and request paths / CDN delivery | Network transfer and caching when edge reads stored objects / the corresponding object cache managed by the Company is subject to destruction on app deletion or contract termination; the provider’s own log retention follows its policy |
| GitHub (GitHub, Inc.) · United States and elsewhere · privacy@github.com | OAuth login requests and account identifiers, App installation and repository access requests / chosen login and repository integration | Network API calls at integration, login and repository lookup / Company connection details until disconnection or contract end; GitHub's own retention follows its policy |
| OVH (OVH US LLC) · United States · privacy@corp.ovh.us | US edge requests; account, identity (including session access IP and user agent), team, billing, Git source integration and deployment metadata records / regional edge operations and PostgreSQL database storage for the central Control cluster | Network transfer and database storage when accounts are created, users log in, team, billing, source integration or deployment information is created or changed, and requests are made in that region / retention and cleanup criteria in Article 4 apply; destruction within seven days of contract end (except legally retained data) |
| 프로젝트 엘리브 (PROJECT ELIV, a South Korean business) · servers in Japan · team@eliv.kr | Japan edge requests / regional edge operations | Network transfer on requests in that region / destruction within seven days of contract end (except legally retained data) |
| Discord (Discord Inc.) · United States · privacy@discord.com | Masked email, user ID, access IP and user agent / login security and abuse monitoring | HTTPS webhook transfer on login (when the operational webhook is configured) / follows the retention and deletion criteria for the webhook channel and messages operated by the Company; the provider's own retention follows Discord's policy |
The South Korean edge operated by 주식회사 디지털레이어 (Digital Layer Co., Ltd.) and compute operated only in South Korea are not overseas transfers (Digital Layer privacy inquiries: sales@digital-layer.com). However, account and service records in the central Control cluster are stored in the US database even when using the South Korean region. SES sends from Seoul (ap-northeast-2). Overseas providers’ own statutory retention, global access, subprocessors and CDN cache and log retention are governed by their policies and contracts.
Article 8 (Destruction procedures and methods)
Personal data and user information are destroyed within the periods in Article 4 when the purpose is achieved or the contract ends. An app’s user information is also destroyed within seven days of app deletion. Legally retained transaction records are kept separately and destroyed when their retention period ends. Electronic files are permanently deleted by a method that prevents restoration; paper records, if any, are shredded or incinerated. B2 objects subject to deletion are permanently deleted immediately when deletion is processed, including previous versions, and the corresponding Cloudflare object cache managed by the Company is also subject to destruction. This does not mean the Company can delete copies already downloaded outside its control or external providers’ legally retained records.
Article 9 (Data subject rights and account closure)
A data subject or lawful representative may request access, correction or deletion, suspension of processing or withdrawal of consent at team@nitroship.co. We verify identity or authority using the minimum necessary information, such as the account email. Under Article 41 of the Enforcement Decree of the Personal Information Protection Act, we provide access within 10 days or explain why it is restricted or deferred. Correction, deletion and suspension requests are handled under statutory procedures, and reasons for refusal are provided where applicable. Account closure is requested through the same email; see the Terms of Service for detailed account closure conditions.
Article 10 (Optional marketing consent)
Marketing consent is optional; refusing it does not disadvantage essential service use. You may change or withdraw consent in account settings. No automated advertising email delivery feature was found in the current code; essential notices about authentication, security, billing and team invitations are separate from marketing consent. If we send advertising messages, Article 50 of the Information and Communications Network Act requires advance consent, advertising labels, an opt-out method and confirmation of consent status every two years.
Article 11 (Cookies and how to refuse them)
The following cookies support login, the OAuth authentication flow and language preference. You can block or delete cookies in your browser's per-site settings, but login and authentication may then fail. No web analytics or advertising cookies were found in the Company's code. Cookies on external payment pages or GitHub sites are governed by those providers' policies.
| Name | Purpose and kind of value | Browser retention |
|---|---|---|
| ns_session | Maintaining login; encrypted access and refresh tokens | 7 days |
| ns_oidc_request | Verifying login requests; encrypted OAuth state and verification value | 10 minutes |
| NEXT_LOCALE | Selected language (ko/en) | Up to 1 year |
| nitroship_auth_{id} | Binding an authentication request; temporary random value | 10 minutes |
| nitroship_github_state | GitHub login state verification; temporary random value | 10 minutes |
Article 12 (Security measures)
The Company stores hashes instead of raw passwords, verification links and API tokens; encrypts browser session and temporary OIDC cookies; and applies security attributes such as HttpOnly. Secret environment variables and NicePay billing keys are stored encrypted through OpenBao Transit. Ordinary environment variables and snapshots of ordinary values at build time may not have the same encryption; take care before placing personal data in environment variables.
Article 13 (Children under 14)
Only people aged 14 or over may register; the registration form requires confirmation of being at least 14. If registration by someone under 14 is discovered, the Company restricts the account and reviews and deletes the related personal data. We do not collect dates of birth or a guardian's identity document during registration to prove age.
Article 14 (Automatic suspension based on budget and usage)
An app or feature may stop automatically when a configured budget or usage limit is reached. This uses usage by team and app and configured limits. You can request an explanation or challenge the application of a limit or an error at team@nitroship.co. We do not assert whether this feature constitutes an automated decision under Article 37-2 of the Personal Information Protection Act.
Article 15 (Privacy officer)
The privacy officer is 엄다니엘 and can be reached at team@nitroship.co. Send questions about personal-data processing or requests for redress to this address.
Article 16 (Remedies)
You can also seek privacy counseling, report an infringement or request dispute mediation through the following organizations.
- Personal Information Dispute Mediation Committee: 1833-6972 · www.kopico.go.kr
- Personal Information Infringement Report Center: 118 · privacy.kisa.or.kr
- Supreme Prosecutors' Office: 1301 · www.spo.go.kr
- National Police Agency: 182 · ecrm.police.go.kr
Article 17 (Changes and effective date)
When this policy changes, the Company will announce the changes and effective date on the service and obtain separate consent where required by law. This policy takes effect on October 1, 2026.