1. Ներածություն
Konstruct-ը ծայրից ծայր գաղտնագրմամբ մեսենջեր է, որը կառուցված է Signal Protocol-ի վրա և կողմնորոշված է դեպի գաղտնիությունը։ Սույն քաղաքականությունը բացատրում է, թե հատկապես ինչ տվյալներ ենք մենք հավաքում, ինչու, և ինչ չենք հավաքում։ Konstruct-ը սկզբից ևեթ նախագծված է այնպես, որ մեզ մոտ Ձեր մասին տվյալները լինեն հնարավորինս քիչ։
Հիմնական սկզբունք. մենք հավաքում ենք գաղտնագրված հաղորդագրությունների երթուղավորման համար անհրաժեշտ բացարձակ նվազագույն տվյալները։ Ձեր հաղորդագրությունների բովանդակությունը գաղտնագրված է ծայրից ծայր՝ մեր սերվերները չեն կարող այն կարդալ, և մենք դրան չենք փորձում։
2. Ինչ տվյալներ ենք հավաքում
2.1 Հաշվի նույնացուցիչ
Konstruct-ը չի պահանջում հեռախոսահամար, էլեկտրոնային փոստի հասցե, գաղտնաբառ կամ իրական անուն։
- User ID. պատահական UUID, որը սերվերը գեներացնում է հաշիվ ստեղծելիս։ Այն չի ածանցվում ո՛չ Ձեր բանալիներից, ո՛չ Ձեր մասին որևէ այլ բանից, և դրանից Ձեր մասին ոչինչ հանել հնարավոր չէ։
- Device ID. Ձեր սարքի բաց Identity Key-ի 32-նիշանոց հեշ։ Ի տարբերություն User ID-ի՝ այն դետերմինացված է. նա, ով արդեն ունի այս բաց բանալին, կարող է այն հաշվարկել, ուստի այն ծառայում է Ձեր սեփական սարքերի կապակցման և հրավերի հղումների համար, այլ ոչ թե որպես հաշվի նույնացուցիչ։
- Օգտանուն (ըստ ցանկության). հրապարակային կեղծանուն, որով Ձեզ կարող են գտնել, եթե միացնեք հայտնաբերումը։ Սերվերը պահում է միայն անվան բանալիով հեշը, ոչ թե հենց անունը։ Այն կարելի է փոխել կամ ջնջել ցանկացած պահի։
Հաշիվ ստեղծելու և Konstruct-ն օգտագործելու համար Ձեզ նույնականացնելու հնարավորություն տվող որևէ տեղեկություն պահանջվում չէ։
2.2 Գաղտնագրական բանալիների հավաքածու
Որպեսզի աշխատի Signal Protocol-ի բանալիների փոխանակումը, Ձեր սարքը գեներացնում և սերվեր է վերբեռնում հետևյալ բաց բանալիները։ Համապատասխան գաղտնի բանալիները երբեք չեն լքում սարքը և պահվում են հարթակի պաշտպանված բանալիների պահոցում (iOS Keychain, Android Keystore)։
| Բանալի | Տեսակ | Պահվում է սերվերում | Նշանակություն |
|---|---|---|---|
| Identity Public Key | X25519 (երկարաժամկետ) | Այո, մշտապես | Նույնականացնում է Ձեր սարքը. օգտագործվում է X3DH handshake-ում |
| Signed PreKey | X25519 (միջնաժամկետ) | Այո, պարբերաբար ռոտացվում է | Օգտագործվում է X3DH բանալիների համաձայնեցման մեջ |
| Միանգամյա նախաբանալիներ (OTPK) | X25519 (էֆեմերային) | Այո, մինչև օգտագործումը | Ծախսվում են մեկական՝ մեկ սեսիայի համար՝ կատարյալ ապագա գաղտնիության (perfect forward secrecy) նպատակով |
| Գաղտնի բանալիներ | — | Երբեք | Բոլոր գաղտնի բանալիները մնում են միայն Ձեր սարքում |
Սերվերը հետևում է, թե քանի միանգամյա նախաբանալի է մնացել, և խնդրում է սարքին համալրել պաշարը, երբ դրանք քիչ են դառնում։ Այն բանից հետո, երբ OTPK-ն օգտագործվել է սեսիա հաստատելու համար, այն անվերադարձ ջնջվում է սերվերից։
2.3 Չառաքված հաղորդագրությունների հերթ
Երբ Դուք հաղորդագրություն եք ուղարկում, այն գաղտնագրվում է Ձեր սարքում՝ փոխանցումից առաջ։ Սերվերը գաղտնագրված հաղորդագրությունը պահում է ստացողի փոստարկղում։ Այն չի ջնջում հաղորդագրությունը միայն այն պատճառով, որ սարքը հայտնել է ստանալու մասին. փոստարկղերը մաքրվում են միայն պահպանման ժամկետով՝ յուրաքանչյուրն ունի ծավալի սահման, և մոտավորապես 7 օրից հին ամեն ինչ ջնջվում է։ Ուստի արդեն առաքված հաղորդագրությունը կարող է մնալ մեր սերվերում՝ գաղտնագրված և մեզ համար անընթեռնելի, մինչև մոտավորապես 7 օր։
Ինչ է պահվում փոստարկղում (մինչև ժամկետի լրանալը)՝
- Հաղորդագրության գաղտնագրված մարմին (անթափանց երկուական blob. մենք չենք կարող այն կարդալ)
- Ուղարկողի User ID-ն բաց է թողնվում ուղարկողի պաշտպանության ուղու վրա (համապատասխան տրաֆիկի համար միշտ միացված է. տե՛ս ստորև «թաքնվածություն»). դրա փոխարեն գնում է կնքված վկայագիր, որը կարող է բացահայտել միայն ստացողը
- Ստացողի User ID
- Հաղորդագրության ID (UUID)
- Ժամանակի դրոշմ
- Հաղորդագրության հերթական համար (անհրաժեշտ է Double Ratchet ալգորիթմին)
- Էֆեմերային բաց բանալի (Signal Protocol-ի ratchet-քայլի մաս. գաղտնիք չէ)
Եթե Ձեր սարքը օֆլայն է, հաղորդագրությունները սպասում են փոստարկղում մինչև հաջորդ միացումը։ Մոտավորապես 7 օրվա ընթացքում չվերցված հաղորդագրությունը ջնջվում է չընթերցված։
Թաքնվածություն՝ ուղարկողի պաշտպանություն (sealed sender). միշտ միացված է օգտատիրոջ համապատասխան տրաֆիկի համար (հաղորդագրություններ, ստացականներ, զանգերի ազդանշանում և այլն. մի քանի սպասարկման ուղիներ ըստ նախագծի բացառված են)։ Ձեր սարքը ծրարից հանում է ուղարկողի User ID-ն և ուղարկողի ստորագրված վկայագիրը կնքում ստացողի նույնականացման բանալու վրա. թե ով է գրել, կարող է իմանալ միայն ստացողը, սերվերը՝ ոչ։ Կնքված ուղարկումների հետ կարող են գնալ Privacy Pass անանուն թոքեններ՝ սպամից պաշտպանվելու համար. թոքենների սերվերային ստուգումը դեռ ներդրվում է։ Ուղարկողի պաշտպանությունը ցանցային մակարդակից չի թաքցնում ո՛չ ուղարկման ժամանակը, ո՛չ չափը, ո՛չ Ձեր IP-հասցեն։
2.4 Կապերը կոնտակտների հետ
Երբ դուք ավելացնում եք կոնտակտ (QR կոդով կամ հրավերի հղումով), սերվերը պահում է այդ կապի գրառումը՝ հաղորդագրությունների երթուղավորումը և հոսքին բաժանորդագրումը որոշելու համար։ Դա թույլ է տալիս Konstruct-ին տեղեկացնել ձեզ, որ ծանոթ կոնտակտը մուտք է գործել ցանց, և բաժանորդագրել ձեզ նրա հաղորդագրությունների հոսքին։ Գրառումը քողարկված է. երկու կողմերը պահվում են որպես հաշվի նույնացուցիչի բանալիավոր հեշ (HMAC-SHA256), այլ ոչ թե բուն նույնացուցիչներ, ուստի տվյալների բազայի արտահոսքը չի տալիս ընթեռնելի սոցիալական գրաֆ։ Արժե ճշգրիտ ասել, թե դա ինչ արժե. բանալին պատկանում է սերվերին, ուստի պաշտպանությունն այստեղ արտահոսքից է, այլ ոչ թե մեզանից։
2.5 Push ծանուցումների թոքեններ
iOS-ում՝ հավելվածի ֆոնային ռեժիմում հաղորդագրությունների մասին ծանուցումներն իրական ժամանակում առաքելու համար (Android-ում push ծառայություններ չկան. հավելվածը պահում է սեփական կապը).
- Apple APNs սարքի թոքեն. պահվում է սերվերում և օգտագործվում է բացառապես «նոր հաղորդագրություն» արթնացնող ազդանշան ուղարկելու համար։
- Apple PushKit VoIP թոքեն. պահվում է առանձին և օգտագործվում է բացառապես ձայնային զանգի մուտքային հրավերի դեպքում հավելվածը արթնացնելու համար։ APNs թոքենի նման, այն չի կրում ո՛չ հաղորդագրության, ո՛չ զանգի բովանդակություն։
- Հաղորդագրությունների բովանդակությունը երբեք չի ներառվում push ծանուցումների մեջ։ Ծանուցումը պարունակում է միայն ընդհանուր ազդանշան, որով Ձեր սարքը միանում է և վերցնում գաղտնագրված հաղորդագրությունը, իսկ զանգի դեպքում՝ ցուցադրում է մուտքային զանգը։
2.6 Սեսիայի նույնականացում
- Սեսիայի թոքեններ. մուտքի թոքենը (գործում է 24 ժամ) և թարմացման թոքենը (90 օր) նույնականացնում են Ձեր կապը. երկուսն էլ չեղարկվում են հաշվից դուրս գալիս կամ այն ջնջելիս։
2.7 Ձայնային և տեսազանգեր
Ձայնային և տեսազանգերը պաշտպանված են ծայրից ծայր գաղտնագրմամբ։ Զանգի հաստատումը՝ WebRTC սեսիայի նկարագրությունը (SDP) և ICE կապակցվածության թեկնածուները, փոխանցվում է նույն ծայրից ծայր գաղտնագրված ուղով, ինչ Ձեր նամակագրությունը, ուստի մեր սերվերները չեն կարող այն կարդալ։ Զանգի ձայնն ու պատկերը օգտագործում են WebRTC-ի DTLS-SRTP-ն. քանի որ մեդիայի գաղտնագրման բանալիները փոխանակվում և նույնականացվում են այդ ծայրից ծայր գաղտնագրված ազդանշանման ներսում, մեդիան գաղտնագրված է ծայրից ծայր երկու սարքերի միջև. ո՛չ մեր սերվերները, ո՛չ մեր օգտագործած ռելեները չեն կարող այն վերծանել։ Մեր սերվերը գիտի՝ զանգը սկսվում է որպես ձայնային, թե որպես տեսազանգ, որպեսզի ստացողի հեռախոսը ցուցադրի ճիշտ տեսակի զանգ. տեսախցիկի միացումն ու անջատումը զանգի ընթացքում նրան չի փոխանցվում։ Ռելեն կարող է տարբերել տեսանյութը ձայնից իր փոխանցած գաղտնագրված տրաֆիկի ծավալով։
Զանգը կապելու համար սարքերը փոխանակում են ցանցային հասցեների թեկնածուներ (WebRTC-ի ստանդարտ ICE)՝ ուղիղ ուղի փնտրելով։ Երբ ուղիղ կապը հնարավոր չէ, գաղտնագրված մեդիան ռելեավորվում է TURN սերվերի միջոցով. ռելեն փոխանցում է միայն գաղտնագրված մեդիա, որը չի կարող կարդալ, բայց տեսնում է մասնակիցների ցանցային հասցեները։ Կապի այդ մետատվյալները անհրաժեշտ են զանգի երթուղավորման համար և չեն կապվում հաղորդագրությունների բովանդակության հետ։ iOS-ում մուտքային զանգերը արթնացնում են հավելվածը 2.5 բաժնի PushKit VoIP թոքենի միջոցով. բուն push-ը զանգի բովանդակություն չի կրում։ Android-ում զանգը գալիս է հավելվածի սեփական կապով՝ առանց push-ի։ TURN սերվերն աշխատում է Նիդեռլանդներում։
2.8 Մեդիա կցորդներ
Երբ դուք ուղարկում եք լուսանկար, տեսանյութ, ֆայլ կամ ձայնային հաղորդագրություն, կցորդը սեղմվում և գաղտնագրվում է Ձեր սարքում (AES-256-GCM՝ յուրաքանչյուր ֆայլի համար թարմ բանալիով) մինչև վերբեռնումը։ Վերծանման բանալին ստացողին է հասնում միայն ծայրից ծայր գաղտնագրված հաղորդագրության ներսում. այն երբեք չի փոխանցվում մեդիա սերվերին և նրա մոտ չի պահվում։ Սերվերը պահում է միայն անթափանց գաղտնագրված բլոբը՝ պատահական media ID-ով, և չի կարող կարդալ դրա բովանդակությունը։
Գաղտնագրված մեդիա օբյեկտները ավտոմատ ջնջվում են վերբեռնումից մոտ 7 օր անց (անկախ այն բանից՝ դրանք ներբեռնվել են, թե ոչ). ստացողի սարքն այդ պատուհանում վերցնում և վերծանում է դրանք։ Մենք մեդիան բաց տեսքով չենք պահում. յուրաքանչյուր օբյեկտի մասին սերվերը գիտի միայն բուն գաղտնագրված բլոբը, նրա նույնացուցիչը, լրացումից հետո չափի դասը, գաղտնագրի հեշը, ինչպես նաև վերբեռնման և ջնջման ժամանակը։
2.9 Ինչ ՉԵՆՔ հավաքում
Հետևյալը ակնհայտորեն չի հավաքվում և չի պահվում.
- Հեռախոսահամար
- Էլեկտրոնային փոստի հասցե
- Գաղտնաբառ
- Իրական անուն
- Հաղորդագրությունների բովանդակություն (ծայրից ծայր գաղտնագրում. մենք դրան հասանելիություն չունենք)
- Հաղորդագրությունների պատմություն (կա միայն 2.3 բաժնում նկարագրված գաղտնագրված փոստարկղը, որը մենք չենք կարող կարդալ)
- Տվյալներ գտնվելու վայրի մասին
- Տպելու ցուցիչներ և ընթերցման նշումներ՝ առաքման հաստատումից բացի
- Երրորդ կողմի վերլուծություն և հետևող SDK-ներ
2.10 IP-հասցեներ և կապի մետատվյալներ
Ցանկացած առցանց ծառայության միանալը ցանցային մակարդակում բացում է Ձեր IP-հասցեն նրա սերվերների առաջ. սա անխուսափելի է, և Konstruct-ը բացառություն չէ։ Սակայն մենք Ձեր հում IP-հասցեն չենք գրանցում մեր տվյալների բազաներում։ Սարքերի գրանցման սահմանափակումների և proof-of-work առաջադրանքների համար օգտագործում ենք միայն հասցեի աղով միակողմանի հեշը։ Հաղորդագրությունների ուղարկման և բանալիների հարցումների հաճախականությունը սահմանափակելու համար սերվերը կարճ ժամանակ պահում է հենց հասցեն (IPv6-ի դեպքում՝ նրա /64 ցանցը) օպերատիվ հիշողության հաշվիչում, որը լրանում է մոտավորապես մեկ րոպեում։ «IP — հաշիվ» համապատասխանություն մենք չենք պահում։
Մենք չենք օգտագործում Ձեր հասցեն և նրա հեշ-պիտակը՝ վարքագծային պրոֆիլներ կառուցելու, դրանք Ձեր հաղորդագրությունների բովանդակության հետ կապելու կամ գովազդի համար փոխանցելու նպատակով։ Սակայն աղով հեշը նվազեցնում է բացահայտումը, այլ ոչ թե կատարյալ անանունացնում. IPv4 հասցեների տարածությունը փոքր է, և գաղտնի աղ ունեցող կողմը դեռ կարող է թեկնածու հասցեներ ստուգել։ Այն հանում է հում հասցեն այն ամենից, ինչ մենք պահում ենք. սա երաշխիք չէ, որ կապի ցանցային ծագումը մեր ենթակառուցվածքը երբեք չի կարող որոշել։
Եթե ցանկանում եք Ձեր ցանցային հասցեն ընդհանրապես հեռացնել ուղուց, կարգավորումներում միացրեք ցենզուրայի պաշտպանությունը կամ օգտագործեք VPN կամ Tor, թեև այն կետը, որը վերջնավորում է Ձեր կապը, միևնույն է տեսնում է դրա երևացող աղբյուր-հասցեն։
3. Պաշտպանություն տրաֆիկի վերլուծությունից
Konstruct-ը կիրառում է լրացում և, iOS-ում, ուղարկման ժամանակի պատահական ջիտեր, որպեսզի ցանցային դիտորդի՝ և մեր սերվերի համար ավելի դժվար լինի չափից կամ ճշգրիտ ժամանակից որոշել, թե ինչ եք ուղարկում։ Հաղորդագրությունները լրացվում են մինչև ֆիքսված չափի բաժիններ։ Կցորդները (լուսանկարներ, տեսանյութեր, ձայնային հաղորդագրություններ, ֆայլեր, պրոֆիլի նկարներ) լրացվում են մինչև չափի դասեր. սերվերը պահում է չափի միջակայքը, այլ ոչ թե ֆայլի ճշգրիտ չափը. ֆայլը մեծանում է առավելագույնը 12 %-ով, սովորաբար մոտ 3 %-ով (ամենափոքր ֆայլերը լրացվում են մինչև 4 ԿԲ)՝ և չի ստանում ֆայլի տեսակը։ Այս միջոցները միացված են լռելյայն և կարգավորում չեն պահանջում։
Մենք միտումնավոր չենք ուղարկում պլանավորված կեղծ ծածկող տրաֆիկ։ Մշտական ծածկույթը պահանջում է միշտ բաց կապ և ժամանակացույցով ուղարկումներ, ինչը սպառում է մարտկոցն ու տրաֆիկը. շարժական հաճախորդը դա չի դիմանա, և դա պարտադրելը կնշանակեր իրական հարմարությունը փոխանակել մետատվյալների թույլ ամրապնդման հետ։ Լրացումն ու ջիտերը (վերևում) մեր շարժական պատասխանն են. մշտական ծածկույթը հնարավոր է միայն միշտ միացված աշխատասեղանի հաճախորդի վրա և մնում է բացառապես աշխատասեղանի տարբերակ, այլ ոչ թե շարժականի խոստում։ Մենք նախընտրում ենք ծածկող տրաֆիկ չառաքել ընդհանրապես, քան հայտարարել մի բան, որը չի աշխատում։
Առանձին՝ ցենզուրայի պաշտպանությունը ցանցային մակարդակի քողարկման շերտ է, որն օգնում է Ձեր կապին միախառնվել սովորական HTTPS տրաֆիկի հետ, երբ ուղիղ TLS-ը արգելափակվում է։ Սա գրաքննությունը շրջանցելու մեխանիզմ է, այլ ոչ թե մետատվյալների թաքցման. ինքնին այն չի խանգարում դիտորդին, ով արդեն տեսնում է Ձեր կապը, եզրակացնել հաղորդագրությունների ժամանակն ու չափը։
4. Պաշտպանություն սպամից՝ Proof of Work
Սպամը կանխելու համար՝ առանց հեռախոսահամարի կամ էլ. փոստի, Konstruct-ը պահանջում է Ձեր սարքից կատարել փոքր Proof of Work հաշվարկ գրանցման ժամանակ, ինչպես նաև ուղարկելիս, եթե գերազանցվել է հաճախականության սահմանաչափը։ Սա հաճախորդի կողմում կատարվող հաշվարկ է. բարեխիղճ օգտագործման համար դրա գինը աննշան է, իսկ զանգվածային սպամը դառնում է հաշվողական առումով թանկ։ Անձնական տվյալներ դրանում չեն օգտագործվում։
5. Ինչպես ենք մենք օգտագործում Ձեր տվյալները
| Տվյալներ | Նպատակ |
|---|---|
| User ID | Ձեր սարքի նույնականացում և հաղորդագրությունների երթուղավորում |
| Բաց բանալիների փաթեթ | Signal Protocol-ի ծայրից ծայր գաղտնագրման բանալիների փոխանակման ապահովում |
| Չառաքված հաղորդագրությունների հերթ | Գաղտնագրված հաղորդագրությունների պահպանում մինչև առաքումը |
| Կապերը կոնտակտների հետ | Հաղորդագրությունների երթուղավորում և հոսքերին բաժանորդագրումներ |
| APNs թոքեն | Ֆոնային push ծանուցումների առաքում |
| PushKit VoIP թոքեն | Հավելվածի արթնացում զանգի մուտքային հրավերների դեպքում |
| Սեսիայի թոքեն | gRPC կապի նույնականացում |
Մենք չենք օգտագործում հավաքված տվյալները գովազդի, պրոֆիլավորման, վերլուծության կամ հաղորդագրությունների փոխանակման ծառայության աշխատանքից դուրս որևէ նպատակով։
6. Տվյալների պահպանում և անվտանգություն
6.1 Ենթակառուցվածք
- Հոսթինգ. VPS DigitalOcean-ում (Նիդեռլանդներ)
- Մշտական պահոց. PostgreSQL տվյալների բազա (հաշվի տվյալներ, բանալիների փաթեթներ, կապեր կոնտակտների հետ)
- Ժամանակավոր պահոց. Redis (սեսիաների թոքեններ, չառաքված հաղորդագրությունների հերթեր)
- Իրավազորություն. Նիդեռլանդներ / Եվրոպական միություն՝ կիրառվում է GDPR-ը
6.2 Գաղտնագրում
- Փոխանցման ժամանակ. հաճախորդի և սերվերի միջև հաղորդագրությունների փոխանակումը կատարվում է երկկողմանի gRPC հոսքով QUIC-ի վրա iOS-ում, երբ այն հասանելի է, ավտոմատ անցումով gRPC-ի վրա HTTP/2 + TLS-ով (Android-ն օգտագործում է HTTP/2 + TLS. եզրը Caddy-ն է 443 նավահանգստում, TLS 1.2 կամ 1.3)։ Սպասարկման RPC-ները և նույնականացումը օգտագործում են նույն գաղտնագրված տրանսպորտային փաթեթը
- Պահման ժամանակ. հաղորդագրությունների և մեդիայի բովանդակությունը պահվում է միայն գաղտնագրված տեսքով՝ սարքերում պահվող բանալիներով. տվյալների բազայի պահուստային պատճենները գաղտնագրվում են պահուստների պահոց ուղարկելուց առաջ (բաժին 7.1)
- Ծայրից ծայր. հիմնված է Signal Protocol-ի վրա՝ X3DH / PQXDH բանալիների համաձայնեցում (X25519՝ հետքվանտային ML-KEM-1024-ի հետ զուգակցմամբ) և Double Ratchet՝ ChaCha20-Poly1305 AEAD-ով։ Սարքի նախաբանալիները ստորագրվում են երկու անգամ՝ Ed25519-ով և հիբրիդային Ed25519 + ML-DSA-65 (հետքվանտային) ստորագրությամբ, և առանց երկու ստորագրությունների սեսիա չի հաստատվում. հիբրիդային բանալին ինքը առայժմ հավաստվում է Ed25519 ստորագրությամբ։ Մեդիա կցորդները գաղտնագրվում են AES-256-GCM-ով՝ յուրաքանչյուր ֆայլի համար առանձին բանալիով։
6.3 Ինչ է պահվում Ձեր սարքում
Ձեր սարքը պահում է հաղորդագրությունների ամբողջական պատմությունը տեղայնորեն՝ օպերացիոն համակարգով պաշտպանված պահոցում (iOS-ի տվյալների պաշտպանություն. Android-ում՝ հավելվածի մեկուսացված պահոց, բանալիները՝ Android Keystore-ում)։ Այստեղ ներառված են.
- Նամակագրության ամբողջական պատմություն
- Մեդիա կցորդներ
- Կոնտակտների ցանկ և ցուցադրվող անուններ
- Գաղտնագրային սեսիաների վիճակ (Keychain / Keystore)
- Հաղորդագրությունների սևագրեր
Այս տվյալները Ձեր վերահսկողության տակ են։ Հավելվածը ջնջելը անվերադարձ ջնջում է բոլոր տեղային տվյալները։
6.4 Պահպանման ժամկետներ
| Տվյալների տեսակ | Պահպանում |
|---|---|
| Չառաքված հաղորդագրություններ | Ջնջվում են պահպանման ժամկետով՝ փոստարկղի ծավալի սահմանաչափ և առավելագույնը ~7 օր, այլ ոչ թե առաքման պահին |
| Մեդիա կցորդներ (գաղտնագրված) | Ավտոմատ ջնջում վերբեռնումից մոտ 7 օր անց (օբյեկտի տարիքով, անկախ ներբեռնումից) |
| Միանգամյա նախաբանալիներ | Ջնջվում են սերվերից օգտագործվելիս |
| Սեսիայի թոքեններ | Մուտքի թոքեն՝ 24 ժամ, թարմացման թոքեն՝ 90 օր. չեղարկվում են դուրս գալիս կամ հաշիվը ջնջելիս |
| APNs թոքեն | Պահվում է մինչև հաշվի ջնջումը կամ թոքենի թարմացումը |
| PushKit VoIP թոքեն | Պահվում է մինչև հաշվի ջնջումը կամ թոքենի թարմացումը |
| Օգտանվան հեշ և User ID | Պահվում են մինչև հաշվի ջնջումը |
| Signed PreKey | Փոխարինվում է ռոտացիայի ժամանակ, հին բանալին ջնջվում է |
| Կապերը կոնտակտների հետ | Առայժմ չեն ջնջվում ո՛չ կոնտակտը ջնջելիս, ո՛չ հաշիվը ջնջելիս (քողարկված գրառումներ, տե՛ս 8.3) |
7. Տվյալների փոխանցում և երրորդ կողմեր
Մենք չենք վաճառում և վարձակալությամբ չենք տրամադրում Ձեր տվյալները և չենք փոխանցում դրանք գովազդի, պրոֆիլավորման կամ ծառայության աշխատանքի հետ չկապված որևէ նպատակի համար։ Բուն աշխատանքի համար անհրաժեշտ են ստորև թվարկված մատակարարները. յուրաքանչյուրը ստանում է իր խնդրի համար անհրաժեշտ նվազագույնը, և ոչ մեկը չի ստանում հաղորդագրությունների բովանդակությունը։
7.1 Ենթակառուցվածքի մատակարարներ
- DigitalOcean (Նիդեռլանդներ). տրամադրում է սերվերը։ Հասանելիություն չունի հավելվածի տվյալներին և գաղտնագրման բանալիներին։
- Hetzner Storage Box (Գերմանիա). պահում է տվյալների բազայի և հերթերի պահուստային պատճենները՝ 7 ամենօրյա և 4 շաբաթական։ Պատճենները գաղտնագրվում են ուղարկելուց առաջ, Hetzner-ի մոտ բանալի չկա։ Դրանցում կան փոստարկղերի գաղտնագրված հաղորդագրություններ, քողարկված կապեր կոնտակտների միջև և օգտանունների հեշեր. մեդիան պահուստավորվում չէ։
- TURN սերվեր (Նիդեռլանդներ) և արգելափակումները շրջանցող սերվերներ. փոխանցում են միայն գաղտնագրված տրաֆիկ, որը չեն կարող կարդալ, և տեսնում են կապերի ցանցային հասցեները։ Թե որտեղ են աշխատում շրջանցման սերվերները, մենք չենք հրապարակում։
- Apple APNs. ստանում է միայն Ձեր սարքի push թոքենը և ծանուցման ընդհանուր ազդանշանը (առանց հաղորդագրությունների բովանդակության)։ Ենթակա է Apple-ի գաղտնիության քաղաքականությանը։
7.2 Օրենսդրության պահանջների կատարում
Մենք կարող ենք պարտավորվել բացահայտել տվյալներ իրավասու մարմնի վավեր օրինական կարգադրությամբ։ Սակայն.
- Մենք չենք կարող վերծանել Ձեր հաղորդագրությունները (ծայրից ծայր գաղտնագրում)
- Մենք պահում ենք նվազագույն մետատվյալներ՝ ո՛չ հաղորդագրությունների բովանդակություն, ո՛չ հում IP հասցեներ տվյալների բազաներում (սահմանափակումների կարճատև հաշվիչը նկարագրված է 2.10 բաժնում), ո՛չ վարքագծային պրոֆիլավորում
- Մենք կտեղեկացնենք տուժած օգտատերերին, եթե դա օրենքով արգելված չէ
8. Ձեր իրավունքները
8.1 Անանուն օգտագործում
Դուք կարող եք օգտվել Konstruct-ից՝ առանց Ձեզ նույնականացնելու հնարավորություն տվող որևէ տեղեկություն հայտնելու։ Ձեր User ID-ն պատահական UUID է, որը տրամադրում է սերվերը. դրանում Ձեր մասին ոչինչ կոդավորված չէ։
8.2 Հասանելիություն Ձեր տվյալներին
Դուք կարող եք ցանկացած պահի պահանջել Ձեր հաշվի հետ կապված ցանկացած մետատվյալների պատճենը՝ գրելով մեզ ստորև նշված հասցեով։
8.3 Հաշվի ջնջում
Դուք կարող եք ջնջել հաշիվը հավելվածի կարգավորումներից։ Ջնջման դեպքում.
- Օգտանվան հեշը, Ձեր User ID-ն և բաց բանալիների փաթեթը ջնջվում են սերվերից։ Սարքի նույնացուցիչը և հեշ-պարտավորությունը մնում են բանալիների թափանցիկության մատյանում. այն միայն համալրվում է, և դրանից գրառում ջնջել հնարավոր չէ
- Կոնտակտների հետ կապերի քողարկված գրառումները առայժմ չեն ջնջվում
- Ձեր APNs և PushKit VoIP թոքենները ջնջվում են
- Ձեր փոստարկղի հաղորդագրությունները ջնջվում են սովորական պահպանման ժամկետով (մինչև ~7 օր), իսկ պահուստային պատճեններից՝ դրանց փոփոխվելով (մինչև ~4 շաբաթ)
- Ջնջումն ավարտվում է 24 ժամվա ընթացքում
Ստացողներին արդեն առաքված հաղորդագրությունները պահվում են միայն տեղայնորեն նրանց սարքերում և առաքումից հետո մեր վերահսկողությունից դուրս են։
8.4 Օգտանուն
Դուք կարող եք ավելացնել, փոխել կամ ջնջել օգտանունը ցանկացած պահի՝ հաշվի կարգավորումներում։
9. Նվազագույն տարիք
Konstruct-ը նախատեսված է 16 տարեկան և ավելի մեծ օգտատերերի համար, ինչը համապատասխանում է App Store-ի 16+ տարիքային վարկանիշին։ Այն հասցեագրված չէ և նախատեսված չէ 16 տարեկանից փոքր անձանց համար, և մենք գիտակցաբար տվյալներ չենք հավաքում այդպիսի անձանց մասին։ Քանի որ Konstruct-ը պահում է միայն վերևում նկարագրված նվազագույն երթուղային մետատվյալները և չի պահում հաղորդագրությունների բովանդակություն, ցանկացած հաշվի հետ կապված տվյալները սահմանափակ են հենց նախագծով։ Եթե Դուք կարծում եք, որ Konstruct-ից օգտվում է 16 տարեկանից փոքր որևէ մեկը, կապվեք մեզ հետ (բաժին 12), և մենք կձեռնարկենք միջոցներ։
10. Ով է պատասխանատու Ձեր տվյալների համար
Konstruct-ը անկախ նախագիծ է, ոչ թե ընկերություն։ GDPR-ի համաձայն տվյալների վերահսկիչը Մաքսիմ Ելիսեևն է՝ նախագծի սպասարկողը. հասցեն նշված է 12-րդ բաժնում։ Konstruct-ը բավարար մասշտաբի չէ Data Protection Officer պահանջելու համար, և այդպիսին նշանակված չէ. 8-րդ բաժնի համաձայն հարցումները գալիս են նույն հասցեին, և դրանց պատասխանում է նույն անձը։ Եթե դա փոխվի՝ կստեղծվի իրավաբանական անձ կամ պատասխանատվությունը կանցնի մեկ ուրիշի, ապա կփոխվի նաև այս բաժինը, իսկ փոփոխության մասին կհայտնենք 11-րդ բաժնում նկարագրված եղանակով։
11. Այս քաղաքականության փոփոխությունները
Էական փոփոխությունների մասին օգտատերերին կծանուցենք՝
- Ծանուցում հավելվածում
- Այս փաստաթղթում թարմացված «Վերջին թարմացում» ամսաթիվ
Konstruct-ի շարունակական օգտագործումը փոփոխություններից հետո նշանակում է թարմացված քաղաքականության ընդունում։
12. Կոնտակտներ
Գաղտնիության հարցերով, տվյալներ մուտք գործելու հարցումների և ցանկացած կասկածի դեպքում՝
- Email: maxim.elis@icloud.com
- Կայք՝ konstruct.cc
Հակիրճ
| Չի պահանջվում ո՛չ հեռախոսահամար, ո՛չ էլ. փոստ | Ծայրից ծայր գաղտնագրում (Signal Protocol) |
| Ամբողջովին անանուն օգտագործումը աջակցվում է | Հաղորդագրությունները պահվում են միայն գաղտնագրված և ջնջվում են ժամկետով (մինչև ~7 օր) |
| Ո՛չ հետևում, ո՛չ վերլուծական SDK-ներ | Տրաֆիկի քողարկումը ներկառուցված է |
| Գաղտնի բանալիները երբեք չեն լքում սարքը | Միայն նվազագույն մետատվյալներ |
| Տվյալների վաճառք երրորդ կողմերին չկա | GDPR իրավազորություն (ԵՄ. սերվերը՝ Նիդեռլանդներում, պահուստային պատճենները՝ Գերմանիայում) |