Data Retention Policies and Automation: Keep What You Need, Delete What You Must

Build data retention policies with legal requirements, retention schedules, automated enforcement, and compliance verification for GDPR, SOX, and HIPAA.

E
ECOSIRE Research and Development Team
|16 मार्च 20268 मिनट पढ़ें1.7k शब्द|

हमारी Compliance & Regulation श्रृंखला का हिस्सा

पूरी गाइड पढ़ें

डेटा प्रतिधारण नीतियां और स्वचालन: जो आपको चाहिए उसे रखें, जो आपको चाहिए उसे हटा दें

कंपनियां कानूनी रूप से आवश्यकता से औसतन 33% अधिक डेटा रखती हैं, जिससे भंडारण लागत और उल्लंघन जोखिम दोनों बढ़ जाते हैं। डेटा प्रतिधारण वह जगह है जहां कानूनी अनुपालन, लागत अनुकूलन और सुरक्षा अभिसरण होती है। बहुत अधिक बनाए रखें और आप अपनी आक्रमण सतह बढ़ा दें। बहुत कम रखें और आप कानूनी होल्ड आवश्यकताओं का उल्लंघन करते हैं।

यह मार्गदर्शिका प्रतिधारण नीति डिज़ाइन, डेटा प्रकार द्वारा कानूनी आवश्यकताओं और स्वचालित प्रवर्तन को कवर करती है जो आपके संगठन को मैन्युअल हस्तक्षेप के बिना अनुपालन में रखती है।

मुख्य बातें

  • प्रतिधारण अवधि कानूनी आवश्यकताओं, व्यावसायिक आवश्यकताओं और गोपनीयता दायित्वों के प्रतिच्छेदन द्वारा निर्धारित की जाती है
  • स्वचालित प्रवर्तन आवश्यक है --- मैन्युअल विलोपन प्रक्रियाओं में 40% विफलता दर होती है
  • एक ही सिस्टम के भीतर अलग-अलग डेटा प्रकारों की अलग-अलग अवधारण अवधि हो सकती है
  • जब मुकदमेबाजी की आशंका हो तो कानूनी रोक को मानक प्रतिधारण नीतियों से आगे निकलना चाहिए

विनियमन द्वारा प्रतिधारण अवधि आवश्यकताएँ

न्यूनतम प्रतिधारण आवश्यकताएँ

| डेटा प्रकार | जीडीपीआर | एसओएक्स (यूएसए) | कर कानून (भिन्न होता है) | हिपा | उद्योग मानक | |----|------|----|---|----|----|----| | वित्तीय रिकॉर्ड | कोई न्यूनतम (उद्देश्य सीमा) नहीं | 7 वर्ष | 3-10 वर्ष (देश के अनुसार) | एन/ए | 7 वर्ष | | कर्मचारी रिकार्ड | रोजगार की अवधि + 2-6 वर्ष | एन/ए | समाप्ति के बाद 3-7 वर्ष | एन/ए | समाप्ति के 7 वर्ष बाद | | ग्राहक पीआईआई | जब तक प्रयोजन हेतु आवश्यक हो | एन/ए | एन/ए | एन/ए | रिश्ता ख़त्म होने पर हटा दें + 2 साल | | स्वास्थ्य रिकॉर्ड | एन/ए | एन/ए | एन/ए | सृजन/अंतिम प्रभावी तिथि से 6 वर्ष | राज्य के अनुसार भिन्न होता है (30 वर्ष तक) | | कर दस्तावेज़ | एन/ए | 7 वर्ष | 3-10 वर्ष (देश के अनुसार) | एन/ए | 7 वर्ष | | अनुबंध | एन/ए | अवधि + 7 वर्ष | एन/ए | एन/ए | अवधि + 6 वर्ष (सीमाओं का क़ानून) | | भर्ती डेटा | अधिकतम 6 माह (सर्वोत्तम अभ्यास) | एन/ए | एन/ए | एन/ए | 6-24 महीने | | समर्थन टिकट | जब तक आवश्यक हो | एन/ए | एन/ए | एन/ए | बंद होने के 3 साल बाद | | ऑडिट लॉग | जब तक आवश्यक हो | 7 वर्ष | एन/ए | 6 वर्ष | 7 वर्ष | | विपणन सहमति | सहमति की अवधि | एन/ए | एन/ए | एन/ए | वापस लेने तक + 2 वर्ष |

