Skip to content
TDACorpIDENTITYSign in

Privacy policy

What TDACorp Identity collects about you, why it holds it, who else touches it, how long it is kept, and how to see, correct, export or remove it. Written against the code that runs rather than a policy kept separately from it.

Last reviewed October 5, 2026
On this page

Who we are

TDACorp Identity is operated by TDACorp Private Limited, a company incorporated in India on 17 July 2026. It is the shared sign-in, session, token and access-control service that TDACorp products use. TDACorp Private Limited decides why and how the personal data described on this page is processed, so for this platform it is the party responsible for that data. Where an organization invites you to an account, that organization has its own reasons for the invitation, and this page says so in the sections on lawful basis and organizations.

ItemStatement
OperatorTDACorp Private Limited
Incorporation17 July 2026
Last reviewed5 October 2026
LifecyclePre-production. Where a statement describes today only and not a launch commitment, it says so
Contact for privacy questionssecurity@tdacorp.in
Named data protection officer, grievance officer or representativeNone is named in the repository, so none is named here

Note

This is a plain-language notice written from the code. It is not legal advice, and the legal text of related pages is flagged as pending review by the owner.

What this notice covers

This notice covers your account, sessions and credentials on TDACorp Identity, and the same data processed on behalf of any TDACorp product that uses this platform to sign you in and enforce your permissions. It describes data the platform itself holds.

In scopeOut of scope
Your account, profile, email addresses and credentialstdacorp.in, TDACorp's marketing website, which has its own policy
Your sessions, devices and sign-in historyWhat a TDACorp product does with your data beyond authentication and permissions; that product has its own notice
Applications you connect through this platform, as to the consent and tokens held hereThe vendors' own handling of data, which is described by those vendors; see the subprocessor list
Organization memberships and roles held hereAnother organization's own records about you
Records of requests you make (export, deactivation)Anything outside this platform

Data inventory

The table lists every category of personal data the platform holds, what it is used for, where it sits, how long it stays and who else receives it. "Recipients" means parties beyond the operator: infrastructure vendors are named on the subprocessor page, and applications you sign in to receive only the claims in the scopes they request, and third-party applications only with your consent.

