Data Deletion Policy and Deletion Callback Contract

Public data deletion instructions URL: https://oraglegpt.org/legal/data-deletion

This is the canonical, server-rendered URL to register with Meta, TikTok, LinkedIn, Google, and any other platform that requires a data deletion instructions URL. It returns real HTML at HTTP 200 with no login, no redirect, and no URL fragment.

The Service is operated by GPT LLM ORAGLE Ltd. Liability Co., a Wyoming close limited liability company, registered office 30 N Gould St, Ste N, Sheridan, WY 82801, United States. All deletion requests are handled by the Company through privacy@oraglegpt.org. We do not name individual personnel.


1. Why this page exists

Meta (Facebook, Instagram, Threads), TikTok, X, LinkedIn, Google (YouTube and Google Business Profile), Pinterest, Reddit, and Mastodon instances all require an application that handles their user data to publish a reachable, plain language data deletion instructions URL before app review can pass. Meta additionally requires a machine-callable data deletion callback endpoint and a deauthorize callback.

This page is that published URL, and it is also the engineering contract for the endpoints.


2. What can be deleted

ObjectWhat deleting it removes
A single connected social accountDisconnect destroys the stored OAuth access and refresh tokens. Delete account record also removes the local provider account identifier and display metadata. Neither action silently deletes separate analytics, inbox, comment, or message records; use the record's own delete action, or make a verified request under section 3.5 for that broader erasure
A single content item, campaign, or media assetThe item, its per-network variants, its schedule, and its derivatives. Already-published posts remain on the platform until you delete them there
An inbox conversation, message, or contactThe canonical conversation, its messages, attachments, and the derived contact and case records
AI agent runsThe stored prompt inputs or input hashes, outputs, citations, and usage records
A workspace / tenantEverything in that workspace, including all of the above. Close it yourself under section 3.3, which keeps it readable and exportable for 30 days and then deletes it, or make a verified request under section 3.5
Your user accountYour identity record, credentials, MFA enrolments, session rows (deleted outright, including the IP address, user agent, and device identifier in them), the login security events tied to those sessions, community threads, replies, and ideas you authored, and review replies you sent. Workspaces you own must be transferred or deleted first
A platform end user's data on platform instructionAll data we hold that originated from that platform for that platform user, across every tenant

Two things this table does not claim, so that nobody assumes them:


3. User-facing deletion flow (exact steps)

3.1 Disconnect one social account (self-serve, immediate)

  1. Sign in at https://app.oraglegpt.org/. The application is served from the app. host; https://oraglegpt.org/ is the marketing site and links to it.
  2. Go to Connections -> Connected Accounts (integrations/accounts).
  3. Select the account.
  4. Choose Disconnect account to keep its non-secret account record, or Delete account record to erase that record as well.
  5. For Delete account record, type DELETE to confirm.

On confirmation the Service:

3.2 Delete specific content, messages, or contacts (self-serve, immediate)

Use the delete action on the record in Publishing, Inbox & CRM, or Media & Brand. Deletion is immediate in the live store. Backup and export files the Service writes for itself are deleted 90 days after they are written, by a scheduled sweep, so a deleted record is gone from them within 90 days. Backups taken outside the Service - a hosting provider's snapshot, a volume backup, an offsite job - are on that system's rotation and are not on this timetable; section 6 says what that means.

3.3 Close a whole workspace (with a 30-day export window)

Closing a workspace is self-serve, and it is the flow the Refund and Cancellation Policy section 3 and the Terms of Service section 17.4 describe.

StepWhereWhat happens
Close the workspaceSettings -> Data Privacy, or POST /api/v1/oem/lifecycle/closeThe workspace moves to the pending_deletion state. We record the closure time and the deletion date on the workspace record itself
The 30-day windowNothing to doThe workspace stays readable and exportable for 30 days. Nothing is deleted during it. The deletion date is shown on the screen and returned by GET /api/v1/oem/lifecycle
ExportSettings -> Data Privacy, or POST /api/v1/oem/export then GET /api/v1/oem/export/{name}A signed archive of the workspace. Credentials are never carried in it
Change your mindSettings -> Data Privacy, or POST /api/v1/oem/lifecycle/reopenThe closure is withdrawn, the deletion date is cleared, and nothing was deleted
DeletionAutomatic, after the windowA scheduled sweep deletes the workspace and its content: the workspace record, its users, memberships, connected-account records and stored credentials, and the content, media, inbox, analytics and AI records the workspace holds

