What actually protects the data in a Tephlo workspace, described so a non-specialist can follow it and a specialist can check it — including the things we do not claim.
The short version: workspaces cannot see each other; sign-in uses short-lived tokens and supports multi-factor authentication; secrets and credentials are encrypted; sensitive values are stripped out of logs; administrative actions are recorded in trails that cannot be quietly edited; supported customer documents are scanned before parsing; and customer erasure removes the records it covers.
Two registrations stand behind the service, and they are held in two different names. Tephlo is the product; neither certificate carries that word. What follows is what the certificates say, no more, and where each record can be looked up.
TEPHLO AI VANGUARD SYSTEMS LTDCertificate of incorporation of a private company limited by shares, issued by the Corporate Affairs Commission of Nigeria under the Companies and Allied Matters Act 2020. Reference RC 9893569, 28 September 2026.
What it establishes: That the company exists as a Nigerian private company limited by shares, with this registration number, from this date.
How to verify it: Corporate Affairs Commission of Nigeria — Search the Commission's public register by company name or RC number.
TEPHLO AI ENTERPRISESRegistration as a data controller / processor of major importance, issued by the Nigeria Data Protection Commission under the Section 44 of the Nigeria Data Protection Act 2023. Reference NDPC/DCP/15068, 28 September 2026 to 28 September 2027.
What it establishes: That the registration the Act requires of a data controller or processor of major importance has been filed and accepted for the period shown. It is not an audit of how data is handled.
How to verify it: Nigeria Data Protection Commission — The Commission publishes its register of registered controllers and processors; quote the registration ID.
The data-protection registration is held in the name TEPHLO AI ENTERPRISES, the registered business name (Corporate Affairs Commission business-name registration 9805539, 26 August 2026) under which the service was first offered. The company that contracts with customers under the Terms of Service is TEPHLO AI VANGUARD SYSTEMS LTD, incorporated on 28 September 2026.
Workspace data is scoped to its owning workspace. Authenticated routes check the caller’s permissions, and channel and API routes bind requests to their authorised configuration. Supplying an identifier does not itself grant access to the records it names. Platform-wide configuration and audit records have separate operator controls.
A conversation is keyed by the workspace, the channel, the business identity that received the message and the customer — so the same person reaching two businesses, or reaching one business through two numbers, produces separate conversations that never merge.
Where several businesses share one platform number, which business a conversation belongs to is recorded using a salted one-way hash of the customer’s identifier rather than the identifier itself.
In transit: everything runs over HTTPS. The production configuration refuses to start if a provider endpoint is not HTTPS, if the connection to the cache is not encrypted, or if a managed database connection is downgraded to plaintext — a misconfiguration fails loudly instead of quietly running unencrypted.
At rest: the managed database and object storage apply their providers’ own encryption at rest, which is their commitment rather than ours to guarantee. On top of that the platform encrypts specific things itself, so that a copy of the database alone does not hand over credentials:
Encryption keys are held in the deployment’s secret manager, and the channel key supports rotation: a new key becomes the encrypting key while the old one remains decrypt-only until everything has been re-encrypted.
Inbound WhatsApp webhooks are verified with a cryptographic signature over the original request body, checked against the secret of the channel that owns the number. A forged webhook does not reach the pipeline.
Channel activation depends on the readiness checks for that channel. Health and credential failures can block delivery or disable an affected connection. The exact response depends on channel ownership and failure type; one workspace’s send failure does not automatically disable a platform-shared channel.
Logs are for diagnosing faults, and they are one of the easiest places for personal data to leak. Email addresses, phone numbers, URLs, bearer tokens, signatures and stack traces are redacted at the logging boundary, so a value has to survive that filter to be recorded.
Operational analytics store categories and counts — how a conversation turn ended, how long a reply took, how many tokens it used — with no message content. Some records carry a conversation reference and are removed with that conversation. Where the platform needs to recognise a repeated question, it uses a hash of the normalised request rather than the text.
Actions that change security-relevant state are recorded with who did it, what they touched and the reason they gave: channel credential changes, routing changes, platform configuration, privacy exports and deletions, media operations, and workspace or account deletion.
Two of these trails are append-only at the database level: an attempt to modify or remove a row is rejected by the database itself, not merely by the application. Audit rows never carry message content, and privacy audit rows identify the person by a salted hash rather than by their phone number or user id — so the record that something was erased does not recreate what was erased.
Reading an untrusted file is one of the riskiest things a system can do, so the order of operations matters:
The assistant is treated as a component that can be wrong or manipulated, and the guardrails around it are ordinary code rather than instructions to the model:
Temporary state and retained records have different lifecycles. Read-time expiry stops expired memory being used. Retention workers can remove expired facts, inactive conversations the assistant handled, delivery records and duplicate-delivery protection records. Physical deletion depends on the relevant worker being enabled and running. Customer document processing attempts to remove raw files after text extraction by default; cleanup failures can require a later retry.
A workspace administrator can export or erase one customer’s data. The erasure is serialised with message processing, so work accepted just before it either completes and is removed, or is suppressed afterwards — a reply cannot arrive after someone asked to be forgotten. The Privacy Policy lists exactly what it covers, including remembered facts, care cases, Smart Updates records, saved carts, potential-order requests and appointments. Operational records erased with those aggregates are not all separately exported.
Deleting a whole workspace removes everything it owns in a single transaction — either all of it goes or none of it does — and the files in object storage are scheduled for cleanup in that transaction. Removal requires the cleanup worker and storage provider to succeed; committing the request is not proof that every remote object has already gone. Platform audit records survive by design, and carry no message content.
The repository provides an encrypted database-backup procedure and retention settings. The active backup schedule, storage location and key management must be confirmed for the deployment; the presence of those scripts alone does not prove backups are running.
Restoring has a documented procedure and integrity checklist. A test restore into a disposable database does not establish recovery times for a production deployment. Operators must also reapply relevant erasures when restoring older data.
Because backups are not edited individually, data you delete leaves them as they age out and are pruned, not at the moment of deletion.
The product documentation describes how these appear in the console.
If you find a vulnerability, tell us at [SECURITY CONTACT] or hello@tephlo.com. Include enough detail to reproduce it, and please do not access, modify or retain anyone else’s data while investigating.
General questions about this document go to hello@tephlo.com. Questions about personal data, including requests from individuals, should go to the data protection contact at [DATA PROTECTION CONTACT]; until that address is published, the general address above reaches the same team. A request about your own data — access, erasure, correction, objection or a complaint — can also be sent through the privacy request form, which puts it in front of the team as a tracked request rather than a message in a mailbox.
Postal address: [REGISTERED COMPANY NAME], [REGISTERED ADDRESS].