देश-विशिष्ट कर प्रतिधारण

देशअवधारण अवधिनोट्स
संयुक्त राज्य अमेरिका3-7 वर्षआईआरएस: सामान्यतः 3 वर्ष, धोखाधड़ी के लिए 7 वर्ष
यूनाइटेड किंगडम6 वर्षएचएमआरसी आवश्यकता
जर्मनी10 वर्षयूरोपीय संघ में सबसे सख्त
फ़्रांस6 वर्ष (कुछ के लिए 10)कोड डी कॉमर्स
नीदरलैंड7 वर्षराजकोषीय लाभ
ऑस्ट्रेलिया5 वर्षएटीओ आवश्यकता
कनाडा6 वर्षसीआरए आवश्यकता
भारत8 वर्षआयकर अधिनियम
संयुक्त अरब अमीरात5 वर्षसंघीय कर प्राधिकरण

एक रिटेंशन शेड्यूल डिज़ाइन करना

चरण 1: इन्वेंटरी डेटा श्रेणियाँ

श्रेणीसिस्टममालिकडेटा उदाहरण
ग्राहक डेटासीआरएम, ईकॉमर्स, सपोर्टबिक्रीनाम, ईमेल, ऑर्डर इतिहास
कर्मचारी डेटाएचआरआईएस, पेरोल, लाभएचआरएसएसएन, वेतन, प्रदर्शन समीक्षा
वित्तीय डेटालेखांकन, ईआरपी, बैंकिंगवित्तचालान, रसीदें, टैक्स फाइलिंग
मार्केटिंग डेटाईमेल प्लेटफ़ॉर्म, एनालिटिक्सविपणनअभियान डेटा, सहमति रिकॉर्ड
उत्पाद डेटाईआरपी, ईकॉमर्ससंचालनउत्पाद विशिष्टताएँ, मूल्य निर्धारण, सूची
परिचालन लॉगएप्लिकेशन सर्वर, डेटाबेसआईटीएक्सेस लॉग, त्रुटि लॉग, ऑडिट ट्रेल्स

चरण 2: अवधारण अवधि निर्दिष्ट करें

प्रत्येक श्रेणी के लिए, इस पदानुक्रम का उपयोग करके अवधारण अवधि निर्धारित करें:

  1. कानूनी न्यूनतम: कानून के अनुसार आपको क्या रखना आवश्यक है?
  2. कानूनी अधिकतम: कानून के अनुसार आपसे क्या हटाना आवश्यक है? (जीडीपीआर उद्देश्य सीमा)
  3. व्यावसायिक आवश्यकता: आपको वास्तव में इसकी आवश्यकता कब तक है?
  4. जोखिम सहनशीलता: इसे रखने बनाम हटाने की लागत क्या है?

अवधारण अवधि है: अधिकतम (कानूनी न्यूनतम, व्यावसायिक आवश्यकता) लेकिन कानूनी अधिकतम से अधिक नहीं (यदि लागू हो)।

चरण 3: निपटान कार्रवाइयों को परिभाषित करें

| क्रिया | विवरण | कब उपयोग करें | |-------|---|---|---|--------| | हटाएं | सभी प्रतियाँ स्थायी रूप से हटा दें | समाप्त हो चुके डेटा के लिए डिफ़ॉल्ट | | गुमनाम करें | पहचानने वाले तत्वों को हटाएं, समुच्चय रखें | विश्लेषिकी, अनुसंधान | | पुरालेख | प्रतिबंधित, एन्क्रिप्टेड स्टोरेज पर जाएँ | कानूनी पकड़, अनुपालन पुरालेख | | समुच्चय | व्यक्तिगत रिकॉर्ड को सारांश से बदलें | वित्तीय रिपोर्टिंग |


स्वचालित अवधारण प्रवर्तन

पोस्टग्रेएसक्यूएल कार्यान्वयन