CategoryWhat it containsWhy we hold itWhere it is storedRetentionRecipients
Identity and contactOne or more email addresses (each verified before use), display name, optional username, optional short bio, optional locale and time zoneTo create and identify your account, to send security mail, to show your name in apps you authorizePrimary databaseWhile the account exists; erased 30 days after deactivationDatabase host; email provider receives the address when a message is sent; an application you sign in to receives the profile claims in the scopes it requests, and a third-party one only with your consent
Profile pictureAn image (PNG, JPEG or WebP, at most 128 KiB) that you upload, or the picture a sign-in provider supplies when it creates your accountSo an application you sign in to can show itPrimary database, served from a public address keyed to your account identifierUntil you remove it; erased at erasureAnyone who has the address, which includes applications you sign in to
PasswordA salted Argon2id hash, never the passwordTo check your sign-inPrimary databaseWhile the credential exists; deleted at erasureNone
PasskeyThe public key, a label, a signature counter and backup flagsTo check your sign-inPrimary databaseWhile the credential exists; deleted at erasureNone. The private key stays on your device
Authenticator and recovery codesAn encrypted authenticator secret; keyed hashes of recovery codesSecond factor and recoveryPrimary databaseWhile enrolled; deleted at erasureNone
Linked accountsAn issuer and subject pair and the email at link time, if you link Google or GitHub; when a provider creates your account it also supplies your display name and pictureTo let you sign in through that providerPrimary databaseWhile linked; deleted at erasureThe provider, as part of the sign-in you start
SessionSession identifier, the network address it started from, a hash of the browser user-agent, sign-in method, assurance level, timestamps, device referenceTo keep you signed in and show you your sessionsPrimary databaseNetwork address set to empty after 90 days; the ended session row is deleted after 90 daysNone
Session contextA label parsed from the user-agent (for example "Firefox on Linux"), country and city of the first request, and, only when an operator switches on an optional coarse-location setting (off in the production configuration), a coarse location grid cell of about 111 kmTo show you where a session started and, when switched on, to recognise an unusual placePrimary databaseWhile the account exists; deleted at erasureNone
DeviceA random device key (in a cookie), a name you may set, a trust levelTo recognise a browser and show your devicesPrimary databaseWhile the device is on your account; name emptied at erasureNone
Sign-in alertBrowser label, country, network address and method of a new sign-in, with a single-use token hashTo email you about a sign-in from a browser we have not seen or do not currently trust, or one admitted with less proof than normalPrimary database and the email in transitDeleted when used or after 7 daysEmail provider
Login and recovery transactionsTransaction state, identifier hash, risk score and signals, hashes of linksTo complete a sign-in or recovery safelyPrimary databaseLogin transaction 10 minutes; recovery link 15 minutes; completed or cancelled recovery rows deleted after 14 daysNone
Audit logTime, event kind, actor, target, organization, a hash and mask of any email, network address on some eventsSecurity, investigation and integrityPrimary database8 years by default; no automatic pruning todayNone
Consent recordsWhich third-party application you authorized and for which scopesTo remember your consent and let you revoke itPrimary databaseUntil revoked or erasedThe application you authorized
Organization membership and rolesWhich organizations you belong to, status and role bindingsTo enforce what you may do in productsPrimary databaseWhile the membership existsProducts and organization administrators
Personal access tokensA name, scopes, expiry, optional IP allowlist and a hash of the tokenTo authenticate scripts you createPrimary databaseUp to 90 days; deleted at erasureNone
Applications you registerClient name, redirect addresses, key metadataIf you use developer features, which are off unless an operator enables themPrimary databaseWhile the client existsNone
Notification preferencesTwo settings, product updates and marketing emailTo record your choicePrimary databaseWhile the account exists; deleted at erasureNone
Requests you makeA record that you asked for an export or deactivation, and the export itselfTo fulfil the requestPrimary databaseExport downloadable for 7 days, then deleted; the request record stays in the audit logNone
Outbound emailThe recipient address and message text, sealed while queued, for link and recovery mail; a hash of the address stays on the finished row until it is purgedTo deliver security and sign-in mailPrimary database, then the email providerFinished queue rows are purged after 7 daysEmail provider
Request logRoute pattern, method, status, duration, organization, client, a keyed hash of the caller, error classOperations and abuse handlingApplication log stream of the hosting platformGoverned by the hosting platform's log retention; the repository's plan notes record 1 hour on the current planHosting provider
Browser crash reportsError reports from your browserOnly when an operator turns the feature on, which is off by defaultNot stored unless enabledNot applicable while offNone

Data we do not collect

We do notDetail
Use advertising or analytics cookiesNone are set
Load third-party scripts, fonts or imagesThe pages are served with a policy that permits only this site's own scripts and styles
Profile you for advertising or behaviourThere is no such feature to opt out of
Collect your plaintext passwordOnly an Argon2id hash is stored
Send your password to a breach serviceOnly a five-character prefix of a SHA-1 digest of it leaves the system, never an account identifier or email address
Use SMS or phone numbersNo phone number is collected or used as a factor
Collect government identifiers, payment details or biometricsNone. A passkey biometric check happens on your device and is never sent to us
Collect your precise locationThe platform stores country and city of a session's first request address, plus a roughly 111 km grid cell only when an operator switches on an optional coarse-location setting; only coarse values are kept
Use a third-party fraud-scoring serviceNone
Sell your dataThe platform has no mechanism for it
Collect a date of birthNone is asked for
Store the raw user-agent textA hash and a parsed label are stored

Sources of data

