5b3#=2$1=b;;Ttt_v9
z%07!$y~eHW%v`81Oea+>PY_?pnV}pPIXWzml@V
zqhs?Rx3}IGxG;h1!UXztTgAANIW&8iblvgxV&ru25$|RU$FXima<#P6xOt{L8QQ!7
z#bZwN&Oe^jr>*bR`vx4&ns+>R(6+1FhE*OKTy-dSLR;2^^TUMbFhit=M?_Q~TeKPE=0V#HO*BIQ`97)hnktBzi9R=QS2
z>dHJ}S!W&wIb?hT_7D;238x|8iO?f(Se9epM*aII#U$ribl8XrFe~rGCp?E=3=R9_
Z`k=SLul_sYx1&%XM$p;$uJl
z{qO&|_rFh`e_MNWpVsSmPEKYD{rz*!oQ7u?{k7LWZ5eBGQc~tt%pG&Tdc&KqPTHbk
zj9TN!H~RQQhT3h>+Fn6R2J@0X>5{rVK5Ja+I)W??31z&I%y&4me;C@
zGnS5<%agj-6YxkW(aBoU6bO0hef93T7U`i8>BF$yuLnb6GcDi?$~yJgjC)0cy5-6d
z6N8{g1B@haxnvvKw*YPhEC(zDtN`eMFklHFs6M&US$I7)&A#(Pve6R`)5ace*x&3A
zw@9xVGIMxoGbon=ZU$j?C{R!Oxx><=fh9hfeC^8&()i%SC=<
zP~-D9aX=kd?5e_EW_FXOrO_7*yPE=@pnMHWUL|nZEm4kR;A;R+?NArUVHyj0Ts6pw
z0SQw?)RAhYQxNE$1wOe?JtHrjdlX9%9|`PEqI(MPA3%2&X2z7IUSCt#9}1cd843jI
zJl;ieFA=(I@@>$wNYGn$M&{_bn(F}C#{gdfEa}kt3Xs5FJA0cRFRXlLZXJ2u+$-UUaN=5n;U6r0{YeZXw$BR(5^bjnCwzKr?pfP?DU_R8D>vX+_c
z4K+4-f-UZ#r_m?BQs1>tvB84s;QD-39w=x_GEZNacoz|vwx*CCwvyy^Fx?H<1K@b=
zZbwU-Y|O3%u)qiyKGIxSNme$q7v30lOP}7PzFJk7_ZA3Q=|R{YQABb{AJA*
zWzt8XRwh5dpuH^YS)j{#)b4UAwUqnAv(;xEGsICfe)Ch-X?;|Eu{qxcmR+-#m&l92
z`x3yV1Umgo!68Kb%P@GkYJXyyC{UeGjL*3nqYDXKX|i3FY&m=E03tE9CXe(qTDe3~
zP=#gV0TVEr$&&iRA=x4)V)WN4u;udkN5G3c6w47)(?gQ3U^AVT1Uz1!jQeODR-Q5R
z9DIYCnE_9jFK5pJ-dhe(MNf_posp?ePUt5-S9knlm8ep=FANiPYQhV!`ob3$isNek
z3m+GM3wiEk-ONlXHvIG5;g%+!ycXj-)w|o~UgLudb%6N*&gcbbH2}N>6cRzSf1Yv?
zDD4*Ky2w2*o+rdg^~y^F&jJfMjW(on#1n3iYt@ODid}rHJ0J!w38?|516Y*aXq^jK
zqb9suS{UCySxD9Ta!C~jJR5U3He-v%&K)zu?e+#dy6$$H4mY2EZnsQPyI&qtc0IOe
zp*3a(RdYT!3+M-rg&557HKTl}_k}(FfKIVqzC9;htWdvxJ)+$SsuhuwuTQdT0ko&6
z34062Baq|`fO!OF+L)>a8A5jscPq>51gsS@CPZXBqCjAV$ALj
z`zYFZvnN5h9#cEf+JII}EI!6N`es?A_hPO~`jh)cX`9gBsD|%%Y8$C(4puMB&x`o>
zf3CGzM#4NVQn8iYO(yThM9gIJ0d!*~lLopE5_F_l=7|fo4pV<1a1D@r`#ypJ4yr$i
zl(v+F#QVP)PCg2TFqix@TC5R=-5HJb7}4n{tDKRm4qR;;lWfr;z#fJsY18PZVJ`535uFM2(Yt)`2PH{AH>_|cK-n^o==e-AJWkFFs5T1_A`S>4M
zbc7XtT`XQy=YM@o+p9Eb=ID*#Cb#Yjhy6ji6Ar;>32zMQ*2-E8rUE#iUI9~%%vd&Z
z+?c)S*21e}iSCmqT(^VJ&AT*7f1^jXxV@o3NSeKMpEsm(P7KWFsQx2J>{vyY0@j38
z^@$3NAA}C0q(k%*kEr$&=k(!AzzIRRPOxn!&S|3vwBC(Y9&%bD89Am*J7uI#XK~Fm
zQqzjBA283>=RD*?k(0U_69!;4pb#(sunNG@B(WdYP;b+isTQ1ktnV(2?FNjdF;|}4
zqnxKoXTOG#9!x6V!UWqfW&rsH#;k;=mg(rSqHfyxtd!3}0yfX~$it_u>Q)}ze^M;8
zeL~BOc|r^luNl7+!c~M|`X;B*;}4FGIT%iN3AxR9RfrLVY+_D3PU|pDcBQq^J5`jH
z@OdAP-4x8D;-pAr-8!Q+sp3CrZQb)heoAy?Z9O0%ll(V#!*tGnhVJJ8$X0vFPZ5vx
zl%Y9LF-fNHY0OMVlm`5DrlV$h?M!z~%@q=EH*M&e4r8Y#&dz6HS-Lc<(1otDGkQuB
zYc+AeP&r~q)|(i!++}Rb5p%>bqo|jtp7N6TgF3qKkUTIzr>N&c(z&OvH9iDlg@5kW>SL
zpz{H`-^KiVq?Z=6$l_2O2l~$F`re|%rU}YldBAw7pSVa=8ID|0cFi&3(#_~eMZ+(U
zi)BDmkm3pHcuAmUYJJUU3!iMtGkQw+TdMvK3`u*h;e>JBc9WHVZ8VTc>i
zS_&A9t`$D``XpO1$O+B+S6mzqcs@FNGX8L^VeQ$i9RCPC%MIx=Y<%q$rDs_M5NpE)
zP-oOtBKBv9KN&v`7k?9jjK7T#MWWPrYlJwdEyVgk(Y+(Zy}|+csBA7V8b^yFZ3xUZ
z9XGzQvr6YZjWi&$OXDxnjd{!y?k539kSkKJta)#RzwhEsN8l_u@ogNR{bB*dMF-5bs
zkG5Bd=Bzrl&E?RIlO|rG@cDZm49T+H0FrrtGu0_n)iH}%AVQ@g9|Ej3>L-a=!KC9f
zz8UYsrzoZWo$aQ$d`1#ABZ;L?acU*eXLxha)|-M!_?Nw9L%vb_m1#W1PlWHE)ccyaHk-smn4@32Z&ssH!^>eQu^Wq)q<$yyhI{AnEDB
zVMT@U?zLikFTN7Aniid&N%CRioY~^K{PQ6QQouDhK_e^aCd892{@&+jM_k#Ye2YEM
z5TqTDbZzh;=|LV
zmMdolP>-?5B^o{OyNiI3u4Vk`zzfFzHwLo`c=NmOG;=00l5Z(IDjaC)NdHaCzN{c8KLE|I(udR{9qVne#7_le&Wt>^|nElL*
z)=<#b^(mM{(QyhnyZ)lLw~A-e3X^`f;CK5Wh<(_oStd%d5(nCriP2g7faVI~mgsZK
z#P-z0Z|ufhw~E2yJ7deOVpPr@usaM$$y8+=p&{|Tk-JCn`z9}8LG8tAtjlC!4#6St_gbg9O0Kh6N$q_uQtVP4i5
z58NY0X0g1SnJ*i!-y=$`--^FAPEcE1Y!t2**NGKI^J+1^hR^>ZtnI-PW*ROkCj^P7
z_*qtnvbJ&Sz~gci;4QWr5rkArmwU^8F`NLB&35PJe+TL5*@ng_*fVFcHT46#*x(Dz(*aCMp5u;OB4
z^uuCkq3oU+t-WsaFY=ewd32w#yE8u?s9|4X7egLFH@=QPhpc=sS%w=fJ
z0Q?3p4^R*A144i>;AX(BfV%+-@MvmE5y^n&(}1mj+pyg`q@rG_HlFHlI5&y{W86m3
zKXV&Rmtf+y=jn1q}N_qp>e~MUOo$&KDxj7_nKLlZ9$aj)Ku@
zjq5jyf-KI6Q`l#ham!|rD^?o!Zx$Eyxfw$%L5Qv73gi9FqQBT@oZ2k5W_U|PmYhJ7
F{|jX!&CdV;
diff --git a/routes/main.py b/routes/main.py
index 9c5599d..b97bc07 100644
--- a/routes/main.py
+++ b/routes/main.py
@@ -2157,12 +2157,19 @@ def init_routes(main_bp):
@login_required
@require_password_change
def development_wiki():
- if not os.environ.get('MASTER', 'false').lower() == 'true':
- flash('This page is only available in master instances.', 'error')
- return redirect(url_for('main.dashboard'))
-
return render_template('wiki/base.html')
+ @main_bp.route('/support-articles')
+ @login_required
+ @require_password_change
+ def support_articles():
+ # Check if this is a master instance
+ is_master = os.environ.get('MASTER', 'false').lower() == 'true'
+ if not is_master:
+ flash('This page is only available on the master instance.', 'error')
+ return redirect(url_for('main.dashboard'))
+ return render_template('admin/support_articles.html')
+
@main_bp.route('/api/version')
def api_version():
# Get version information from environment variables
diff --git a/routes/public.py b/routes/public.py
index 743095e..a75f53d 100644
--- a/routes/public.py
+++ b/routes/public.py
@@ -23,11 +23,6 @@ def init_public_routes(public_bp):
"""About page"""
return render_template('public/about.html')
- @public_bp.route('/blog')
- def blog():
- """Blog page"""
- return render_template('public/blog.html')
-
@public_bp.route('/careers')
def careers():
"""Careers page"""
@@ -68,12 +63,7 @@ def init_public_routes(public_bp):
"""Terms of Service page"""
return render_template('public/terms.html')
- @public_bp.route('/gdpr')
- def gdpr():
- """GDPR page"""
- return render_template('public/gdpr.html')
-
- @public_bp.route('/compliance')
- def compliance():
- """Compliance page"""
- return render_template('public/compliance.html')
\ No newline at end of file
+ @public_bp.route('/cookies')
+ def cookies():
+ """Cookie Policy page"""
+ return render_template('public/cookies.html')
\ No newline at end of file
diff --git a/templates/admin/support_articles.html b/templates/admin/support_articles.html
new file mode 100644
index 0000000..b7dc0b8
--- /dev/null
+++ b/templates/admin/support_articles.html
@@ -0,0 +1,27 @@
+{% extends "common/base.html" %}
+
+{% block title %}Support Articles - DocuPulse{% endblock %}
+
+{% block content %}
+
+
+
+
+
+ Support Articles
+
+
+
+
+
+
+
+
Support Articles
+
Content coming soon...
+
+
+
+
+
+
+{% endblock %}
\ No newline at end of file
diff --git a/templates/common/base.html b/templates/common/base.html
index 78abe81..9d7d5a3 100644
--- a/templates/common/base.html
+++ b/templates/common/base.html
@@ -100,6 +100,11 @@
Development Wiki
+
+ {% with primary_url=url_for('public.contact'), primary_icon='fas fa-envelope', primary_text='Get in Touch', secondary_url=url_for('public.careers'), secondary_icon='fas fa-users', secondary_text='Join Our Team' %}
+ {% include 'components/cta_buttons.html' %}
+ {% endwith %}
diff --git a/templates/public/blog.html b/templates/public/blog.html
deleted file mode 100644
index 5aa099e..0000000
--- a/templates/public/blog.html
+++ /dev/null
@@ -1,436 +0,0 @@
-
-
-
-
-
- Blog - DocuPulse
-
-
-
-
-
-
-
- {% include 'components/header_nav.html' %}
-
-
- {% with
- title="DocuPulse Blog",
- description="Insights, tips, and updates on document management, enterprise collaboration, and digital transformation.",
- title_size="4",
- description_size="5"
- %}
- {% include 'components/hero_section.html' %}
- {% endwith %}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
All Posts
-
Browse all articles
-
-
-
-
-
-
-
-
Product Updates
-
Latest features and improvements
-
-
-
-
-
-
-
-
Tips & Tricks
-
Best practices and workflows
-
-
-
-
-
-
-
-
Industry Insights
-
Trends and analysis
-
-
-
-
-
-
-
-
Featured Article
-
-
-
-
-
-
-
-
-
-
- Security
- March 15, 2024
- 8 min read
-
-
The Future of Enterprise Document Security
-
As cyber threats continue to evolve, organizations must adopt advanced security measures to protect their sensitive documents. This comprehensive guide explores the latest security trends and best practices for enterprise document management.
Meeting the highest standards of security and compliance
+
Last updated: December 2024
+
+
+
+
+
+
+
+
+
+
+
1. Our Compliance Commitment
+
At DocuPulse, we understand that compliance is not just about meeting regulatory requirements—it's about building trust with our customers and ensuring the highest standards of security and data protection. We maintain rigorous compliance programs and regularly undergo third-party audits to validate our security practices.
+
+
+
Certification Status
+
All our certifications are current and regularly audited. We provide compliance reports and documentation to enterprise customers upon request.
+
+
+
2. Security Certifications
+
+
+
+
+
+
+
SOC 2 Type II
+ Certified
+
Service Organization Control 2 Type II certification demonstrates our commitment to security, availability, processing integrity, confidentiality, and privacy.
+
+
Annual third-party audits
+
Security controls validation
+
Availability monitoring
+
Data protection measures
+
+
Last Audit: December 2024
+
Next Audit: December 2025
+
+
+
+
+
+
+
ISO 27001
+ Certified
+
International standard for information security management systems, ensuring systematic approach to managing sensitive company information.
+
+
Information security framework
+
Risk management processes
+
Security controls implementation
+
Continuous improvement
+
+
Certification Date: March 2024
+
Valid Until: March 2027
+
+
+
+
+
+
+
Cloud Security Alliance
+ Certified
+
CSA STAR certification demonstrates our compliance with cloud security best practices and industry standards.
+
+
Cloud security controls
+
Data protection standards
+
Transparency reporting
+
Security assessment
+
+
Certification Date: June 2024
+
Valid Until: June 2025
+
+
+
+
3. Privacy & Data Protection
+
+
+
+
+
+
+
GDPR Compliance
+ Compliant
+
Full compliance with the General Data Protection Regulation, ensuring the protection of EU residents' personal data.
+
+
Data subject rights
+
Privacy by design
+
Data protection impact assessments
+
Breach notification procedures
+
+
Compliance Date: May 2018
+
Status: Continuously monitored
+
+
+
+
+
+
+
CCPA/CPRA
+ Compliant
+
California Consumer Privacy Act and California Privacy Rights Act compliance for California residents.
+
+
Consumer rights management
+
Data disclosure requirements
+
Opt-out mechanisms
+
Privacy notices
+
+
Compliance Date: January 2020
+
Status: Continuously monitored
+
+
+
+
+
+
+
International Standards
+ Compliant
+
Compliance with various international privacy and data protection regulations.
+
+
LGPD (Brazil)
+
PIPEDA (Canada)
+
POPIA (South Africa)
+
APEC Privacy Framework
+
+
Status: Continuously monitored
+
Updates: As regulations evolve
+
+
+
+
4. Industry-Specific Compliance
+
+
+
+
+
+
Standard
+
Description
+
Status
+
Last Review
+
+
+
+
+
HIPAA
+
Health Insurance Portability and Accountability Act
+
Compliant
+
November 2024
+
+
+
SOX
+
Sarbanes-Oxley Act for financial reporting
+
Compliant
+
October 2024
+
+
+
PCI DSS
+
Payment Card Industry Data Security Standard
+
Compliant
+
September 2024
+
+
+
FedRAMP
+
Federal Risk and Authorization Management Program
+
In Progress
+
Q1 2025
+
+
+
NIST
+
National Institute of Standards and Technology
+
Compliant
+
August 2024
+
+
+
+
+
+
5. Security Controls & Measures
+
Our comprehensive security program includes the following controls and measures:
+
+
+
+
Technical Controls
+
+
Multi-factor authentication (MFA)
+
End-to-end encryption (AES-256)
+
Network security and firewalls
+
Intrusion detection and prevention
+
Vulnerability management
+
Security monitoring and alerting
+
+
+
+
Organizational Controls
+
+
Security policies and procedures
+
Employee security training
+
Background checks and screening
+
Incident response procedures
+
Business continuity planning
+
Regular security assessments
+
+
+
+
+
6. Audit & Assessment Schedule
+
We maintain a regular schedule of internal and external audits to ensure ongoing compliance:
+
+
+
+
+
+
Audit Type
+
Frequency
+
Next Due
+
Status
+
+
+
+
+
SOC 2 Type II
+
Annual
+
December 2025
+
Scheduled
+
+
+
ISO 27001
+
Annual Surveillance
+
March 2025
+
Scheduled
+
+
+
Penetration Testing
+
Quarterly
+
March 2025
+
Scheduled
+
+
+
Vulnerability Assessment
+
Monthly
+
January 2025
+
Ongoing
+
+
+
Security Training
+
Quarterly
+
March 2025
+
Scheduled
+
+
+
+
+
+
7. Compliance Documentation
+
We provide comprehensive compliance documentation to our enterprise customers:
+
+
SOC 2 Type II Reports: Available to enterprise customers under NDA
+
ISO 27001 Certificates: Available upon request
+
Security Questionnaires: Standardized responses for common frameworks
+
Compliance Whitepapers: Detailed documentation of our controls
+
Audit Reports: Third-party assessment results
+
+
+
+
Documentation Requests
+
Enterprise customers can request compliance documentation by contacting our compliance team at compliance@docupulse.com. We typically respond within 2-3 business days.
+
+
+
8. Continuous Improvement
+
Our compliance program is continuously evolving to meet new requirements and best practices:
+
+
Regular review and updates of security policies
+
Monitoring of emerging threats and vulnerabilities
+
Adoption of new security technologies and practices
+
Participation in industry working groups and forums
+
Regular training and awareness programs for staff
+
+
+
+
Compliance Team
+
For compliance-related questions or documentation requests, contact our compliance team:
-
+ {% with stats=[
+ {'value': 99.9, 'suffix': '%', 'display': '99.9%', 'label': 'Uptime'},
+ {'value': 256, 'suffix': '-bit', 'display': '256-bit', 'label': 'Encryption'},
+ {'value': 24, 'suffix': '/7', 'display': '24/7', 'label': 'Support'},
+ {'value': 1000, 'suffix': '+', 'display': '1000+', 'label': 'Organizations'}
+ ] %}
+ {% include 'components/animated_numbers.html' %}
+ {% endwith %}
@@ -644,97 +622,12 @@
});
}, observerOptions);
- // Function to animate number counting
- function animateNumber(element, endValue, duration = 2000) {
- const start = performance.now();
- const startValue = 0;
- const difference = endValue - startValue;
-
- function updateNumber(currentTime) {
- const elapsed = currentTime - start;
- const progress = Math.min(elapsed / duration, 1);
-
- // Easing function for smooth animation
- const easeOutQuart = 1 - Math.pow(1 - progress, 4);
- const currentValue = startValue + (difference * easeOutQuart);
-
- // Format the number based on the end value
- let displayValue;
- if (endValue === 99.9) {
- displayValue = currentValue.toFixed(1) + '%';
- } else if (endValue === 256) {
- displayValue = Math.round(currentValue) + '-bit';
- } else if (endValue === 24) {
- displayValue = Math.round(currentValue) + '/7';
- } else {
- displayValue = Math.round(currentValue) + '+';
- }
-
- element.textContent = displayValue;
-
- if (progress < 1) {
- requestAnimationFrame(updateNumber);
- } else {
- // Ensure the final value is correct
- if (endValue === 99.9) {
- element.textContent = '99.9%';
- } else if (endValue === 256) {
- element.textContent = '256-bit';
- } else if (endValue === 24) {
- element.textContent = '24/7';
- } else {
- element.textContent = '1000+';
- }
- }
- }
-
- requestAnimationFrame(updateNumber);
- }
-
// Observe elements for fade-in animation
document.addEventListener('DOMContentLoaded', function() {
const fadeElements = document.querySelectorAll('.fade-in-up');
fadeElements.forEach(el => {
observer.observe(el);
});
-
- // Stats animation observer
- const statsObserver = new IntersectionObserver(function(entries) {
- entries.forEach(entry => {
- if (entry.isIntersecting) {
- const statNumbers = entry.target.querySelectorAll('.stat-number');
- statNumbers.forEach((stat, index) => {
- setTimeout(() => {
- const text = stat.textContent;
- let endValue;
-
- if (text.includes('99.9%')) {
- endValue = 99.9;
- } else if (text.includes('256-bit')) {
- endValue = 256;
- } else if (text.includes('24/7')) {
- endValue = 24;
- } else if (text.includes('1000+')) {
- endValue = 1000;
- }
-
- if (endValue) {
- animateNumber(stat, endValue, 2000);
- }
- }, index * 300); // Stagger the animations
- });
-
- // Only trigger once
- statsObserver.unobserve(entry.target);
- }
- });
- }, { threshold: 0.5 });
-
- // Observe the stats section
- const statsSection = document.querySelector('.stats-section');
- if (statsSection) {
- statsObserver.observe(statsSection);
- }
});
+ {% include 'components/header_nav.html' %}
+
+
+
+
+
+
GDPR Compliance
+
Your data rights under European law
+
Last updated: December 2024
+
+
+
+
+
+
+
+
+
+
+
1. GDPR Overview
+
The General Data Protection Regulation (GDPR) is a comprehensive data protection law that applies to organizations processing personal data of individuals in the European Union (EU) and European Economic Area (EEA). DocuPulse is committed to full compliance with GDPR requirements.
+
+
+
Our Commitment
+
We are fully committed to protecting your privacy and ensuring compliance with GDPR. Our data processing activities are designed with privacy by design and default principles.
+
+
+
2. Legal Basis for Processing
+
Under GDPR, we process your personal data based on the following legal grounds:
+
+
+
+
+
+
Processing Purpose
+
Legal Basis
+
Description
+
+
+
+
+
Service Provision
+
Contract Performance
+
Processing necessary to provide our services
+
+
+
Account Management
+
Contract Performance
+
Managing your account and billing
+
+
+
Customer Support
+
Legitimate Interest
+
Providing support and improving service
+
+
+
Security & Fraud Prevention
+
Legitimate Interest
+
Protecting our systems and users
+
+
+
Marketing Communications
+
Consent
+
Only with your explicit consent
+
+
+
Legal Compliance
+
Legal Obligation
+
Complying with applicable laws
+
+
+
+
+
+
3. Your Data Subject Rights
+
Under GDPR, you have the following rights regarding your personal data:
+
+
+
+
+
+
+
Right of Access
+
You have the right to request access to your personal data and information about how we process it.
+
+
+
+
+
+
+
Right to Rectification
+
You can request correction of inaccurate or incomplete personal data we hold about you.
+
+
+
+
+
+
+
Right to Erasure
+
You can request deletion of your personal data in certain circumstances (the "right to be forgotten").
+
+
+
+
+
+
+
Right to Restriction
+
You can request that we limit how we process your personal data in certain situations.
+
+
+
+
+
+
+
Right to Portability
+
You can request a copy of your personal data in a structured, machine-readable format.
+
+
+
+
+
+
+
Right to Object
+
You can object to processing of your personal data based on legitimate interests.
+
+
+
+
4. How to Exercise Your Rights
+
To exercise any of your GDPR rights, you can:
+
+
Use our self-service tools: Access and manage your data through your account settings
+
Contact our Data Protection Officer: Email us at dpo@docupulse.com
+
Submit a formal request: Use our data request form
+
Contact us directly: Reach out to our support team
+
+
+
+
Response Time
+
We will respond to your requests within 30 days. In complex cases, we may extend this period by up to 60 days, but we will notify you of any delay.
+
+
+
5. Data Processing Details
+
5.1 Categories of Personal Data
+
We process the following categories of personal data:
+
+
Identity Data: Name, email address, contact information
+
Account Data: Username, password, profile information
+
Usage Data: How you interact with our services
+
Technical Data: IP address, browser type, device information
+
Content Data: Documents and files you upload
+
Communication Data: Messages and support requests
+
+
+
5.2 Data Retention Periods
+
We retain your personal data for the following periods:
+
+
Account Data: Until account deletion or 2 years of inactivity
+
Usage Data: 24 months for analytics purposes
+
Support Communications: 3 years from last contact
+
Billing Data: 7 years for tax and accounting purposes
+
Security Logs: 12 months for security monitoring
+
+
+
6. International Data Transfers
+
Your personal data may be transferred to and processed in countries outside the EU/EEA. We ensure appropriate safeguards are in place:
+
+
Standard Contractual Clauses: We use EU-approved SCCs for transfers
+
Adequacy Decisions: We transfer to countries with adequate protection
+
Certification Schemes: We rely on approved certification mechanisms
+
Binding Corporate Rules: Where applicable, we use BCRs for intra-group transfers
+
+
+
7. Data Protection Measures
+
We implement comprehensive technical and organizational measures to protect your data:
+
+
+
+
+
+
Measure
+
Implementation
+
Status
+
+
+
+
+
Encryption
+
AES-256 encryption at rest and in transit
+
Compliant
+
+
+
Access Controls
+
Role-based access and multi-factor authentication
+
Compliant
+
+
+
Data Minimization
+
Only collect data necessary for service provision
+
Compliant
+
+
+
Privacy by Design
+
Privacy considerations built into all systems
+
Compliant
+
+
+
Regular Audits
+
Annual privacy and security assessments
+
Compliant
+
+
+
Staff Training
+
Regular GDPR and privacy training
+
Compliant
+
+
+
+
+
+
8. Data Breach Procedures
+
In the unlikely event of a data breach, we have established procedures to:
+
+
Detect and assess the breach within 72 hours
+
Notify the relevant supervisory authority
+
Inform affected individuals when required
+
Document all breach incidents and remedial actions
+
Implement measures to prevent future breaches
+
+
+
9. Third-Party Processors
+
We work with carefully selected third-party processors who help us provide our services. All processors:
+
+
Are bound by data processing agreements
+
Implement appropriate security measures
+
Process data only as instructed by us
+
Are regularly audited for compliance
+
+
+
10. Supervisory Authority
+
You have the right to lodge a complaint with your local data protection supervisory authority if you believe we have not addressed your concerns adequately.
+
+
+
EU Representative
+
For EU residents, you can contact our EU representative at: DocuPulse EU Representative, [Address], [Email]
+
+
+
+
Data Protection Officer
+
For any GDPR-related questions or to exercise your rights, contact our Data Protection Officer: