DRAFT — pending legal review. This text has not yet been reviewed by a lawyer and may change.

elrahl Ship — Privacy Policy

Last updated: 2026-10-13

elrahl Ship ("the app", "we", "us") is a Shopify app operated by elrahl.tech. It confirms cash-on-delivery (COD) orders with customers over WhatsApp, sends shipping updates, and asks customers to verify courier claims such as "postponed" or "customer refused".

This policy explains what data the app processes on behalf of Shopify merchants ("merchants") and their customers, why, for how long, and what rights people have. For the customer data it processes, elrahl.tech acts as a processor (service provider) for the merchant; the merchant is the controller.

1. Data we receive from Shopify

When a merchant installs the app, Shopify sends us order and fulfillment events for that store. We store only what the service needs:

  • Store information: shop domain, store name, currency, time zone, language, plan and subscription status.
  • Order information: Shopify order ID, order name/number, creation date, order total and currency, payment gateway names (used to detect COD orders), tracking numbers and shipping company names from fulfillments, confirmation status.
  • Customer information: the customer's first name and phone number, and the Shopify customer ID (used to answer data requests and redaction requests).
  • Shopify Protected Customer Data (level 2): the app requests access to customer name, phone and address fields because Shopify places the phone number inside these fields. We read them only to find a phone number and a first name. We do not store last names, addresses or email addresses.

2. WhatsApp messages

To confirm orders and send shipping updates, the app sends WhatsApp messages to the customer's phone number and receives their replies (button taps, list choices and free-text replies) so the merchant can see them in the app's inbox.

We store the content of messages we send and receive, their delivery status (sent, delivered, read, failed), timestamps and the phone numbers involved. Messages are sent through Meta's WhatsApp Business Platform (WhatsApp Cloud API). Merchants may use our shared trial number, which runs on our own WhatsApp Business account, or connect their own WhatsApp Business number.

When a merchant connects their own number with their own Meta credentials, messages are sent through the merchant's own WhatsApp Business account, and Meta processes them under the merchant's own agreement with Meta. For that connection we store the number's Meta identifiers (phone number ID and WhatsApp Business account ID) and the merchant's access token, app secret and webhook verify token. The token, app secret and verify token are encrypted, and are deleted when the merchant disconnects the number or the store's data is deleted.

If a customer opts out of a store's messages (see section 9), we keep a record of that opt-out for that store and phone number so that no further messages are sent.

3. Shipping company (carrier) data

If a merchant connects a shipping company (for example Bosta, J&T Express, Mylerz or Aramex), we receive shipment status updates from that company by webhook or by polling its API with credentials the merchant provides. These updates may include tracking number, order reference, status, courier name or ID, timestamps and sometimes the customer's phone number.

We store the normalized shipment status history. The raw payload from the carrier is stored encrypted and deleted after 30 days. Carrier API credentials are stored encrypted.

4. Why we use the data (purposes)

  • Confirming COD orders with the customer (confirm, cancel or request an edit) and sending reminders.
  • Sending order and shipping updates (out for delivery, delivered) chosen by the merchant.
  • Asking the customer whether a courier's claim (postponed, refused, unreachable) is true, and alerting the merchant when it is not.
  • Showing the merchant an inbox, alerts and reports (confirmation rates, carrier performance, estimated money saved).
  • Billing through Shopify, enforcing plan limits, preventing abuse of the free trial and protecting the quality rating of the shared WhatsApp number.
  • Security, troubleshooting and meeting legal obligations.

We do not sell personal data, use it for advertising, build marketing profiles, or send marketing messages.

5. Legal basis

We process customer data on the merchant's instructions to perform the merchant's contract with the customer (delivering the order the customer placed) and on the merchant's legitimate interest in reducing failed deliveries and courier fraud. Merchants are responsible for having a valid basis, including any consent required, to contact their customers on WhatsApp about their orders.

