Концепции, ценность и типичные сценарии клонирования — меньше кода.
Концепции, ценность и типичные сценарии клонирования — меньше кода.
Preparing Ring content
Preparing Ring content
Preparing Ring content
Используйте вкладки Founder / Developer в боковой панели, чтобы отфильтровать эту страницу. Участники управляют собственными настройками на /privacy; эта статья документирует сервисы за этими поверхностями.
Ring даёт каждому клону две конкретные поверхности приватности из коробки: гранулярное управление согласием (хранится в записи пользователя) и запланированный жизненный цикл удаления аккаунта с 30-дневным окном и отменой. Оба реализованы в features/auth/services/ — сторонний SDK согласия не нужен.
| Previous | Ring equivalent |
|---|---|
| All-or-nothing tracking consent | Четыре переключателя совместного использования данных + четыре контактных предпочтения |
| Immediate, irreversible delete | 30-дневное запланированное удаление с canCancel и жизненным циклом статусов |
| Consent scattered across vendors | Согласие хранится в записи users (data_sharing_consent) |
PrivacyConsent в features/auth/types.ts:
| Group | Fields |
|---|---|
dataSharingConsent | analytics · personalization · notifications · research |
anonymizedResearchConsent | один boolean |
contactPreferences | marketing · opportunities · system · evolution |
PrivacyConsentService (getUserConsent / updateUserConsent) читает и пишет эти поля против собственной записи пользователя — изменение согласия участником никогда не покидает клон.
scheduledDeletionDate = request + 30).Используйте вкладки Founder / Developer в боковой панели, чтобы отфильтровать эту страницу. Участники управляют собственными настройками на /privacy; эта статья документирует сервисы за этими поверхностями.
Ring даёт каждому клону две конкретные поверхности приватности из коробки: гранулярное управление согласием (хранится в записи пользователя) и запланированный жизненный цикл удаления аккаунта с 30-дневным окном и отменой. Оба реализованы в features/auth/services/ — сторонний SDK согласия не нужен.
| Previous | Ring equivalent |
|---|---|
| All-or-nothing tracking consent | Четыре переключателя совместного использования данных + четыре контактных предпочтения |
| Immediate, irreversible delete | 30-дневное запланированное удаление с canCancel и жизненным циклом статусов |
| Consent scattered across vendors | Согласие хранится в записи users (data_sharing_consent) |
PrivacyConsent в features/auth/types.ts:
| Group | Fields |
|---|---|
dataSharingConsent | analytics · personalization · notifications · research |
anonymizedResearchConsent | один boolean |
contactPreferences | marketing · opportunities · system · evolution |
PrivacyConsentService (getUserConsent / updateUserConsent) читает и пишет эти поля против собственной записи пользователя — изменение согласия участником никогда не покидает клон.
scheduledDeletionDate = request + 30).Используйте вкладки Founder / Developer в боковой панели, чтобы отфильтровать эту страницу. Участники управляют собственными настройками на /privacy; эта статья документирует сервисы за этими поверхностями.
Ring даёт каждому клону две конкретные поверхности приватности из коробки: гранулярное управление согласием (хранится в записи пользователя) и запланированный жизненный цикл удаления аккаунта с 30-дневным окном и отменой. Оба реализованы в features/auth/services/ — сторонний SDK согласия не нужен.
| Previous | Ring equivalent |
|---|---|
| All-or-nothing tracking consent | Четыре переключателя совместного использования данных + четыре контактных предпочтения |
| Immediate, irreversible delete | 30-дневное запланированное удаление с canCancel и жизненным циклом статусов |
| Consent scattered across vendors | Согласие хранится в записи users (data_sharing_consent) |
PrivacyConsent в features/auth/types.ts:
| Group | Fields |
|---|---|
dataSharingConsent | analytics · personalization · notifications · research |
anonymizedResearchConsent | один boolean |
contactPreferences | marketing · opportunities · system · evolution |
PrivacyConsentService (getUserConsent / updateUserConsent) читает и пишет эти поля против собственной записи пользователя — изменение согласия участником никогда не покидает клон.
scheduledDeletionDate = request + 30).processExpiredDeletions()pending → processing → completedpending | cancelled | processing | completed | failedfailureReasonСогласие живёт в записи пользователя; доставка уведомлений учитывает сохранённое предпочтение dataSharingConsent.notifications в момент чтения.
Отдельного endpoint экспорта сегодня нет — реализованные GDPR-поверхности это удаление и согласие. Отметьте это команде Ringdom, если экспорт станет требованием вашей юрисдикции.
Окно задаётся в requestAccountDeletion (+30 дней). Владельцы клонов, которым нужно другое окно, должны изменить его в сервисе и зафиксировать изменение в compliance-документах.
processExpiredDeletions()pending → processing → completedpending | cancelled | processing | completed | failedfailureReasonСогласие живёт в записи пользователя; доставка уведомлений учитывает сохранённое предпочтение dataSharingConsent.notifications в момент чтения.
Отдельного endpoint экспорта сегодня нет — реализованные GDPR-поверхности это удаление и согласие. Отметьте это команде Ringdom, если экспорт станет требованием вашей юрисдикции.
Окно задаётся в requestAccountDeletion (+30 дней). Владельцы клонов, которым нужно другое окно, должны изменить его в сервисе и зафиксировать изменение в compliance-документах.
processExpiredDeletions()pending → processing → completedpending | cancelled | processing | completed | failedfailureReasonСогласие живёт в записи пользователя; доставка уведомлений учитывает сохранённое предпочтение dataSharingConsent.notifications в момент чтения.
Отдельного endpoint экспорта сегодня нет — реализованные GDPR-поверхности это удаление и согласие. Отметьте это команде Ringdom, если экспорт станет требованием вашей юрисдикции.
Окно задаётся в requestAccountDeletion (+30 дней). Владельцы клонов, которым нужно другое окно, должны изменить его в сервисе и зафиксировать изменение в compliance-документах.