Both the close and the reopen require a signed-in workspace owner or administrator and a step-up authentication challenge, because a closure starts an irreversible clock.

What survives the deletion, and why. One dated row per closed workspace is kept, carrying the closure and deletion timestamps and the number of records removed, and nothing that names you, your workspace or any person in it. It is the evidence that the deletion happened, in the same way the confirmation code in section 5 is. Billing and tax records are kept for as long as the law requires, as section 6 says. The append-only audit trail records that the deletion happened, without the deleted content, for the reason in section 6.

What deletion does not reach. Content already published to a social platform stays on that platform. Backup and export files the Service wrote for itself are deleted on their own 90-day schedule, per section 3.2.

You can still ask for a workspace to be erased by the verified request in section 3.5 instead, and sections 3.1 and 3.2 remain available for a single connected account or an individual record.

3.4 Delete your user account (with a grace period)

Deletion of your own account holder record is requested through POST /api/v1/privacy/deletion-requests, and cancelled through POST /api/v1/privacy/deletion-requests/{code}/cancel. Both require a signed-in session; raising the request additionally requires a step-up authentication challenge.

This is an API route, not a button. The Settings -> Privacy screen in this release shows what provider data is held and links to the connected accounts screen, but it cannot raise the step-up challenge the request needs, so it does not offer a Delete my account control. If you would rather not call the API, use the verified email request in section 3.5 and we will raise it for you.

Grace period: 30 days. During it the request can be cancelled by the person who raised it and nothing has been erased. What the erasure then covers is listed in section 4. The figure matches the retention line for account and workspace records in Privacy Policy section 9 - "for the life of the account, then 30 days" - and it is the figure the software enforces.

Deleting your user account does not delete the workspace: see section 3.3. If you are the sole owner of a workspace, transfer ownership first, or close the workspace itself under section 3.3.

3.5 Request deletion by email (no account required)

Email privacy@oraglegpt.org with the subject line "Data deletion request" and include:

Then:

StepWhoTimeline
Acknowledgement with a reference codeUsWithin 72 hours
Identity verification, proportionate to sensitivityYou and usWe will ask only for what is necessary
Deletion executed in live systemsUsWithin 30 days of a verified request
Extension where the request is complexUsUp to a further 60 days, with written reasons
Purge from the backup and export files the Service writesUsWithin 90 days
Written confirmation of completionUsOn completion

How those replies reach you. Every step in that table is a reply written and sent by a person from the privacy@oraglegpt.org mailbox. The Service itself sends no email: it contains no mail client and no notification-delivery route, so none of these acknowledgements, confirmations, or reason letters is generated automatically, and none is delivered in the product. If you have not heard from us inside the stated window, write to the same address again and say so; there is no automated system to have swallowed it.

There is no charge. We do not require you to create an account to make a request.

3.6 If your data is inside a customer's workspace

If you interacted with a brand that uses the Service (you commented on their post, or sent them a DM), that brand is the controller and we are the processor. Contact the brand first. If you contact us, we will forward your request to the relevant customer within 5 business days and tell you we have done so, unless a legal duty prevents it.

3.7 Deleting your data at the platform instead

You can also revoke the Service's access directly on each platform. Provider revocation stops the provider from accepting the affected token, but not every provider sends us a signed deletion or deauthorisation callback. Section 4 explains the exact local effect. Use section 3.1 or 3.5 as well when you want us to erase local data.