SourceWhat it supplies
YouEmail, display name, optional profile fields, password, authenticator enrolment, passkeys, uploads, settings, requests
Your browser and network connectionNetwork address, user-agent, device cookie, country and city derived from the address, timestamps
An organization that invites youYour email address and an optional role; the invitation is single use and valid 7 days
A sign-in provider you linkAn issuer and subject, a verified email and, when the provider supplies them at sign-up, your display name and picture, if you use Google or GitHub, which is offered only when an operator registers a provider
An application you sign in toThe client identifier, requested scopes and redirect
Administrators of your organization or of the platformStatus changes, role bindings and support actions, each recorded in the audit log
A breach corpusOnly a yes or no on a hashed prefix lookup; no data about you is received
Earlier TDACorp identity platformAccounts and credentials imported from the earlier generation, where an operator ran an import; imported password hashes of a weaker algorithm are never verified

How we use data

UseData involvedNotes
Authenticate youCredentials, sessions, tokensServer-side session lookup on every request
Keep you safeNetwork address, device, attempt counters, risk scoreSee the section on automated decision making
Tell you about changesVerified email addressesSecurity alerts go to every verified address and cannot be turned off. They are best effort: a few kinds (blocked risky sign-ins, bursts of failed sign-ins) are rate-limited, and delivery depends on the email provider
Apply limitsNetwork address, identifier hash, deviceRate limits
Let you see and control your accountSessions, devices, activity, connected apps, tokensAccount pages
Investigate a report or recovery requestAudit log, session recordsBy operators, recorded
Meet legal and integrity needsAudit log and its chainSee retention
Run the serviceRequest logWithout credentials or addresses in the clear
Notify you of a breach if one occursYour email addressWorkflow documented in the incident runbook

We do not use your data for advertising or behavioural profiling. The platform stores two notification preferences, product updates and marketing email (marketing off by default); nothing in the platform sends product-update or marketing email today, and the preferences are stored, shown on your notifications page and included in your export.

Lawful basis and governing law

TDACorp Private Limited is an Indian company, and its own processing of your data is governed by Indian law, including the Digital Personal Data Protection Act, 2023. The repository documents the following basis for each way an account comes to exist; it documents no other.

How the account was createdDocumented basis
Self-registrationThe agreement and acknowledgement shown beneath the registration form (no separate consent record is stored)
Invitation by an organizationThe inviting organization's own basis for inviting you, recorded in the membership
Security loggingOperating the service and its integrity, with the audit log kept for the period in the retention schedule

The repository's specification also names obligations such as reporting of cyber incidents to the national CERT within 6 hours and to the Data Protection Board within 72 hours for the classes it lists, and honouring erasure on withdrawal of consent. It tracks the phased dates of the 2025 rules as targets and does not treat their enforcement dates as a trigger. This page does not otherwise assert how any statute applies to TDACorp.

Sharing and subprocessors

Three infrastructure vendors are involved in running this platform: hosting, the primary database and transactional email. The subprocessor page is the single place to check them.

RecipientRoleWhat it sees
VercelHosting and application infrastructureEvery request to this platform passes through it, and application logs go to it
NeonPrimary Postgres databaseEvery persistent record: accounts, credential hashes and sealed secrets, sessions, avatars, the audit log, exports while they exist
ResendTransactional and security emailThe recipient address and the text of each message: verification, sign-in and recovery links, the security alerts and other account notices
Applications you sign in toRelying partiesThe identifiers and profile claims in the scopes requested; third-party applications also need your consent, TDACorp's own products are not shown a consent screen
Organizations you belong toTenant administratorsMembership, role and status; support access windows are emailed to you
Have I Been PwnedBreach corpusA five-character hash prefix only; not a subprocessor because no personal data is sent
Law enforcement or regulatorsOn lawful demandNot described anywhere in the repository, so no practice is claimed

A disclosure to a third-party application you sign in to follows your consent, which you can review and revoke on the Connected apps page. Not on this list on purpose: cloud key management, a storage vendor, social sign-in vendors, analytics and advertising. This list changes when any of them is added.

International transfers

