How Geopits Anonymized PAN & GST Data Without Duplicating a Single Table
Zero
Zero
3-Step
2
About
Arya.ag
The client is one of India's largest agricultural commerce platforms, connecting farmers, farmer producer organisations, financial institutions, SME agri processors, and corporate agribusinesses through a network of commodity storage points across the country. Sensitive customer identifiers such as PAN and GST are stored in a GCP-managed PostgreSQL database and must be protected as per RBI guidelines, while application and TechOps users still require access to the original values for business operations.
Business Challenges
Protecting regulated customer identifiers had to happen without disrupting live application traffic or the daily reporting and audit workflows already built on top of the database.
PAN and GST are regulated identifiers under RBI guidelines and must not be visible to users outside a defined operational role.
Application services and TechOps needed real values for business operations; IAM, reporting, and audit users only need to know a value existed, not what it was.
Maintaining a separately masked copy of the data would increase storage overhead, maintenance effort, and the risk of inconsistent or leaked sensitive data.
Enforcing this at the application layer, or duplicating the table, could not be allowed to slow down or break application and TechOps access.
Project Objectives
Geopits was brought in to anonymize PAN and GST dynamically at query time based on user role, ensuring regulatory compliance without impacting application behavior or data integrity.
Key Goals:
- Anonymize PAN and GST dynamically at query time, based on the requesting user's role.
- Keep the original values exactly as they were in the database, with no permanent masking or duplication.
- Ensure application and TechOps access could not slow down or break as a result of the change.
- Work inside the existing GCP-managed PostgreSQL setup, without new infrastructure.
Solution Provided by Geopits
Geopits implemented a database-native, role-based, query-time anonymization layer using PostgreSQL's native view architecture and anon masking rules.
Structured permissions around two distinct database roles, TechOps and Non-TechOps, to enforce requirements seamlessly at the database layer.
Built a TechOps view mapping directly to the base table, and a Non-TechOps view integrating anon masking logic to automatically obfuscate sensitive strings.
Enabled the open-source anon PostgreSQL extension on the Cloud SQL instance and initialized its default masking functions and schema.
Declared column-level masking rules for PAN and GST, then constructed the TechOps and Non-TechOps view layer directly above the base table t1001_atms.tbl_entity.

Key outcomes
Zero-storage data obfuscation
Elimination of data replication
Centralized engine-level enforcement
Strict regulatory alignment
Uninterrupted operational workflows
Conclusion
Geopits implemented a dynamic, role-based anonymization architecture for PAN and GST data inside the client's GCP-managed PostgreSQL environment, enforcing RBI-aligned data protection at query time, without altering, duplicating, or replicating a single row of source data, and without disrupting application or TechOps workflows.
Ready to Transform Your Data?
Geopits works alongside your team as a strategic partner, starting with stabilizing your current databases, then modernizing your data infrastructure, and ultimately helping you unlock the full potential of AI.
Happy Clients so far
Databases Managed
Successful Migrations