-- Retention policy table
CREATE TABLE retention_policies (
    id UUID DEFAULT gen_random_uuid() PRIMARY KEY,
    table_name VARCHAR(100) NOT NULL,
    date_column VARCHAR(100) NOT NULL,
    retention_days INTEGER NOT NULL,
    action VARCHAR(20) NOT NULL, -- 'DELETE', 'ANONYMIZE', 'ARCHIVE'
    condition TEXT, -- Optional WHERE clause
    enabled BOOLEAN DEFAULT TRUE,
    last_run TIMESTAMP,
    records_affected INTEGER DEFAULT 0
);

-- Insert policies
INSERT INTO retention_policies (table_name, date_column, retention_days, action, condition) VALUES
('support_tickets', 'closed_at', 1095, 'ANONYMIZE', 'status = ''closed'''),
('recruitment_candidates', 'applied_at', 730, 'DELETE', 'status != ''hired'''),
('session_logs', 'created_at', 90, 'DELETE', NULL),
('newsletter_unsubscribed', 'unsubscribed_at', 365, 'DELETE', NULL),
('audit_logs', 'created_at', 2555, 'ARCHIVE', NULL);

-- Enforcement function
CREATE OR REPLACE FUNCTION enforce_retention_policies()
RETURNS TABLE(policy_id UUID, table_name TEXT, records_affected BIGINT) AS $$
DECLARE
    policy RECORD;
    affected BIGINT;
    query TEXT;
BEGIN
    FOR policy IN
        SELECT * FROM retention_policies WHERE enabled = TRUE
    LOOP
        IF policy.action = 'DELETE' THEN
            query := format(
                'DELETE FROM %I WHERE %I < NOW() - INTERVAL ''%s days''',
                policy.table_name, policy.date_column, policy.retention_days
            );
            IF policy.condition IS NOT NULL THEN
                query := query || ' AND ' || policy.condition;
            END IF;
        ELSIF policy.action = 'ANONYMIZE' THEN
            -- Anonymization requires table-specific logic
            -- This is a simplified example
            query := format(
                'UPDATE %I SET email = ''[email protected]'', name = ''Anonymized'' WHERE %I < NOW() - INTERVAL ''%s days''',
                policy.table_name, policy.date_column, policy.retention_days
            );
            IF policy.condition IS NOT NULL THEN
                query := query || ' AND ' || policy.condition;
            END IF;
        END IF;

        EXECUTE query;
        GET DIAGNOSTICS affected = ROW_COUNT;

        UPDATE retention_policies
        SET last_run = NOW(), records_affected = affected
        WHERE id = policy.id;

        RETURN QUERY SELECT policy.id, policy.table_name::TEXT, affected;
    END LOOP;
END;
$$ LANGUAGE plpgsql;

शेड्यूलिंग

# Run retention enforcement daily at 3 AM
# /etc/cron.d/retention-enforcement
0 3 * * * postgres psql -d ecosire -c "SELECT * FROM enforce_retention_policies();" >> /var/log/retention-enforcement.log 2>&1

कानूनी पकड़

जब कोई कानूनी रोक लागू होती है

जब मुकदमेबाजी प्रत्याशित, लंबित या चालू हो तो कानूनी रोक सामान्य प्रतिधारण नीतियों को निलंबित कर देती है। सभी संभावित प्रासंगिक डेटा को अवधारण शेड्यूल की परवाह किए बिना संरक्षित किया जाना चाहिए।

कार्यान्वयन

-- Legal hold table
CREATE TABLE legal_holds (
    id UUID DEFAULT gen_random_uuid() PRIMARY KEY,
    matter_name VARCHAR(255) NOT NULL,
    description TEXT,
    custodians TEXT[], -- Users whose data is held
    tables_affected TEXT[], -- Tables where retention is suspended
    created_at TIMESTAMP DEFAULT NOW(),
    released_at TIMESTAMP,
    created_by UUID REFERENCES users(id)
);

-- Modified retention enforcement respects legal holds
CREATE OR REPLACE FUNCTION enforce_retention_with_holds()
RETURNS void AS $$
BEGIN
    -- Skip tables under active legal hold
    DELETE FROM session_logs
    WHERE created_at < NOW() - INTERVAL '90 days'
    AND 'session_logs' NOT IN (
        SELECT UNNEST(tables_affected)
        FROM legal_holds
        WHERE released_at IS NULL
    );
END;
$$ LANGUAGE plpgsql;

सत्यापन और अनुपालन