PlatformWhere to revoke
Facebook / Instagram / ThreadsSettings -> Apps and Websites (Business Integrations)
LinkedInSettings -> Data privacy -> Permitted services
TikTokSettings -> Security and permissions -> Manage app permissions
YouTube / Google Business Profilemyaccount.google.com/permissions
XSettings -> Security and account access -> Apps and sessions -> Connected apps
PinterestSettings -> Security -> Apps
RedditPreferences -> Apps -> Revoke access
MastodonPreferences -> Account -> Authorized apps
DiscordUser Settings -> Authorized Apps
TumblrSettings -> Apps

4. What we do when access is revoked at the platform

A provider-side revocation is not always a verified request to erase local data, and providers give applications different signals:

For a deterministic local result, use Disconnect account or Delete account record in section 3.1. To erase provider-derived history as well, delete those records separately, or make a verified request under section 3.5. This avoids treating an outage, expired token, or transient refresh failure as authority to erase a customer's records.


5. Provider deletion-callback endpoint contract

5.1 Endpoint family

All provider-initiated deletion traffic terminates on one route family, on the application host app.oraglegpt.org:

POST https://app.oraglegpt.org/api/v1/platform/deletion/{provider}
POST https://app.oraglegpt.org/api/v1/platform/deauthorize/{provider}
GET  https://app.oraglegpt.org/api/v1/platform/deletion/status/{confirmation_code}
GET  https://app.oraglegpt.org/privacy/deletion-status/{confirmation_code}

Register these URLs on app.oraglegpt.org, not on the apex. The apex oraglegpt.org serves the marketing site and the published legal pages only; it runs no API, so every path above returns HTTP 404 there. The application host is the only host that answers them.

{provider} is the connector registry identifier, and only three of them answer these routes today. A reviewer who tests any other identifier receives HTTP 404 with This provider publishes no deletion callback contract. That is the correct answer, not a fault: the provider sends this Service no signed callback, so there is nothing for the endpoint to verify, and section 5.3 sets out the deletion route that does cover it.

Registry identifierWhat these routes do today
facebook, instagram, threadsLive. Meta's signed_request contract in section 5.2 is implemented and is verified against that app's own secret. Register the callback URLs on these three
tiktok, x, linkedin, pinterest, snapchat, youtube, google-business, reddit, mastodon, bluesky, discord, telegram, tumblr, vk, wordpress, odnoklassnikiHTTP 404, deliberately. No signed-request contract is implemented for these, so the endpoint refuses rather than accepting an unauthenticated deletion instruction. Section 5.3 is their route
Anything elseHTTP 404. It is not a connector identifier

A live identifier additionally needs that deployment to hold the Meta app secret for the app it belongs to. Where the secret is absent the route answers 409 provider_not_configured, naming the environment variable to set, rather than accepting a callback it cannot verify. It never answers 200 for work it did not enqueue.

These routes are unauthenticated by session and authenticated by provider signature. They must be:

5.2 Meta: Facebook, Instagram, Threads

Meta calls the Data Deletion Request Callback URL and the Deauthorize Callback URL configured in the app dashboard.

Request. POST, Content-Type: application/x-www-form-urlencoded, one field:

signed_request=<base64url-signature>.<base64url-payload>

Verification, in this order:

  1. Split on the single .. Reject if there is not exactly one.
  2. Base64url-decode the payload; parse as JSON.
  3. Require algorithm == "HMAC-SHA256". Reject anything else.
  4. Recompute HMAC-SHA256(app_secret, raw_payload_segment) and compare to the base64url-decoded signature using a constant-time comparison.
  5. Reject if issued_at is more than 300 seconds old.
  6. Read user_id (the app-scoped user ID) from the payload.

Action. Enqueue an idempotent deletion job for every tenant that holds data for that app-scoped user ID: tokens, connection, profile cache, ingested inbox items and DMs, comments, and analytics rows attributable to that user.

Response. HTTP 200 with Content-Type: application/json and exactly:

{
  "url": "https://app.oraglegpt.org/privacy/deletion-status/{confirmation_code}",
  "confirmation_code": "{confirmation_code}"
}

