Concepts, value, and typical clone scenarios — less code.
Concepts, value, and typical clone scenarios — less code.
Preparing Ring content
Preparing Ring content
Preparing Ring content
Use Founder / Developer tabs in the docs sidebar to filter this page. Members manage their own settings at /privacy; this article documents the services behind those surfaces.
Ring gives every clone two concrete privacy surfaces out of the box: granular consent management (stored on the user record) and a scheduled account-deletion lifecycle with a 30-day window and cancellation. Both are implemented in features/auth/services/ — no third-party consent SDK required.
| Previous | Ring equivalent |
|---|---|
| All-or-nothing tracking consent | Four data-sharing toggles + four contact preferences |
| Immediate, irreversible delete | 30-day scheduled deletion with canCancel and status lifecycle |
| Consent scattered across vendors | Consent persisted on the users record (data_sharing_consent) |
PrivacyConsent in features/auth/types.ts:
| Group | Fields |
|---|---|
dataSharingConsent | analytics · personalization · notifications · research |
anonymizedResearchConsent | single boolean |
contactPreferences | marketing · opportunities · system · evolution |
PrivacyConsentService (getUserConsent / updateUserConsent) reads and writes these against the user's own record — a member changing consent never leaves the clone.
scheduledDeletionDate = request + 30).Use Founder / Developer tabs in the docs sidebar to filter this page. Members manage their own settings at /privacy; this article documents the services behind those surfaces.
Ring gives every clone two concrete privacy surfaces out of the box: granular consent management (stored on the user record) and a scheduled account-deletion lifecycle with a 30-day window and cancellation. Both are implemented in features/auth/services/ — no third-party consent SDK required.
| Previous | Ring equivalent |
|---|---|
| All-or-nothing tracking consent | Four data-sharing toggles + four contact preferences |
| Immediate, irreversible delete | 30-day scheduled deletion with canCancel and status lifecycle |
| Consent scattered across vendors | Consent persisted on the users record (data_sharing_consent) |
PrivacyConsent in features/auth/types.ts:
| Group | Fields |
|---|---|
dataSharingConsent | analytics · personalization · notifications · research |
anonymizedResearchConsent | single boolean |
contactPreferences | marketing · opportunities · system · evolution |
PrivacyConsentService (getUserConsent / updateUserConsent) reads and writes these against the user's own record — a member changing consent never leaves the clone.
scheduledDeletionDate = request + 30).Use Founder / Developer tabs in the docs sidebar to filter this page. Members manage their own settings at /privacy; this article documents the services behind those surfaces.
Ring gives every clone two concrete privacy surfaces out of the box: granular consent management (stored on the user record) and a scheduled account-deletion lifecycle with a 30-day window and cancellation. Both are implemented in features/auth/services/ — no third-party consent SDK required.
| Previous | Ring equivalent |
|---|---|
| All-or-nothing tracking consent | Four data-sharing toggles + four contact preferences |
| Immediate, irreversible delete | 30-day scheduled deletion with canCancel and status lifecycle |
| Consent scattered across vendors | Consent persisted on the users record (data_sharing_consent) |
PrivacyConsent in features/auth/types.ts:
| Group | Fields |
|---|---|
dataSharingConsent | analytics · personalization · notifications · research |
anonymizedResearchConsent | single boolean |
contactPreferences | marketing · opportunities · system · evolution |
PrivacyConsentService (getUserConsent / updateUserConsent) reads and writes these against the user's own record — a member changing consent never leaves the clone.
scheduledDeletionDate = request + 30).pending → processing → completedpending | cancelled | processing | completed | failedfailureReasonConsent lives on the user record; notification delivery honors the stored dataSharingConsent.notifications preference at read time.
No dedicated export endpoint ships today — deletion and consent are the implemented GDPR surfaces. Flag this to the Ringdom team if export becomes a requirement for your jurisdiction.
The window is set in requestAccountDeletion (+30 days). Clone owners who need a different window should adjust it in the service and record the change in their compliance docs.
pending → processing → completedpending | cancelled | processing | completed | failedfailureReasonConsent lives on the user record; notification delivery honors the stored dataSharingConsent.notifications preference at read time.
No dedicated export endpoint ships today — deletion and consent are the implemented GDPR surfaces. Flag this to the Ringdom team if export becomes a requirement for your jurisdiction.
The window is set in requestAccountDeletion (+30 days). Clone owners who need a different window should adjust it in the service and record the change in their compliance docs.
pending → processing → completedpending | cancelled | processing | completed | failedfailureReasonConsent lives on the user record; notification delivery honors the stored dataSharingConsent.notifications preference at read time.
No dedicated export endpoint ships today — deletion and consent are the implemented GDPR surfaces. Flag this to the Ringdom team if export becomes a requirement for your jurisdiction.
The window is set in requestAccountDeletion (+30 days). Clone owners who need a different window should adjust it in the service and record the change in their compliance docs.