

| ℹ️ Key compliance references: | •Section 5 read with Rule 3— Notice before consent | •Section 6 — Consent mechanics | •Section 9 — Minor data principals | •Section 13 — Data Principal rights | •Section 16 — Cross-border / NRI data transfer |
2. System Requirements
| Operating System | Windows 10 / 11 (64-bit recommended) |
| Python Version | Python 3.8 or higher |
| Required Libraries | tkinter (bundled with Python), openpyxl (auto-installed on first Excel import) |
| Internet Connection | Required for Email (SMTP) dispatch and WhatsApp (web.whatsapp.com) |
| Gmail Account | An App Password is required if using Gmail SMTP (standard password will not work) |
| Disk Space | Minimal — client and log data are stored in ~/DPDP_Tool_Data/ |
3. Installation & First Launch
3.1 Running the Application
DPDP Kavach is distributed as a single .pyw file (DPDP_Kavach.pyw). No installer is required.
- Ensure Python 3.8+ is installed on your Windows PC.
- Double-click DPDP_Kavach.pyw to launch the application (no console window will appear).
- On first launch, a data folder is automatically created at: C:\Users\<YourName>\DPDP_Tool_Data\
- Go to the Settings tab and fill in your CA details before anything else.
3.2 Gmail App Password Setup
If you intend to send notices via email using a Gmail account, you must generate an App Password:
- Log in to your Google Account and go to Security settings.
- Enable 2-Step Verification if not already active.
- Navigate to Security → App Passwords, and generate a new password for “Mail”.
- Copy the 16-character App Password and paste it into the App Password field in the Settings tab of DPDP Kavach.
4. Feature Guide — Tab by Tab
Tab 1 —⚙ Settings
| 📋 | CA Details | Enter your name, email address, phone number, and optional website. These appear on every notice as the Data Fiduciary identity. |
| 📧 | SMTP Email Settings | Configure your outgoing mail server. Default values are set for Gmail (smtp.gmail.com, port 587). Paste your App Password here. |
| 🔌 | Test Email Connection | Click this button to verify your SMTP credentials before sending real notices. A success or error message will appear immediately. |
| 📂 | Data Storage | Your settings and client database are stored locally in ~/DPDP_Tool_Data/. No data is sent to the cloud. |
Tab 2 — 👥 Client Management
This tab is your central address book. Every client you add here becomes available in the Send Notices tab.
Adding Clients Manually
- Click Add Client to open the client entry dialog.
- Required fields: Name, Email, Phone (10-digit Indian mobile number).
- Set Minor to Y if the data principal is below 18 years old. A Parent Email field then becomes mandatory.
- Set NRI to Y if the client is a Non-Resident Indian. Section 16 cross-border transfer disclosures will be appended automatically.
Importing Clients from Excel or CSV
You can bulk-import clients by clicking Import from Excel / CSV. The expected column order is:
| Column A | Client Name (required) |
| Column B | Client Email (required) |
| Column C | Mobile Number (10 digits) |
| Column D | Minor (Y / N or TRUE / FALSE) |
| Column E | NRI (Y / N or TRUE / FALSE) |
| Column F | Parent Email (required if Minor = Y) |
| Column G | Parent Mobile Number |
| ⚠️ Note on Excel Minor / NRI columns: | The tool correctly handles booleans, integers, and text from Excel. | Values TRUE, 1, Y, YES, YES (any case) are all treated as Y. | Values FALSE, 0, N, NO, or a blank cell are all treated as N. |
Editing & Deleting Clients
- Double-click any row or select it and click Edit Client to modify details.
- Select one or more rows and click Delete Client to remove them (with confirmation).
Tab 3 — 📤 Send Notices
This is the core operational tab. Select one or more clients, choose a document type and channel, then dispatch notices individually or in bulk.
Step-by-Step: Sending a Notice
- Select clients — tick the checkboxes next to the clients you want to notify. Use Select All for bulk sends.
- Choose Document Type — IT (Income Tax), GST, or Both.
- Choose Channel — Email or WhatsApp.
- Choose Language — English or Hindi (for WhatsApp notices).
- Preview — click Preview Notice to review the generated text before sending.
- Send — click Send Notice(s). Each dispatch is logged automatically in the Consent Log.
| Document Type | Documents Covered |
| IT | Salary Slips, Form 26AS, AIS, TIS, Bank Statement, Demat P&L, P&L Statement, Balance Sheet, Capital Gain Reports |
| GST | Purchase Register, Sales Register, Invoices, GSTR 2A, Bank Statement, E-Way Bills, Common Credit Register |
| Both | All IT documents plus all GST documents in a single combined notice |
Tab 4 — 👁 Notice Preview
Before dispatching, use this tab to read the full formatted notice text. You can save any preview to a .txt file using the Save Notice button. This is useful for record-keeping or manual delivery.
Tab 5 — 📜 Consent Log
Every notice sent by the tool is automatically timestamped and recorded here. The log forms the audit trail required under the DPDP Act. Each entry captures:
- Date and time of dispatch
- Client name
- Channel used (Email or WhatsApp)
- Target address or phone number
- Document type (IT / GST / Both)
- Delivery status
- Whether the client is a Minor and/or NRI
Log Actions
| 🔄 Refresh | Reload the log from disk to see the latest entries. |
| 📋 Export Log | Save the entire log as a CSV file for archiving or sharing. |
| 🗑 Delete Selected Entries | Remove one or more specific entries (select rows first). Right-click also works. |
| 🗑 Clear All Log | Permanently delete all log entries. Requires confirmation. |
5. Notice Types Generated
5.1 Standard Notice (English or Hindi)
A formal, multi-section notice sent via email. Includes the full Data Fiduciary identity, itemised list of personal data, specified purpose, Data Processor disclosure (Claude/Anthropic), consent validity period, and a complete enumeration of Data Principal rights.
5.2 WhatsApp Notice (English or Hindi)
A concise, emoji-formatted notice designed for WhatsApp. Covers all mandatory elements of Section 5 and Rule 3, but in a mobile-friendly layout. Opens in web.whatsapp.com pre-filled with the message text.
5.3 Minor Notice (Section 9)
When a client is flagged as a Minor, the notice is automatically addressed to the parent or lawful guardian. A prominent disclosure is inserted stating that verifiable parental consent is required under Section 9 before any data of the minor can be processed.
5.4 NRI Notice (Section 16)
When a client is flagged as an NRI, a dedicated Section 16 block is appended to both email and WhatsApp notices. This block covers:
- Cross-border data transfer disclosure
- Applicable Government restrictions and compliance undertaking
- Safeguards in place for international transfers
- Confirmation that all Data Principal rights remain enforceable
- Request for the client’s current country of residence
6. Data Storage & Privacy
| Storage location | All data is stored locally on your PC at: C:\Users\<Name>\DPDP_Tool_Data\ |
| dpdp_tool_config.json | Your CA profile and SMTP settings |
| dpdp_clients.json | Your client database |
| dpdp_notice_log.json | The full consent audit log |
| No cloud sync | No data is transmitted to any server by the tool itself |
| SMTP credentials | Stored locally in plain JSON. Keep the config file secure. |
| Security tip: The SMTP App Password is stored in dpdp_tool_config.json in plain text. | Ensure only authorised users have read access to the DPDP_Tool_Data folder. | Restrict folder permissions via Windows File Explorer → Properties → Security. |
7. Troubleshooting
| Issue | Solution |
| Email connection fails | Verify that 2FA is enabled on your Google account and that you are using a 16-character App Password, not your regular password. |
| Excel import fails | The tool will attempt to auto-install openpyxl. If it fails, run: pip install openpyxl from a command prompt, then retry. |
| Minor column reads incorrectly | Ensure the Minor / NRI columns contain Y, N, TRUE, FALSE, 1, or 0. Formatted text like “yes” (with spaces) is also accepted. |
| WhatsApp does not open | Check that your default browser is set and that web.whatsapp.com is accessible. You must be logged in to WhatsApp Web. |
| Application does not launch | Right-click DPDP_Kavach.pyw and select “Edit with IDLE”, then press F5 to run. The console will display any Python errors. |
| Phone number rejected | Enter a 10-digit Indian mobile number (e.g. 9876543210) or include the country code +91 prefix. Spaces and hyphens are stripped automatically. |
8. Version History
| v1.2 (Current) | NRI column added to Send Notices tab. Section 16 NRI-specific notice generation added. Individual log entry deletion. Edit Client feature (double-click or Edit button). Excel Minor/NRI column now correctly reads Y/N from bool/int/str. |
| v1.1 | Hindi language support for WhatsApp notices. Minor (Section 9) notice generation. Bulk import from Excel and CSV. |
| v1.0 | Initial release. Email and WhatsApp notice dispatch. Client management. Consent log with CSV export. |
9. Legal Disclaimer
| This tool is designed to assist Chartered Accountants in operationalising notice and consent workflows | under the Digital Personal Data Protection Act, 2023. It does not constitute legal advice. CAs remain | responsible for ensuring that all notices are appropriate to their specific practice and client | circumstances. The notices generated are templates that may need to be reviewed or adapted in | consultation with a data protection or legal professional where necessary. |
| The Data Processor disclosed in notices (Claude / Anthropic) is referenced as an example AI tool. | Update the Data Processor section if a different tool is used in your practice. |
| DPDP Kavach for CAs |Version 1.2 | Compliant with Digital Personal Data Protection Act, 2023 & Rules |