That is the exact url the Service returns: the human-readable status page on the application host. The JSON form of the same record is served at https://app.oraglegpt.org/api/v1/platform/deletion/status/{confirmation_code} (section 5.4). Both resolve; neither exists on the apex.

The url must be publicly reachable without authentication and must render a human-readable status. The confirmation_code must be an unguessable, non-sequential identifier (at least 128 bits of entropy, base32 or hex encoded).

Deauthorize callback. Identical signed_request verification. Action: revoke and delete tokens and mark the connection revoked. Respond 200 with an empty body. Deauthorization is not by itself a full data deletion request unless the tenant policy says so, but tokens are always destroyed.

Failure handling. On a signature failure the Service responds 401 with a single detail-free invalid_signed_request code, identical for every failure mode, so the response cannot be used as an oracle. On an internal failure it responds 500 so Meta retries. It never responds 200 for work that was not enqueued.

5.3 Other providers

ProviderDeletion mechanism we supportNotes
TikTokPublished instructions, the self-serve controls in section 3.1, verified email requests, and a best-effort call to POST https://open.tiktokapis.com/v2/oauth/revoke/ for the stored access token on disconnectNo TikTok deletion callback is registered in this release
XPublished instructions, self-serve controls, verified email requests, and best-effort calls to POST https://api.x.com/2/oauth2/revoke for stored access and refresh tokens on disconnectX does not send this Service a deletion callback; platform-side revocation alone is not automatically detected as a local deletion request
LinkedInPublished instructions, self-serve controls, and verified email requestsNo LinkedIn deletion callback is registered in this release, and this connector carries no revocation endpoint
YouTubePublished instructions, self-serve controls, verified email requests, and a best-effort call to POST https://oauth2.googleapis.com/revoke on disconnectWe do not currently subscribe to Google Cross-Account Protection (RISC) events, so revoking only at Google is not a guaranteed local erasure signal. YouTube also cannot be connected in this build, because the connector has no authoritative account-identity resolver, so in practice there is no YouTube grant to revoke. See Privacy Policy section 13.1
Google Business ProfilePublished instructions, self-serve controls, and verified email requestsDespite sharing Google's OAuth service with YouTube, this connector carries no revocation endpoint in this release, so disconnecting it destroys the local credentials without calling Google. Revoke at myaccount.google.com/permissions as well if you want the grant withdrawn at Google
SnapchatPublished instructions, self-serve controls, verified email requests, and a best-effort call to Snapchat's OAuth revocation endpoint on disconnectSnap returns HTTP 200 for this call regardless of outcome, so a successful response confirms only that the request was accepted; this Service does not claim separate provider-side completion confirmation. Snapchat also cannot be connected in this build, because Snap approves no permission that returns a stable account identifier, so in practice there is no Snapchat grant to revoke
RedditPublished instructions, self-serve controls, verified email requests, and best-effort calls to POST https://www.reddit.com/api/v1/revoke_token for the stored access and refresh tokens on disconnectReddit grants here are permanent, so the refresh token outlives the access token; both are revoked, each with its own token_type_hint, so that no live grant is left behind. No Reddit deletion callback is registered in this release
MastodonPublished instructions, self-serve controls, verified email requests, and a best-effort call to POST {your instance}/oauth/revoke on disconnectThe endpoint lives on your own instance, not on a vendor host, so it is resolved from the account's recorded instance origin; where that origin cannot be resolved the call is not sent at all rather than sent to a guessed host. No Mastodon deletion callback is registered in this release
Pinterest, Bluesky, Discord, Telegram, Tumblr, VK, Odnoklassniki, WordPressPublished instructions, self-serve controls, and verified email requestsThese connectors have no registered deletion callback and no configured revocation endpoint in this release, so disconnecting destroys the local credentials without calling the provider

For every provider without a callback, the published URL plus the self-serve flow in section 3 is the compliant path, and the operator must be able to demonstrate it to a reviewer.

5.4 Status endpoint

