발주 도우미 크롬 확장 프로그램 개인정보처리방침
시행일: 2026-10-15
이 방침은 크롬 확장 프로그램 "발주 도우미"(이하 "확장 프로그램")가 다루는 정보를 설명합니다. 확장 프로그램은 주식회사 싱크플로(이하 "제공사")가 만든 Windows 앱 "발주 도우미"(이하 "앱")와 함께 쓰는 동반 프로그램이며, 앱 없이는 아무 일도 하지 않습니다. 앱이 PC에서 정보를 다루는 방식은 앱 안의 '개인정보 처리 고지'에 있습니다.
1. 확장 프로그램이 하는 일
꽃배달 사업자의 발주 담당자가 앱에서 확인한 주문을, 담당자가 고른 발주 사이트의 주문서에 입력합니다. 주문에 고객 상품 사진이 있으면 앱이 넘긴 그 사진을 주문서의 사진 칸에 올립니다. 발주금액 칸에는 입력하지 않고 담당자가 직접 칠 칸으로 빨갛게 표시합니다. 입력한 값이 맞는지 다시 읽어 확인하고, 담당자가 사이트에서 최종 발주 버튼을 누르면 완료 화면을 알아차려 앱에 알립니다. 최종 발주 버튼은 누르지 않습니다. 담당자가 요청하면 크롬에 띄운 원천(주문 관리) 웹 주문서에서 주문 정보를 읽어 앱에 전달합니다. 역기록이 켜진 원천 웹에서는, 담당자가 그 주문의 발주를 마쳤을 때나 앱에서 '원천에 적기'를 누를 때 같은 주문인지 확인한 뒤 원천 웹 주문서의 정해진 칸 하나에 발주한 사이트 이름을 적습니다(역기록). 그 페이지의 저장 버튼은 누르지 않으며, 저장은 담당자가 합니다.
2. 다루는 정보
| 정보 | 내용 |
| 주문 정보(개인정보 포함) | 받는 분 이름·연락처, 배송지 주소, 배송일시, 배송메모, 경조사어(리본 문구), 보내는 분, 상품(상품명·분류 경로·상품상세), 메시지 종류와 카드 문구, 주문 사진(고객 상품 사진) |
| 웹 페이지 내용 | 담당자가 권한을 준 발주 사이트 주문서와 원천 웹 주문서의 입력칸 값, 발주 완료 화면의 주문번호(최대 40자), 역기록 전에 같은 주문인지 확인하려고 읽는 원천 웹 주문서의 주문 구별 값(주문번호 등)과 적을 칸의 현재 값 |
| 페이지 구조 | 입력에 실패했을 때 오류 보고용으로 만드는 입력칸 골격(태그·종류·개발용 이름만, 값과 글자 없음) |
다루지 않는 정보: 방문 기록, 쿠키, 비밀번호와 그 밖의 로그인 정보(비밀번호 칸에는 입력하지 않습니다), 결제 정보, 위치 정보, 권한을 주지 않은 사이트의 내용, 알림창의 내용.
3. 언제, 어떻게 얻나요
- 담당자의 동작으로 시작된 일에서만 동작합니다: 앱에서 '발주'·'가져오기'·'원천에 적기'를 누를 때, 그리고 담당자가 발주 사이트에서 최종 발주를 마친 주문의 사이트 이름을 원천 웹에 적을 때. 역기록은 제공사가 서명한 정의에서 역기록이 켜진 원천 웹에서만 합니다.
- 담당자가 크롬에서 직접 허용한 사이트에서만 동작합니다. 설치할 때는 어떤 사이트 권한도 요청하지 않고, 앱에서 쓰기로 한 사이트·원천 웹의 주소만 그때그때 요청합니다.
- 가져오기는 원천 웹 주문서 가운데 현재 보고 있는 탭 하나만 읽습니다.
- 역기록은 권한을 준 원천 웹의 열린 탭 가운데 같은 주문을 띄운 탭이 정확히 하나일 때만 합니다. 같은 주문인지 확인하려고 주문 구별 값(주문번호 등)을 읽고, 정해진 칸이 비어 있거나 이 프로그램이 전에 적은 사이트 이름일 때만 그 칸 하나에 적은 뒤 다시 읽어 확인합니다. 그 칸에 다른 글이 있으면 적지 않고 앱에 알리며, 담당자가 그 글을 보고 '바꾸기'를 고른 경우에만 바로 그 글을 사이트 이름으로 바꿉니다. 확인이 맞지 않으면 적지 않고 앱에 알립니다.
- 발주 사이트에서는 확장 프로그램이 연 탭(과 그 탭이 연 팝업)에서만, 그 발주가 완료되거나 탭이 닫힐 때까지(최대 12시간, 크롬을 다시 시작하면 끝) 최종 발주 직전의 값과 완료 화면을 확인합니다. 다른 탭과 그 밖의 시간에는 페이지를 관찰하지 않습니다.
- 제공사가 서명한 정의가 요청한 발주 사이트에서는, 그 발주의 탭 안에서 알림창(
alert)이 떴다는 사실만 알아차리도록 패키지 안의 작은 스크립트를 그 페이지에 넣습니다. 이 스크립트는 알림창을 그대로 띄우고 "알림창이 떴다"는 내용 없는 신호만 남기며, 알림 내용을 읽거나 저장·전송하지 않습니다. 확장 프로그램은 그 신호를 받으면 완료 화면인지 다시 확인할 뿐입니다.
4. 이용 목적
위 1절의 기능(주문서 입력과 확인, 사진 칸 올리기, 완료 감지, 원천 주문 읽기, 원천 웹 역기록)에만 씁니다. 광고, 이용자 분석·프로파일링, 신용 평가, 판매에 쓰지 않습니다. 사람이 이 정보를 열람하지 않습니다.
5. 전달
- 확장 프로그램은 정보를 같은 PC의 앱에만 전달합니다(크롬 Native Messaging). 앱은 이 확장 프로그램의 ID만 연결을 받아들입니다.
- 제공사 서버를 포함해 어떤 외부 서버로도 주문 정보를 보내지 않습니다. 확장 프로그램은 스스로 인터넷 요청을 하지 않습니다. 주문 사진도 앱이 같은 PC 안의 연결로 넘겨 줍니다.
- 사이트 입력 방식을 적은 정의 파일은 확장 프로그램이 직접 받지 않고, 앱이 서명을 확인한 뒤 넘겨 줍니다. 정의 파일에는 주문 정보가 없습니다.
- 발주 사이트 주문서에 입력된 값과 올린 사진은 담당자가 그 사이트에서 최종 발주 버튼을 누를 때 그 사이트로 전송됩니다. 이것은 담당자의 발주 행위이며 확장 프로그램이 보내는 것이 아닙니다. 역기록으로 원천 웹 주문서에 적은 사이트 이름도 담당자가 그 페이지를 저장할 때 원천 웹으로 전송됩니다.
6. 보관
- 확장 프로그램은 주문 정보를 저장하지 않습니다. 입력에 필요한 값은 그 입력이 끝날 때까지 메모리에만 있고, 브라우저 저장소(
chrome.storage.local, chrome.storage.session, IndexedDB), 쿠키, 개발자 콘솔에 남기지 않습니다.
- 주문 사진은 그 주문서를 연 화면에 한 번 넘기면 잊고, 넘기지 못해도 60초 뒤나 연결이 끊기거나 탭이 닫히면 잊습니다. 다른 탭·화면에는 넘기지 않습니다.
- 크롬을 다시 시작해도 남는
chrome.storage.local에는 주문과 상관없는 값 두 개만 둡니다: 앱이 이 크롬 프로필을 구별하는 데 쓰는 무작위 프로필 번호와, 이미 받아들인 것보다 오래된 사이트 정의로 되돌아가지 않도록 기억하는 정의 버전 하한(채널별 일련번호와 그 색인의 해시).
- 크롬을 닫으면 사라지는
chrome.storage.session에는 다음만 둡니다: 어느 탭이 어느 입력 작업인지(무작위 작업 번호·화면 표시용 짧은 코드와 그 작업의 일회용 확인 값, 사이트 정의 이름, 작업이 열 수 있는 사이트 주소, 진행 단계, 주 탭인지 팝업인지), 앱과의 연결 상태, 서명을 확인한 사이트 정의(제공사가 공개하는 데이터, 주문 정보 없음), 앱에서 쓰기로 한 사이트 주소와 담당자에게 요청 중인 사이트 권한, 적용을 기다리는 확장 프로그램 업데이트 버전.
- 주문 정보의 보관·파기는 앱이 PC 안에서 암호화해 관리합니다(기본 90일 후 자동 삭제).
7. 보안
- 확장 프로그램의 모든 코드는 패키지 안에 있습니다. 원격 코드를 내려받아 실행하지 않고, 정의 파일의 내용으로 코드를 만들지 않습니다.
- 사이트 페이지 자체의 실행 환경에 넣는 것은 3절의 알림창 스크립트 파일 하나뿐이며, 이 파일은 패키지 안에 있고 정의·주문·페이지에서 아무 값도 받지 않습니다.
- 정의 파일은 정해진 항목만 쓸 수 있는 데이터이며, 앱과 확장 프로그램이 각각 전자서명을 확인합니다. 서명이 맞지 않으면 쓰지 않습니다.
- 확장 프로그램은 사이트의 제출·결제 버튼과 원천 웹 주문서의 저장 버튼을 누르지 않고, 키 입력이나 클릭을 흉내 내지 않으며, 사이트 밖으로 이동하지 않습니다. 발주금액 칸에는 입력하지 않습니다.
8. 권한과 이유
| 권한 | 이유 |
nativeMessaging | 같은 PC의 발주 도우미 앱과 통신(주문 정보·사진·서명된 정의가 이 통로로만 옴) |
storage | 주문과 상관없는 값 두 개(무작위 프로필 번호, 정의 버전 하한)를 크롬 저장소에, 탭-작업 연결·연결 상태·서명된 사이트 정의 같은 작업 상태를 크롬을 닫으면 사라지는 세션 저장소에 보관. 주문 정보는 어디에도 저장하지 않음 |
scripting | 패키지 안의 스크립트만: 담당자가 허용한 사이트에 입력·읽기·역기록 스크립트를 등록, 이미 열려 있던 허용된 탭에 같은 스크립트를 넣기(가져오기·역기록 때), 정의가 요청한 발주 사이트의 작업 탭에 알림창 스크립트 넣기(3절) |
alarms | 앱이 아직 실행되지 않았을 때 다시 연결을 시도 |
선택 사이트 권한 (https://*/*, http://*/*) | 발주 사이트는 고객사마다 다르고 오래된 http 사이트도 있어, 담당자가 쓰기로 한 사이트의 주소만 실행 중에 요청 |
9. Chrome 웹 스토어 사용자 데이터 정책 준수
확장 프로그램이 받은 정보의 사용과 전달은 Chrome 웹 스토어 사용자 데이터 정책(제한적 사용 요건 포함)을 따릅니다. 정보는 1절의 단일 목적을 위해서만 쓰고, 그 목적에 필요한 경우(같은 PC의 앱으로 전달)를 빼고는 누구에게도 전달하지 않습니다.
10. 담당자의 선택
- 크롬 설정 → 확장 프로그램 → 발주 도우미 → '사이트 액세스'에서 언제든 사이트 권한을 거둘 수 있습니다. 권한을 거둔 사이트에서는 더 이상 읽거나 입력하거나 역기록하지 않습니다(그 전에 매번 권한을 확인합니다).
- 앱 설정에서 사이트를 끄거나, 확장 프로그램을 제거할 수 있습니다. 제거해도 남는 정보는 없습니다.
11. 대상
이 확장 프로그램은 사업자의 발주 업무용이며 아동을 대상으로 하지 않습니다.
12. 변경
이 방침을 바꾸면 이 페이지의 시행일을 고치고, 다루는 정보나 전달 방식이 바뀌는 경우에는 바뀌기 전에 앱과 이 페이지로 알립니다.
13. 문의
- 제공사: 주식회사 싱크플로
- 연락처(이메일): admin@thinkflow5.com
Privacy Policy — "발주 도우미" (Barju) Chrome extension
Effective date: 2026-10-15 · The Korean text above prevails if the two differ.
This policy describes the information handled by the Chrome extension "발주 도우미" ("the extension"). The extension is a companion to the Windows app "발주 도우미" ("the app") made by 주식회사 싱크플로 ("we") and does nothing without the app. How the app handles information on the PC is described in the app's own privacy notice.
1. What the extension does
For an order that a florist's order clerk has reviewed in the app, the extension fills the order form of the ordering site the clerk selected. If the order has a customer product photo, it attaches the photo the app hands over to the form's file field. It never fills the order price; it marks that field in red for the clerk to type. It reads the form back to verify the entered values, and, after the clerk presses the site's final order button, detects the completion page and reports it to the app. It never presses the final order button. On request, it reads the order form of the clerk's order-management web page in Chrome and passes the values to the app. On an order-management page for which write-back is enabled, when the clerk has placed that order or presses "원천에 적기" (write to source) in the app, it confirms that the order-management page shows the same order and then writes the name of the ordering site into one designated field of that order form (write-back). It does not press that page's save button; the clerk saves the page.
2. Information handled
- Order data, including personal information: recipient name and phone number, delivery address, delivery date and time, delivery note, ribbon text, sender, product (name, category path and product details), message kind and card text, order photo (the customer's product photo).
- Website content: values of form fields on the ordering sites and the order-management web page that the clerk granted access to, the order number shown on a completion page (at most 40 characters), and, before a write-back, the values that identify the order (such as the order number) on the order-management page and the current value of the field to be written.
- Page structure: when a fill fails, a form-control skeleton for an error report (tag, type and developer names only; no values and no text).
Not handled: browsing history, cookies, passwords or any other login data (the extension never fills a password field), payment data, location, content of sites the clerk has not granted, and the text of alert dialogs.
3. When and how
- The extension acts only on work started by the clerk: when the clerk presses "발주" (order), "가져오기" (import) or "원천에 적기" (write to source) in the app, and when it writes the ordering site's name back to the order-management page for an order the clerk has placed. Write-back happens only on order-management pages for which our signed definitions enable it.
- It works only on sites the clerk has allowed in Chrome. It requests no site access at install time; it requests access only to the specific sites and order-management pages the clerk chose to use.
- An import reads only the active tab of the order-management web page.
- A write-back happens only when exactly one open tab of the granted order-management page shows the same order. To confirm that, it reads the values that identify the order (such as the order number); it writes only into the one designated field, only if that field is empty or holds the site name this program wrote before, and then reads the field back. If the field holds other text, it writes nothing and tells the app; only when the clerk has seen that text and chosen "바꾸기" (replace) does it replace exactly that text with the site name. If any check fails, it writes nothing and tells the app.
- On an ordering site, it checks the values right before the final order and the completion page only in the tab it opened (and popups opened from that tab), and only until that order is completed or the tab is closed (at most 12 hours; a Chrome restart ends it). It does not observe other tabs, or any tab at other times.
- On an ordering site whose signed definition asks for it, it puts one small packaged script into the pages of that order's tab so that it can notice that an alert dialog was shown. The script shows the alert exactly as before and leaves only a content-free signal that an alert appeared; it does not read, store or send the alert's text. On that signal the extension only re-checks whether the completion page has appeared.
4. Use
Only for the functions in section 1 (filling and verifying order forms, attaching the order photo, completion detection, reading source orders, and write-back to the order-management page). No advertising, user analytics or profiling, credit assessment, or sale. No person reads this information.
5. Transfer
- The extension passes information only to the app on the same PC (Chrome Native Messaging). The app accepts connections only from this extension's ID.
- It sends no order data to any external server, including ours. The extension makes no network requests of its own; order photos, too, come from the app over the same on-device channel.
- Site definition files are not fetched by the extension; the app verifies their signatures and hands them over. Definition files contain no order data.
- Values entered into an ordering site's form, and an attached photo, are sent to that site when the clerk presses the site's final order button. That is the clerk's own action, not a transfer by the extension. Likewise, a site name written back into the order-management page is sent to that page's site when the clerk saves the page.
6. Storage
- The extension does not store order data. Values needed for a fill stay in memory until that fill ends and are never written to browser storage (
chrome.storage.local, chrome.storage.session, IndexedDB), cookies or the developer console.
- An order photo is forgotten once it has been handed to the page that opened the order form, and otherwise after 60 seconds, when the connection drops or when the tab closes. It is never handed to another tab or page.
chrome.storage.local, which survives a Chrome restart, holds exactly two values unrelated to any order: a random profile id the app uses to tell this Chrome profile apart, and the definition version floor (per channel, the sequence number and hash of the newest accepted index) that keeps the extension from going back to older site definitions.
chrome.storage.session, which is cleared when Chrome closes, holds only: which tab belongs to which fill job (a random job id and short display code, the job's one-time check value, the site definition name, the site addresses the job may open, the step, and whether it is the main tab or a popup), the app connection status, the signature-verified site definitions (data we publish, no order data), the site addresses the clerk chose in the app and any site access being requested, and the version of an extension update waiting to be applied.
- Retention and deletion of order data are handled by the app, encrypted on the PC (deleted automatically after 90 days by default).
7. Security
- All of the extension's code is in its package. It downloads and runs no remote code and never builds code from definition data.
- The only thing it puts into a site page's own execution environment is the alert script file of section 3; that file is packaged and takes no value from a definition, an order or the page.
- Definition files are data with a fixed set of allowed entries; both the app and the extension verify their digital signatures and reject files that do not verify.
- The extension does not press submit or payment buttons or the save button of the order-management page, does not simulate keystrokes or clicks, does not navigate away from the site, and does not fill the order price.
8. Permissions
nativeMessaging: talk to the 발주 도우미 app on the same PC (order data, photos and signed definitions arrive only through this channel).
storage: keep two values unrelated to any order (a random profile id and the definition version floor) in Chrome's local storage, and the job state — tab-to-job binding, connection status, signed site definitions — in session storage, which Chrome clears on exit. No order data is stored anywhere.
scripting: packaged scripts only — register the fill, read and write-back script on sites the clerk has allowed, inject the same script into an already-open tab of an allowed site (import and write-back), and inject the alert script into the order's tab on sites whose definition asks for it (section 3).
alarms: retry the connection while the app is not running yet.
- Optional site access (
https://*/*, http://*/*): ordering sites differ for every business and some are still served over http, so access is requested at run time only for the sites the clerk chose.
9. Chrome Web Store User Data Policy
The use and transfer of information received by the extension adhere to the Chrome Web Store User Data Policy, including the Limited Use requirements. Information is used only for the single purpose in section 1 and is not transferred to anyone except as that purpose requires (to the app on the same PC).
10. Your choices
- You can withdraw site access at any time in Chrome Settings → Extensions → 발주 도우미 → Site access; the extension no longer reads, fills or writes back on that site (it checks access before each of them).
- You can turn a site off in the app or remove the extension. Nothing is left behind when the extension is removed.
11. Audience
The extension is for business ordering work and is not directed at children.
12. Changes
When this policy changes, we update the effective date on this page. If the information handled or the way it is transferred changes, we announce it in the app and on this page before the change takes effect.
13. Contact
- Company: 주식회사 싱크플로
- Contact (e-mail): admin@thinkflow5.com