We process merchant data to provide the service under our Terms of Service and for our legitimate interests in security and preventing abuse. To prevent abuse of the free trial (repeated uninstall and reinstall), we keep a minimal install history for each shop — only the shop domain, install and uninstall counts and the first and last install dates, with no customer data — and this record is kept after a store's other data is deleted. Where a law such as Egypt's Personal Data Protection Law (Law No. 151 of 2020) or the GDPR applies, we process data in line with it.

6. Retention and deletion

  • Raw webhook and carrier payloads (which can contain personal data) are stored encrypted and deleted after 30 days (RAW_PAYLOAD_RETENTION_DAYS = 30), whether or not they were processed successfully.
  • Data exports prepared for customer access requests are stored encrypted and deleted after 30 days.
  • When a merchant uninstalls the app, all processing stops immediately: the app's access tokens for the store are deleted, no messages are sent, reminders stop and shipping updates from carriers are ignored. Shopify sends a shop/redact request 48 hours after uninstall, and we then delete all data for that store (orders, customers, messages, shipments, disputes, carrier connections, settings). Only the minimal install history described in section 5 is kept.
  • When a customer asks the merchant to delete their data, Shopify sends us a customers/redact request and we erase that customer's phone number, name, message contents, the raw carrier and webhook payloads that relate to them, and any earlier data export prepared for them, keeping only anonymous counters.
  • Encrypted database backups are kept for up to 14 days and then deleted.
  • Otherwise, order and message records are kept while the merchant uses the app so the inbox and reports work.

7. Security

  • All traffic uses TLS (HTTPS). Webhooks from Shopify, Meta (WhatsApp), YCloud where used, and carriers are authenticated (signatures or secret tokens).
  • Sensitive data at rest — raw payloads, carrier credentials, merchants' WhatsApp (Meta) access tokens and app secrets, and data-request exports — is encrypted with AES-256-GCM. Database backups are encrypted with AES-256 and readable only by the server's administrator account.
  • Access to production systems is limited to authorized elrahl.tech staff. Logs contain IDs only, not phone numbers or message contents.
  • Each merchant can only see data for their own store.

8. Sub-processors

We share data only with the service providers needed to run the app:

  • Shopify Inc. — the e-commerce platform the merchant uses; source of order data and billing.
  • Meta Platforms (WhatsApp Business Platform / WhatsApp Cloud API) — delivers WhatsApp messages to customers and returns their replies. For a merchant's own number connected with the merchant's own Meta credentials, Meta acts under the merchant's own agreement with Meta.
  • YCloud — WhatsApp Business Solution Provider, used only for numbers that merchants connect through our hosted Embedded Signup option, where that option is offered.
  • Hostinger — hosting provider of the virtual private server (VPS) that runs the app and its database.
  • Shipping companies connected by the merchant — they already hold the shipment data; we only receive status updates from them.

9. Customer rights and data requests

Customers can ask to access, correct or delete their personal data, or object to receiving WhatsApp order messages. Because the merchant controls the data, customers should contact the store they ordered from. Merchants handle these requests through Shopify: Shopify forwards customers/data_request and customers/redact requests to us automatically. We compile a data export for access requests (available to the merchant in the app) and erase the customer's data for deletion requests.

A customer can stop a store's WhatsApp messages at any time by sending STOP (or «إيقاف», «توقف» or «إلغاء الاشتراك») to the number the messages came from. The store then sends no further messages to that phone number, and the customer receives one confirmation. Sending START (or «تشغيل») turns the messages back on. On our shared trial number, which several stores may use, a STOP that is not a reply to a specific store's message stops the messages of every store that recently messaged the customer from that number. A customer can also block the number in WhatsApp. If you cannot reach the store, you can contact us and we will forward your request to the merchant.

10. International transfers

Our servers may be located outside Egypt, and our sub-processors (Shopify, Meta and, where used, YCloud) process data in other countries. We rely on their contractual and security commitments for these transfers.

11. Changes

We will update this page when our practices change and change the "last updated" date. Material changes will be announced to merchants in the app.

12. Contact

elrahl.tech — support@elrahl.tech — https://elrahl.tech