GET https://app.oraglegpt.org/privacy/deletion-status/{confirmation_code}
GET https://app.oraglegpt.org/api/v1/platform/deletion/status/{confirmation_code}
{
  "confirmation_code": "…",
  "status": "received | in_progress | completed | not_found",
  "received_at": "2026-08-04T00:00:00Z",
  "completed_at": "2026-08-04T00:03:11Z",
  "provider": "facebook"
}

5.5 Execution guarantees

GuaranteeDetail
AcknowledgementSynchronous, within the provider's timeout
Live-system deletionWithin 24 hours of a verified callback, and always within 30 days
Backup purgeWithin 90 days, for the backup and export files the Service writes. Backups taken outside the Service follow that system's rotation
IdempotencyRepeat callbacks for the same user return the original confirmation code and do not create duplicate jobs
OrderingToken destruction happens first, before any bulk record deletion, so no further provider calls can be made on the revoked authorisation
AuditabilityEvery deletion writes an append-only receipt with actor provider-callback, the provider, the confirmation code, counts by record type, and timestamps
FailureA failed erasure deliberately stays non-terminal, so the queue retries it with backoff rather than recording it as complete, and an exhausted job lands in the dead-letter queue. There is no automated page: this build sends no email, SMS, or push message, so the dead-letter queue is surfaced in the operator diagnostics an operator has to look at. We treat a dead-lettered deletion as an incident, not a routine failure

6. What we retain after deletion, and why

RetainedBasisPeriod
Deletion receipts (confirmation code, provider, timestamps, counts, outcome)Demonstrating compliance to platforms and regulators24 months
Security and access event records (logins, operator actions)Legitimate interests: integrity and non-repudiation12 months
The append-only audit trail entries recording that a deletion occurredLegitimate interests: integrity and non-repudiationFor as long as the workspace exists. Each entry hashes the one before it, per workspace, so removing old entries would make every remaining entry unverifiable and destroy the evidence this page offers. We do not purge it on a schedule, and we would rather publish that than a 12 month figure we cannot keep. The entries name the record and the actor, never the content
Billing, invoicing, and tax recordsLegal obligationAs required by law, typically 7 years
Data under a documented legal holdEstablishment or defence of legal claimsUntil the hold is released
Aggregated, irreversibly anonymised countersNo longer personal dataIndefinite
Backup and export files the Service writesTechnical necessityPurged within 90 days by a scheduled sweep
Backups taken outside the Service (host snapshots, volume backups, offsite jobs)Technical necessity, outside this Service's controlThat system's own rotation. We cannot expire them from here and do not claim to

Already-published posts on a platform are controlled by that platform and by the account holder. Deleting data here does not delete a live post. Delete it on the platform, or through Publishing -> Post History where the provider's API supports deletion.


7. Verification and anti-abuse

We verify requests proportionately. For a signed-in user, re-authentication and a step-up challenge are enough. For an email request we match against data we already hold and may ask for one additional corroborating detail. We will not ask for a government identity document unless the risk of wrongful deletion demands it, and we delete any verification material within 30 days of closing the request. Authorised agents must evidence their authority.

We refuse manifestly unfounded or excessive repeat requests, in writing and with reasons, and we tell you how to complain.


TopicPage
Privacy PolicyPrivacy Policy
Retention schedulePrivacy Policy section 9
Your privacy rights, and how to make a requestYour Privacy Rights: GDPR, UK GDPR, and US State Privacy Laws
SubprocessorsSubprocessors
Data Processing AddendumData Processing Addendum
Security controls protecting the dataSecurity
Cancelling and what happens to your dataRefund and Cancellation Policy

9. Scope and current implementation status

We publish this so that customers, data subjects, and platform reviewers can see exactly which deletion routes are live today and which depend on a platform integration being approved. We would rather state the boundary than let anyone assume more than we deliver.

9.1 Live today