The platform specification places the primary database in India. The database provider has no Indian region, so for the pre-production period the owner has waived that placement, to be revisited before launch. The primary database is therefore not in India. The function runs in Vercel region iad1 (US East, N. Virginia) and the database is in Neon on AWS US East 1 (N. Virginia). This page makes no claim about where a vendor's staff or backups sit. Anchors of the audit chain, which contain only hashes, may be stored abroad according to the specification; none is published to an outside location in the committed configuration.

ItemState
Primary database locationNeon, AWS US East 1 (N. Virginia). Not in India during pre-production; waived by the owner, to be revisited before launch
BackupsA nightly encrypted dump workflow is written and has not been run; the specification places backups in a second Indian region, which is not a claim about today
Email deliveryBy the email provider; no region is declared in the repository
HostingBy Vercel, function region iad1 (US East, N. Virginia), no failover
Transfer safeguardsNone are described in the repository, so none are claimed

Cookies and storage

Every cookie set by the platform is strictly part of signing you in or protecting the sign-in. There are no tracking, advertising or analytics cookies, and no analytics or third-party script is loaded. All cookies on the identity host carry the __Host- prefix, so they are Secure, have path / and have no Domain attribute, and all are HttpOnly with SameSite=Lax. The separate administrative console sets two cookies of its own, listed in the last rows.

NamePurposeLifetimeHolds personal data
__Host-tdaid_sidKeeps you signed inEnds with the session: 12 hours idle or 14 days in totalA random secret; only its digest is stored
__Host-tdaid_ltxTracks a sign-in in progressAt most 10 minutesA transaction identifier
__Host-tdaid_rdevSet only when you start recovery, so a link works only in the browser that asked30 daysA random value
__Host-device_idLets the account tell a browser it has seen from a new one400 daysA random value, not personal data
__Host-tdaid_regb and __Host-tdaid_regvBind a registration code and verified link to the registering browser30 minutes for the binding cookie, 15 minutes for the verified-link cookieRandom values
__Host-tdaid_fedState of a federated sign-in in progress10 minutesA signed state value
__Host-tdaid_pk_offerRemembers a passkey offer so it is not repeated7 daysA flag
Admin console session cookieThe separate administrative consoleUp to 7 days, encryptedAdministrator sessions only
Admin console sign-in attempt cookieState of an administrator sign-in in progress, cleared once used10 minutes, encryptedAdministrator sign-ins only

SameSite=Lax is one layer of this platform's protection against cross-site request forgery; the other is a same-origin check on every request that changes state. Removing a device from your account page stops the account recognising its device cookie. The platform does not use local storage or session storage to hold personal data as part of its sign-in; clearing browser storage does not affect your account.

Retention schedule

The table gives the retention of each kind of record as the code enforces it. Background jobs run from a daily scheduled job and from ordinary traffic on the current hosting plan, so a deletion can run up to about a day later than its nominal time.

RecordNominal retentionMechanism
Session cookie and session12 hours idle, 14 days absoluteServer-side expiry and revocation
Session network addressSet to empty after 90 daysHousekeeping job; the period is a setting with a default of 90 days
Ended session rowDeleted 90 days after it ended; the database refuses deletion sooner than 30 days after end or while an address remainsHousekeeping job
Ended OAuth token families and refresh tokensDeleted after 90 daysHousekeeping job
Relying-party session records for logoutDeleted on the same 90-day cutoff as ended token familiesHousekeeping job
Login transaction10 minutes of life, then sweptExpiry and sweep
Passkey challenge5 minutesExpiry and sweep
Magic sign-in link15 minutesExpiry and sweep
Email verification link and unverified address24 hoursExpiry and sweep
Unverified account created by registering24-hour claim; the empty account is swept after 48 hoursHousekeeping job
Recovery link15 minutes; held recovery can be re-opened for 7 daysExpiry and sweep
Completed or cancelled recovery requestDeleted after 14 daysHousekeeping job
Sign-in alertDeleted when used or after 7 daysExpiry
InvitationValid 7 days, single useThe invited address is kept in the record afterwards; see below
Personal data exportDownloadable for 7 days, then deletedExport worker
Queued outbound emailFinished rows purged after 7 daysEmail queue
Settled event outbox rowsKept 30 days for operator inspectionHousekeeping job
Rate-limit countersDeleted after 7 days idleHousekeeping job
Audit log2,920 days (8 years) by default, within a configurable range of 365 to 3,650 days with a floor of 2,920 days for TDACorp's own organizationCompaction exists but is off unless an operator enables it, so records are currently retained without automatic pruning
Activity page windowThe most recent 90 days of your own eventsDisplay window only
Deactivated accountPersonal data erased 30 days after deactivationHourly worker, subject to scheduling lateness
Account that remains activeNo automatic deletion timer applies to your own profile, credentials and consents; they persist as long as the accountNot applicable