मासिक प्रतिधारण लेखापरीक्षा

  • सभी प्रतिधारण नीतियां प्रलेखित और चालू हैं
  • स्वचालित प्रवर्तन सफलतापूर्वक चला (लॉग जांचें)
  • अवधारण अवधि के बाद कोई डेटा मौजूद नहीं है (नमूना जांच)
  • सभी लंबित मुकदमों के लिए कानूनी रोकें सक्रिय हैं
  • नई डेटा श्रेणियों को अवधारण अवधि निर्दिष्ट की गई है
  • तृतीय-पक्ष प्रोसेसर अवधारण आवश्यकताओं का अनुपालन करते हैं

अक्सर पूछे जाने वाले प्रश्न

यदि हम जीडीपीआर के तहत डेटा को आवश्यकता से अधिक समय तक रखते हैं तो क्या होता है?

व्यक्तिगत डेटा को उसकी आवश्यक अवधारण अवधि से अधिक बनाए रखना जीडीपीआर के भंडारण सीमा सिद्धांत (अनुच्छेद 5(1)(ई)) का उल्लंघन करता है। पर्यवेक्षी अधिकारी 20 मिलियन यूरो या वैश्विक वार्षिक कारोबार का 4% तक का जुर्माना लगा सकते हैं। अधिक व्यावहारिक रूप से, अतिरिक्त डेटा उल्लंघन में आपके जोखिम को बढ़ाता है --- आप उस डेटा के लिए उत्तरदायी हैं जो आपके पास नहीं होना चाहिए था।

हम बैकअप प्रतियों के प्रतिधारण को कैसे प्रबंधित करते हैं?

बैकअप प्रतिधारण को जटिल बनाते हैं क्योंकि उनमें समय के विशिष्ट बिंदुओं पर डेटा के स्नैपशॉट होते हैं। विकल्प: (1) बैकअप को अपनी सबसे लंबी अवधारण अवधि के अनुरूप शेड्यूल पर घुमाएं, (2) बैकअप को एन्क्रिप्ट करें और रिटेंशन समाप्त होने पर एन्क्रिप्शन कुंजी को नष्ट कर दें ("क्रिप्टो-श्रेडिंग"), (3) स्वीकार करें कि बैकअप में समाप्त डेटा हो सकता है लेकिन क्षतिपूर्ति नियंत्रण के साथ इसे एक तकनीकी सीमा के रूप में दस्तावेज़ित करें।

हम ओडू में प्रतिधारण कैसे लागू करते हैं?

Odoo में बिल्ट-इन रिटेंशन ऑटोमेशन नहीं है। इसका उपयोग करके इसे कार्यान्वित करें: (1) अनुसूचित क्रियाएं (क्रॉन जॉब्स) जो पुराने रिकॉर्ड को संग्रहित या अज्ञात करती हैं, (2) कस्टम मॉड्यूल जो विशिष्ट मॉडलों पर अवधारण नियमों को लागू करते हैं, (3) थोक संचालन के लिए डेटाबेस-स्तरीय फ़ंक्शन। ECOSIRE स्वचालित डेटा जीवनचक्र प्रबंधन के लिए Odoo अनुकूलन प्रदान करता है।


आगे क्या आता है

डेटा प्रतिधारण संपूर्ण शासन कार्यक्रम का एक घटक है। इसे नए सिस्टम के लिए डिज़ाइन द्वारा गोपनीयता, एचआर डेटा के लिए कर्मचारी डेटा गोपनीयता और तीसरे पक्ष के प्रोसेसर के लिए विक्रेता अनुबंध प्रबंधन के साथ संयोजित करें।

डेटा प्रतिधारण नीति डिजाइन और कार्यान्वयन परामर्श के लिए ECOSIRE से संपर्क करें।


ECOSIRE द्वारा प्रकाशित - व्यवसायों को उसके संपूर्ण जीवनचक्र के दौरान डेटा प्रबंधित करने में मदद करना।

E

लेखक

ECOSIRE Research and Development Team

ECOSIRE में एंटरप्राइज़-ग्रेड डिजिटल उत्पाद बना रहे हैं। Odoo एकीकरण, ई-कॉमर्स ऑटोमेशन, और AI-संचालित व्यावसायिक समाधानों पर अंतर्दृष्टि साझा कर रहे हैं।

WhatsApp पर चैट करें