RouteStatus
Self-serve deletion in the product, on the connected accounts screen and on each recordLive, and limited to what section 3.1 and section 3.2 describe. Disconnect an account, delete its account record, and delete individual supported records. The connected accounts screen does not claim to delete separate ingested history
Self-serve closure and deletion of a whole workspaceLive, through Settings -> Data Privacy or POST /api/v1/oem/lifecycle/close, in both cases behind a step-up challenge. The workspace stays readable and exportable for 30 days, the deletion date is stored on the workspace record and shown on the screen, POST /api/v1/oem/lifecycle/reopen withdraws the closure at any point inside the window, and a scheduled sweep deletes the workspace and its content once the window has elapsed. See section 3.3
Deletion of your own account holder recordLive at the API, through POST /api/v1/privacy/deletion-requests with a step-up challenge, cancellable for 30 days. It has no button: the settings/privacy screen cannot raise the step-up challenge the request requires, so ask on the verified email route if you would rather not call the API. Closing a whole workspace, which is a different action, does have a button - see section 3.3
Token deletion on disconnectLive. Access and refresh tokens are deleted immediately when an account is disconnected, when its account record is deleted, and when a verified provider deletion or deauthorisation callback is acted on
Provider token revocation on disconnectImplemented, best effort for the six connectors that carry a provider revocation endpoint: TikTok, X, YouTube, Snapchat, Reddit, and Mastodon. Calling it requires an account you were able to connect in the first place, and on this deployment that is TikTok alone of the six: X, YouTube, Snapchat, Reddit and Mastodon cannot be connected here at all, so for those five the path is unreachable rather than merely unused, and we will not describe it as live for them. GET /api/v1/capabilities reports which providers are connectable at any given moment and is the authority over that list, not this table. No revocation call is made for any other connector, Google Business Profile, LinkedIn and Pinterest included, because none carries such an endpoint in this release. Local credentials are destroyed either way, and a revocation the provider refused is recorded as failed rather than as done
Deletion by email request to privacy@oraglegpt.orgLive, and handled by a person. Acknowledged within 72 hours, completed within 30 days. The Service sends no email of its own, so every reply on this route is written and sent from that mailbox by hand
Automated email or in-product notification of a deletionNot implemented. This build contains no mail client and no notification-delivery route, so nothing is sent automatically when a deletion completes. For a self-serve deletion the product screen is the confirmation; for a provider callback the status page at https://app.oraglegpt.org/privacy/deletion-status/{confirmation_code} is
This published deletion instructions URL at https://oraglegpt.org/legal/data-deletionLive. Server-rendered, HTTP 200, no login, no fragment
Signed provider deletion and deauthorisation callbacksLive for supported Meta signed requests. A verified deletion callback queues broad erasure; a verified deauthorisation callback destroys credentials and marks the account revoked, but does not erase unrelated stored content
Platform-side revocation without a callbackLimited. It may surface as a refresh or API failure, but it is not treated as an authenticated request to erase local records. Use the self-serve or email route for a guaranteed local result
The retention schedule in Privacy Policy section 9Live. An hourly sweep in the scheduler expires inbox records, the publication log, analytics and listening data, AI runs, security events, expired sessions, completed queue rows, delivered relay records, the backup and export files the Service writes, and - once its 30-day window has elapsed - a closed workspace and everything in it. The audit trail is deliberately excluded, for the reason given in section 6

9.2 Dependent on platform app approval

The machine-callable endpoints specified in section 5 are the contract we implement and register per platform, as that platform's app review is completed. A callback URL is only meaningful once the platform application it belongs to is approved and configured, so these are enabled alongside each approval rather than in advance.

This does not reduce anyone's deletion rights. Every provider listed in section 5.3 is covered today by the published instructions URL, the self-serve controls, and the verified email route. Those are the explicit paths for a provider that does not send this Service a signed deletion callback.

9.3 Reachability commitments

The deletion instructions URL and any registered callback endpoint are, and will remain:

The apex oraglegpt.org is served through a CDN and the application host app.oraglegpt.org is served directly. The callback and status endpoints are on the directly served host, so no CDN challenge can sit in front of a provider's call.

9.4 Questions

If you are a platform reviewer and need a specific endpoint, a test account, or written confirmation of any commitment on this page, write to privacy@oraglegpt.org and we will respond within 5 business days.