What erasure removes and what it keeps

Deleting your account deactivates it at once: every session, token and personal access token is revoked and you cannot sign in again. Thirty days later a background job erases your personal data.

ErasedKept, and why
Profile (name, username, bio, locale, time zone)The account identifier, an opaque value, so the audit chain stays intact
Email addressesThe audit log's events about the account, which reference identifiers and hashes rather than names or addresses; not every event kind has been audited for this
Credentials: password, passkeys, authenticator, recovery codes, linked accountsThe network address and user-agent hash of past sessions: the record they sit in cannot be edited after the fact. The address is set to empty by the retention job after 90 days; the user-agent hash is kept until that session row is deleted
Stored exportsThe address an invitation was sent to: that table refuses edits and deletes, so it remains. This is recorded as a gap needing an owner decision
Profile picture and notification preferencesConsent and membership records, which reference your opaque identifier and not your name
Session context labels (browser label, country, city, grid cell) and sign-in alert recordsDevice rows, with the name and device reference emptied, because past sessions refer to them
Personal access tokensA break-glass credential row, only if one was ever referenced by an activation record, which is kept with its label emptied and its status revoked

Erasure is not total, and this page states that rather than hiding it. Whether to change any of these retentions is an open owner decision.

Your rights and how to exercise them

You can see, correct, export and remove most of your data yourself, signed in. Each of these acts on the requester's own account only, which is why they require being signed in. If you cannot sign in, or need something these pages do not cover, email security@tdacorp.in; the response time for such a request is not promised here.

RightWhat you can doWhere in the productNotes
Access and exportRequest a copy of your account data; download JSON, CSV and a signatureAccount, Privacy and dataNeeds a fresh second factor. The export covers principal, profile, notification preferences, emails, credential metadata, linked accounts, devices, sessions, active consents, memberships and your own audit events. Each list is capped and a "truncated" section says which. Downloadable 7 days; sealed with a per-file key while stored
CorrectionEdit display name, username, bio, locale, time zone, profile picture and email addresses; make an address primary, verify it, remove itAccount, ProfileChanging the primary address needs a fresh second factor; the old address is emailed a 24-hour link that reverts the change
DeletionDeactivate the account, then personal data is erased after 30 daysAccount, Privacy and dataA typed phrase and a fresh second factor are required; you cannot reactivate it yourself. Erasure is not total, as set out above
Withdraw consent or object to an applicationReview and revoke a connected third-party applicationAccount, Connected appsRevoking ends the consent and the tokens for that application
Objection to marketingTurn off product updates and marketing emailAccount, NotificationsMarketing is off by default and nothing sends it today
Control of sessions and devicesReview and revoke sessions, sign out everywhere, trust or remove devicesAccount, Sessions
Visibility of eventsSee your own security events for the last 90 daysAccount, Activity
Personal access tokensList, create, rename and revokeAccount, Access tokensStep-up required to create or revoke
OrganizationsSee memberships and leave an organizationAccount, Organizations
PortabilityThe JSON and CSV exportAccount, Privacy and dataMachine-readable; the signature lets you verify the file offline
RestrictionNo self-service control. Deactivate the account, or write to the contact addressNot a built feature
ComplaintThe repository names no complaint channel beyond the contact address and does not state a regulator processNot described, so not claimed

