PRISMA revidoval tento gist 14 hours ago. Přejít na revizi
1 file changed, 0 insertions, 0 deletions
privacy-policy přejmenováno na privacy-policy.html
Soubor přejmenován beze změn
PRISMA revidoval tento gist 14 hours ago. Přejít na revizi
1 file changed, 0 insertions, 0 deletions
privacy-policy.html přejmenováno na privacy-policy
Soubor přejmenován beze změn
PRISMA revidoval tento gist 14 hours ago. Přejít na revizi
1 file changed, 0 insertions, 0 deletions
privacy-policy přejmenováno na privacy-policy.html
Soubor přejmenován beze změn
PRISMA revidoval tento gist 14 hours ago. Přejít na revizi
1 file changed, 399 insertions
privacy-policy(vytvořil soubor)
| @@ -0,0 +1,399 @@ | |||
| 1 | + | <!DOCTYPE html> | |
| 2 | + | <html lang="ru"> | |
| 3 | + | <head> | |
| 4 | + | <meta charset="UTF-8"> | |
| 5 | + | <meta name="viewport" content="width=device-width, initial-scale=1.0"> | |
| 6 | + | <title>Политика конфиденциальности — VKPulse</title> | |
| 7 | + | <style> | |
| 8 | + | :root { | |
| 9 | + | --bg: #F8F8FA; | |
| 10 | + | --card: #FFFFFF; | |
| 11 | + | --text: #1A1A2E; | |
| 12 | + | --text-secondary: #4A4A5E; | |
| 13 | + | --accent: #2688EB; | |
| 14 | + | --border: #E8E8EE; | |
| 15 | + | --shadow: 0 2px 16px rgba(0,0,0,0.06); | |
| 16 | + | } | |
| 17 | + | ||
| 18 | + | * { margin: 0; padding: 0; box-sizing: border-box; } | |
| 19 | + | ||
| 20 | + | body { | |
| 21 | + | font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif; | |
| 22 | + | background: var(--bg); | |
| 23 | + | color: var(--text); | |
| 24 | + | line-height: 1.6; | |
| 25 | + | min-height: 100vh; | |
| 26 | + | } | |
| 27 | + | ||
| 28 | + | .container { | |
| 29 | + | max-width: 720px; | |
| 30 | + | margin: 0 auto; | |
| 31 | + | padding: 40px 20px; | |
| 32 | + | } | |
| 33 | + | ||
| 34 | + | /* Header */ | |
| 35 | + | .header { | |
| 36 | + | display: flex; | |
| 37 | + | justify-content: space-between; | |
| 38 | + | align-items: center; | |
| 39 | + | margin-bottom: 48px; | |
| 40 | + | flex-wrap: wrap; | |
| 41 | + | gap: 16px; | |
| 42 | + | } | |
| 43 | + | ||
| 44 | + | .header-left h1 { | |
| 45 | + | font-size: 28px; | |
| 46 | + | font-weight: 700; | |
| 47 | + | color: var(--text); | |
| 48 | + | letter-spacing: -0.5px; | |
| 49 | + | } | |
| 50 | + | ||
| 51 | + | .header-left .subtitle { | |
| 52 | + | font-size: 14px; | |
| 53 | + | color: var(--text-secondary); | |
| 54 | + | margin-top: 4px; | |
| 55 | + | } | |
| 56 | + | ||
| 57 | + | .lang-toggle { | |
| 58 | + | background: var(--card); | |
| 59 | + | color: var(--accent); | |
| 60 | + | border: 2px solid var(--accent); | |
| 61 | + | padding: 10px 20px; | |
| 62 | + | border-radius: 12px; | |
| 63 | + | font-size: 14px; | |
| 64 | + | font-weight: 600; | |
| 65 | + | cursor: pointer; | |
| 66 | + | transition: all 0.2s ease; | |
| 67 | + | } | |
| 68 | + | ||
| 69 | + | .lang-toggle:hover { | |
| 70 | + | background: var(--accent); | |
| 71 | + | color: #fff; | |
| 72 | + | } | |
| 73 | + | ||
| 74 | + | /* Intro */ | |
| 75 | + | .intro { | |
| 76 | + | background: var(--card); | |
| 77 | + | padding: 24px; | |
| 78 | + | border-radius: 16px; | |
| 79 | + | box-shadow: var(--shadow); | |
| 80 | + | margin-bottom: 32px; | |
| 81 | + | font-size: 16px; | |
| 82 | + | color: var(--text-secondary); | |
| 83 | + | text-align: center; | |
| 84 | + | line-height: 1.7; | |
| 85 | + | } | |
| 86 | + | ||
| 87 | + | /* Sections */ | |
| 88 | + | .section { | |
| 89 | + | background: var(--card); | |
| 90 | + | padding: 24px; | |
| 91 | + | border-radius: 16px; | |
| 92 | + | box-shadow: var(--shadow); | |
| 93 | + | margin-bottom: 16px; | |
| 94 | + | } | |
| 95 | + | ||
| 96 | + | .section-title { | |
| 97 | + | font-size: 18px; | |
| 98 | + | font-weight: 700; | |
| 99 | + | color: var(--text); | |
| 100 | + | margin-bottom: 16px; | |
| 101 | + | } | |
| 102 | + | ||
| 103 | + | .paragraph { | |
| 104 | + | font-size: 15px; | |
| 105 | + | color: var(--text-secondary); | |
| 106 | + | margin-bottom: 12px; | |
| 107 | + | line-height: 1.7; | |
| 108 | + | } | |
| 109 | + | ||
| 110 | + | .bullet-list { | |
| 111 | + | list-style: none; | |
| 112 | + | padding: 0; | |
| 113 | + | margin: 12px 0; | |
| 114 | + | } | |
| 115 | + | ||
| 116 | + | .bullet-list li { | |
| 117 | + | font-size: 15px; | |
| 118 | + | color: var(--text-secondary); | |
| 119 | + | padding: 8px 0 8px 20px; | |
| 120 | + | position: relative; | |
| 121 | + | line-height: 1.6; | |
| 122 | + | } | |
| 123 | + | ||
| 124 | + | .bullet-list li::before { | |
| 125 | + | content: ''; | |
| 126 | + | width: 6px; | |
| 127 | + | height: 6px; | |
| 128 | + | background: var(--accent); | |
| 129 | + | border-radius: 50%; | |
| 130 | + | position: absolute; | |
| 131 | + | left: 0; | |
| 132 | + | top: 14px; | |
| 133 | + | } | |
| 134 | + | ||
| 135 | + | /* Footer */ | |
| 136 | + | .footer { | |
| 137 | + | margin-top: 32px; | |
| 138 | + | padding: 20px 24px; | |
| 139 | + | background: var(--card); | |
| 140 | + | border-radius: 16px; | |
| 141 | + | box-shadow: var(--shadow); | |
| 142 | + | display: flex; | |
| 143 | + | align-items: center; | |
| 144 | + | gap: 12px; | |
| 145 | + | font-size: 14px; | |
| 146 | + | color: var(--text-secondary); | |
| 147 | + | } | |
| 148 | + | ||
| 149 | + | .footer-icon { | |
| 150 | + | width: 20px; | |
| 151 | + | height: 20px; | |
| 152 | + | color: var(--text-secondary); | |
| 153 | + | flex-shrink: 0; | |
| 154 | + | } | |
| 155 | + | ||
| 156 | + | /* Language visibility */ | |
| 157 | + | .lang-en { display: none; } | |
| 158 | + | body.en .lang-ru { display: none; } | |
| 159 | + | body.en .lang-en { display: block; } | |
| 160 | + | ||
| 161 | + | @media (max-width: 600px) { | |
| 162 | + | .container { padding: 24px 16px; } | |
| 163 | + | .header-left h1 { font-size: 22px; } | |
| 164 | + | .section { padding: 20px; } | |
| 165 | + | } | |
| 166 | + | </style> | |
| 167 | + | </head> | |
| 168 | + | <body> | |
| 169 | + | <div class="container"> | |
| 170 | + | ||
| 171 | + | <!-- Header --> | |
| 172 | + | <div class="header"> | |
| 173 | + | <div class="header-left"> | |
| 174 | + | <h1> | |
| 175 | + | <span class="lang-ru">Политика конфиденциальности</span> | |
| 176 | + | <span class="lang-en">Privacy Policy</span> | |
| 177 | + | </h1> | |
| 178 | + | <div class="subtitle"> | |
| 179 | + | <span class="lang-ru">VKPulse v1.0</span> | |
| 180 | + | <span class="lang-en">VKPulse v1.0</span> | |
| 181 | + | </div> | |
| 182 | + | </div> | |
| 183 | + | <button class="lang-toggle" onclick="toggleLang()"> | |
| 184 | + | <span class="lang-ru">🇬🇧 English</span> | |
| 185 | + | <span class="lang-en">🇷🇺 Русский</span> | |
| 186 | + | </button> | |
| 187 | + | </div> | |
| 188 | + | ||
| 189 | + | <!-- Intro --> | |
| 190 | + | <div class="intro"> | |
| 191 | + | <span class="lang-ru"> | |
| 192 | + | Мы серьёзно относимся к защите ваших персональных данных. Эта политика конфиденциальности объясняет, какую информацию мы собираем и как её используем. | |
| 193 | + | </span> | |
| 194 | + | <span class="lang-en"> | |
| 195 | + | We take the protection of your personal data seriously. This privacy policy explains what information we collect and how we use it. | |
| 196 | + | </span> | |
| 197 | + | </div> | |
| 198 | + | ||
| 199 | + | <!-- Section 1 --> | |
| 200 | + | <div class="section"> | |
| 201 | + | <div class="section-title"> | |
| 202 | + | <span class="lang-ru">1. Сбор информации</span> | |
| 203 | + | <span class="lang-en">1. Information Collection</span> | |
| 204 | + | </div> | |
| 205 | + | <p class="paragraph"> | |
| 206 | + | <span class="lang-ru">1.1. Для работы Приложения необходим доступ к вашему аккаунту ВКонтакте через официальное API.</span> | |
| 207 | + | <span class="lang-en">1.1. The application requires access to your VKontakte account through the official API.</span> | |
| 208 | + | </p> | |
| 209 | + | <p class="paragraph"> | |
| 210 | + | <span class="lang-ru">1.2. Приложение запрашивает следующие разрешения:</span> | |
| 211 | + | <span class="lang-en">1.2. The application requests the following permissions:</span> | |
| 212 | + | </p> | |
| 213 | + | <ul class="bullet-list"> | |
| 214 | + | <li> | |
| 215 | + | <span class="lang-ru">Доступ к списку друзей</span> | |
| 216 | + | <span class="lang-en">Access to the friends list</span> | |
| 217 | + | </li> | |
| 218 | + | <li> | |
| 219 | + | <span class="lang-ru">Доступ к фотографиям</span> | |
| 220 | + | <span class="lang-en">Access to photos</span> | |
| 221 | + | </li> | |
| 222 | + | <li> | |
| 223 | + | <span class="lang-ru">Доступ к видеозаписям</span> | |
| 224 | + | <span class="lang-en">Access to video recordings</span> | |
| 225 | + | </li> | |
| 226 | + | <li> | |
| 227 | + | <span class="lang-ru">Доступ к основной информации профиля</span> | |
| 228 | + | <span class="lang-en">Access to basic profile information</span> | |
| 229 | + | </li> | |
| 230 | + | </ul> | |
| 231 | + | <p class="paragraph"> | |
| 232 | + | <span class="lang-ru">1.3. Вся информация хранится исключительно локально на вашем устройстве и не передаётся на сторонние серверы.</span> | |
| 233 | + | <span class="lang-en">1.3. All information is stored exclusively locally on your device and is not transmitted to third-party servers.</span> | |
| 234 | + | </p> | |
| 235 | + | </div> | |
| 236 | + | ||
| 237 | + | <!-- Section 2 --> | |
| 238 | + | <div class="section"> | |
| 239 | + | <div class="section-title"> | |
| 240 | + | <span class="lang-ru">2. Использование данных</span> | |
| 241 | + | <span class="lang-en">2. Data Usage</span> | |
| 242 | + | </div> | |
| 243 | + | <p class="paragraph"> | |
| 244 | + | <span class="lang-ru">2.1. Полученные данные используются исключительно для:</span> | |
| 245 | + | <span class="lang-en">2.1. The obtained data is used exclusively for:</span> | |
| 246 | + | </p> | |
| 247 | + | <ul class="bullet-list"> | |
| 248 | + | <li> | |
| 249 | + | <span class="lang-ru">Отслеживания изменений в профилях выбранных пользователей</span> | |
| 250 | + | <span class="lang-en">Tracking changes in the profiles of selected users</span> | |
| 251 | + | </li> | |
| 252 | + | <li> | |
| 253 | + | <span class="lang-ru">Отображения этих изменений в интерфейсе Приложения</span> | |
| 254 | + | <span class="lang-en">Displaying these changes in the application interface</span> | |
| 255 | + | </li> | |
| 256 | + | <li> | |
| 257 | + | <span class="lang-ru">Отправки локальных уведомлений о зафиксированных изменениях</span> | |
| 258 | + | <span class="lang-en">Sending local notifications about recorded changes</span> | |
| 259 | + | </li> | |
| 260 | + | </ul> | |
| 261 | + | <p class="paragraph"> | |
| 262 | + | <span class="lang-ru">2.2. Приложение не использует полученные данные для каких-либо иных целей, кроме прямо указанных в этой Политике.</span> | |
| 263 | + | <span class="lang-en">2.2. The application does not use the obtained data for any purposes other than those explicitly stated in this Policy.</span> | |
| 264 | + | </p> | |
| 265 | + | </div> | |
| 266 | + | ||
| 267 | + | <!-- Section 3 --> | |
| 268 | + | <div class="section"> | |
| 269 | + | <div class="section-title"> | |
| 270 | + | <span class="lang-ru">3. Хранение и безопасность</span> | |
| 271 | + | <span class="lang-en">3. Storage and Security</span> | |
| 272 | + | </div> | |
| 273 | + | <p class="paragraph"> | |
| 274 | + | <span class="lang-ru">3.1. Все данные хранятся локально на вашем устройстве.</span> | |
| 275 | + | <span class="lang-en">3.1. All data is stored locally on your device.</span> | |
| 276 | + | </p> | |
| 277 | + | <p class="paragraph"> | |
| 278 | + | <span class="lang-ru">3.2. Приложение не отправляет никакие данные на сторонние серверы или третьим лицам.</span> | |
| 279 | + | <span class="lang-en">3.2. The application does not send any data to third-party servers or third parties.</span> | |
| 280 | + | </p> | |
| 281 | + | <p class="paragraph"> | |
| 282 | + | <span class="lang-ru">3.3. При удалении Приложения все сохранённые данные также удаляются.</span> | |
| 283 | + | <span class="lang-en">3.3. When the application is deleted, all stored data is also deleted.</span> | |
| 284 | + | </p> | |
| 285 | + | <p class="paragraph"> | |
| 286 | + | <span class="lang-ru">3.4. Токен доступа к API ВКонтакте хранится в защищённом хранилище устройства.</span> | |
| 287 | + | <span class="lang-en">3.4. The VKontakte API access token is stored in the device's secure storage.</span> | |
| 288 | + | </p> | |
| 289 | + | </div> | |
| 290 | + | ||
| 291 | + | <!-- Section 4 --> | |
| 292 | + | <div class="section"> | |
| 293 | + | <div class="section-title"> | |
| 294 | + | <span class="lang-ru">4. Доступ к данным</span> | |
| 295 | + | <span class="lang-en">4. Access to Data</span> | |
| 296 | + | </div> | |
| 297 | + | <p class="paragraph"> | |
| 298 | + | <span class="lang-ru">4.1. Доступ к собранным данным имеет только владелец устройства.</span> | |
| 299 | + | <span class="lang-en">4.1. Only the device owner has access to the collected data.</span> | |
| 300 | + | </p> | |
| 301 | + | <p class="paragraph"> | |
| 302 | + | <span class="lang-ru">4.2. Разработчики Приложения не имеют доступа к вашим данным.</span> | |
| 303 | + | <span class="lang-en">4.2. The application developers do not have access to your data.</span> | |
| 304 | + | </p> | |
| 305 | + | <p class="paragraph"> | |
| 306 | + | <span class="lang-ru">4.3. Приложение не предоставляет доступ к данным третьим лицам.</span> | |
| 307 | + | <span class="lang-en">4.3. The application does not provide data access to third parties.</span> | |
| 308 | + | </p> | |
| 309 | + | </div> | |
| 310 | + | ||
| 311 | + | <!-- Section 5 --> | |
| 312 | + | <div class="section"> | |
| 313 | + | <div class="section-title"> | |
| 314 | + | <span class="lang-ru">5. Уведомления</span> | |
| 315 | + | <span class="lang-en">5. Notifications</span> | |
| 316 | + | </div> | |
| 317 | + | <p class="paragraph"> | |
| 318 | + | <span class="lang-ru">5.1. Приложение может отправлять локальные уведомления на ваше устройство о обнаруженных изменениях в отслеживаемых профилях.</span> | |
| 319 | + | <span class="lang-en">5.1. The application may send local notifications to your device about detected changes in the tracked profiles.</span> | |
| 320 | + | </p> | |
| 321 | + | <p class="paragraph"> | |
| 322 | + | <span class="lang-ru">5.2. Вы можете отключить уведомления в настройках Приложения или в настройках вашего устройства.</span> | |
| 323 | + | <span class="lang-en">5.2. You can disable notifications in the application settings or in your device settings.</span> | |
| 324 | + | </p> | |
| 325 | + | </div> | |
| 326 | + | ||
| 327 | + | <!-- Section 6 --> | |
| 328 | + | <div class="section"> | |
| 329 | + | <div class="section-title"> | |
| 330 | + | <span class="lang-ru">6. Ограничение ответственности</span> | |
| 331 | + | <span class="lang-en">6. Limitation of Liability</span> | |
| 332 | + | </div> | |
| 333 | + | <p class="paragraph"> | |
| 334 | + | <span class="lang-ru">6.1. Разработчик не несёт ответственности за возможные случаи утечки данных, вызванные:</span> | |
| 335 | + | <span class="lang-en">6.1. The developer is not responsible for possible data leaks caused by:</span> | |
| 336 | + | </p> | |
| 337 | + | <ul class="bullet-list"> | |
| 338 | + | <li> | |
| 339 | + | <span class="lang-ru">Взломом устройства пользователя</span> | |
| 340 | + | <span class="lang-en">Hacking of the user's device</span> | |
| 341 | + | </li> | |
| 342 | + | <li> | |
| 343 | + | <span class="lang-ru">Действиями вредоносного ПО</span> | |
| 344 | + | <span class="lang-en">Malware actions</span> | |
| 345 | + | </li> | |
| 346 | + | <li> | |
| 347 | + | <span class="lang-ru">Доступом третьих лиц к разблокированному устройству</span> | |
| 348 | + | <span class="lang-en">Third-party access to an unlocked device</span> | |
| 349 | + | </li> | |
| 350 | + | <li> | |
| 351 | + | <span class="lang-ru">Уязвимостями в API ВКонтакте</span> | |
| 352 | + | <span class="lang-en">Vulnerabilities in the VKontakte API</span> | |
| 353 | + | </li> | |
| 354 | + | </ul> | |
| 355 | + | </div> | |
| 356 | + | ||
| 357 | + | <!-- Section 7 --> | |
| 358 | + | <div class="section"> | |
| 359 | + | <div class="section-title"> | |
| 360 | + | <span class="lang-ru">7. Изменения в политике</span> | |
| 361 | + | <span class="lang-en">7. Changes to the Policy</span> | |
| 362 | + | </div> | |
| 363 | + | <p class="paragraph"> | |
| 364 | + | <span class="lang-ru">7.1. Данная политика конфиденциальности может быть изменена без предварительного уведомления.</span> | |
| 365 | + | <span class="lang-en">7.1. This privacy policy may be changed without prior notice.</span> | |
| 366 | + | </p> | |
| 367 | + | <p class="paragraph"> | |
| 368 | + | <span class="lang-ru">7.2. Продолжая использовать Приложение после изменения Политики, вы соглашаетесь с новыми условиями.</span> | |
| 369 | + | <span class="lang-en">7.2. By continuing to use the application after changes to the Policy, you agree to the new terms.</span> | |
| 370 | + | </p> | |
| 371 | + | </div> | |
| 372 | + | ||
| 373 | + | <!-- Footer --> | |
| 374 | + | <div class="footer"> | |
| 375 | + | <svg class="footer-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"> | |
| 376 | + | <circle cx="12" cy="12" r="10"/> | |
| 377 | + | <line x1="12" y1="16" x2="12" y2="12"/> | |
| 378 | + | <line x1="12" y1="8" x2="12.01" y2="8"/> | |
| 379 | + | </svg> | |
| 380 | + | <span> | |
| 381 | + | <span class="lang-ru">Последнее обновление: 12 апреля 2026 г.</span> | |
| 382 | + | <span class="lang-en">Last updated: April 12, 2026</span> | |
| 383 | + | </span> | |
| 384 | + | </div> | |
| 385 | + | ||
| 386 | + | </div> | |
| 387 | + | ||
| 388 | + | <script> | |
| 389 | + | function toggleLang() { | |
| 390 | + | const body = document.body; | |
| 391 | + | if (body.classList.contains('en')) { | |
| 392 | + | body.classList.remove('en'); | |
| 393 | + | } else { | |
| 394 | + | body.classList.add('en'); | |
| 395 | + | } | |
| 396 | + | } | |
| 397 | + | </script> | |
| 398 | + | </body> | |
| 399 | + | </html> | |