Children

TDACorp Identity is not designed for children. No date of birth is collected, and the repository documents no age check and no parental consent flow. If you believe a child has registered, contact security@tdacorp.in. The platform specification tracks the children's-data provisions of the 2023 Act as not expected to apply to an enterprise identity service; that is a design note, not a legal conclusion.

Security of data

The security practices page is the full account. In summary:

MeasureDetail
PasswordsArgon2id at 64 MiB, 3 passes and 4 lanes
Secrets that must be recoverableSealed with AES-256-GCM under purpose-specific data keys
Session, token and code secretsStored as digests
TransportHTTPS with HSTS (two years); application cookies are Secure and host-locked
AccessRow-level security on organization data; a fenced platform role with an audit row for every use
LoggingA closed list of non-personal fields; no credentials, cookies or raw addresses
Keys in pre-productionA software provider rather than a cloud KMS; database plus master key could open sealed secrets, as the security page states
Breach handlingAn incident runbook with notification steps; no certified process

No system is unbreakable, and this page does not claim one is.

Automated decision making

At the end of every sign-in a risk engine assesses the attempt and decides to allow it, to ask for a stronger factor, or to refuse it. It is a rule-based score, not a machine-learning model.

ItemDetail
InputsSignals about the sign-in attempt, such as whether the browser is familiar, where it comes from and how it compares with recent attempts
OutcomesA sign-in is allowed, asked for a stronger factor, or refused
Effect on youA sign-in can be refused or made to ask for more proof. It does not set prices, rank you or affect anything outside signing in
RecordThe score and signals are stored with the sign-in transaction and audited
Human reviewThere is no formal appeal process described in the repository. If a sign-in is refused wrongly, use recovery or write to the contact address
Pending owner decisionWhether an account with no second factor is admitted and alerted, rather than refused, on an unrecognised browser; staging currently admits and alerts

Changes to this policy

This policy is revised as the product changes, not on a fixed schedule. The date at the top of every trust page, "Last reviewed", is updated when the text is reconciled against the code, and the figures on the pages are pinned to the code by tests so they cannot silently drift. The repository states no commitment to notify you individually of a change, so none is made here.

Contact

Email security@tdacorp.in. The same address is published in the machine-readable security.txt file. No postal address, telephone number or named officer is stated here because none is recorded in the repository.

What this page does not claim

  • This is not legal advice, and not a substitute for it.
  • TDACorp holds no privacy or security certification (no SOC 2, no ISO 27001) and offers no uptime guarantee.
  • The primary database is not in India during pre-production; the placement the specification calls for was waived by the owner for this period and is to be revisited before launch. The database is in AWS US East 1 (N. Virginia).
  • It does not cover a product built on this platform beyond authentication and permissions: that product is responsible for its own data and its own notice.
  • It does not cover tdacorp.in, whose privacy policy is a separate document.
  • Erasure is not total: a past session's user-agent hash, the address an invitation was sent to, device rows and audit events keyed by an account identifier remain, as set out above. Whether to change that is an open owner decision.
  • Audit records are currently retained without automatic pruning.
  • Background jobs, including exports and erasure, can run up to about a day late on the current hosting plan.
  • The retention of application logs held by the hosting provider is that provider's and can change with its plan; this page does not guarantee it.
  • No data protection officer, grievance officer or Indian representative is named, no response time to a rights request is promised, and no complaint procedure is described.
  • No statement is made that any particular statute does or does not apply beyond the documentation already in the repository.
  • No transfer safeguard, standard contractual clause or adequacy finding is claimed for any vendor.
  • The platform does not guarantee that a vendor on the subprocessor page handles your data as this page does; the vendors' own terms govern them.