গোপনীয়তা — UmmahSphere

কোড দেখে লেখা, ছাঁচ দেখে নয়

নিচের প্রতিটি কথাই অ্যাপের ভেতরে সত্যিই আছে এমন একটি ফাইল থেকে এসেছে। যেখানে অ্যাপ কিছু জানতে পারে না, সেখানে সেটাই সোজাসুজি লেখা আছে, ঘুরিয়ে বলা হয়নি।

১. অ্যাপ ও সার্ভার কে চালায়

অ্যাপ ও চ্যাট সার্ভার একই পরিচালকের হাতে। এগুলো আলাদা কোনো সেবা নয় এবং অন্য কারও নয়।

চ্যাট সার্ভারটি cloud.atomtech.ro-তে। এটি সাধারণ একটি রিলে: বার্তা নেয় এবং সেগুলো এগিয়ে দেয়। এটি বিকেন্দ্রীভূত কোনো নেটওয়ার্ক নয় এবং কোনো বার্তাই এক ফোন থেকে সরাসরি আরেক ফোনে যায় না।

কোনো সহায়তা দল নেই এবং সার্বক্ষণিক মডারেশনও নেই। অনুরোধগুলো একটিমাত্র ঠিকানায় যায়, ৯ নম্বর অংশে যেটি দেওয়া আছে, আর উত্তর দিতে দেরি হতে পারে।

২. ফোনে কী থেকে যায়

কোনো অ্যাকাউন্ট নেই। স্থানীয় তথ্য অ্যাপের ব্যক্তিগত জায়গায় থাকে। নির্বাচিত পছন্দ ও জার্নাল আপনার Google অ্যাকাউন্টের এনক্রিপ্ট করা Android ব্যাকআপে থাকতে এবং পুনরায় ইনস্টল করলে ফিরতে পারে; চ্যাটের কী ও সেশন বাদ থাকে।

ummah_native_prefs
বেছে নেওয়া শহর, হিসাব পদ্ধতি, হাতে করা মিনিটের সংশোধন, আসরের মাযহাব, উচ্চ অক্ষাংশের নিয়ম, থিম, ভাষা, আজানের শব্দ ও তাসবিহর গণনা
ummah_qadha_khatam_prefs
কাজার হিসাব, অর্থাৎ যে নামাজগুলো আদায় করা বাকি, এবং খতমের হিসাব
ummah_quran_bookmarks
আপনার বুকমার্ক ও আয়াতের উপর লেখা নোট, ঠিক যেভাবে লিখেছেন
ummah_quran_position
সবশেষ যে আয়াতে ছিলেন, যাতে সেখানেই ফিরতে পারেন
ummah_quran_reciter, ummah_quran_audio
বেছে নেওয়া ক্বারী এবং ফোনে কোন কোন তিলাওয়াত ডাউনলোড করেছেন
ummah_prayer_tracker
পাঁচ ওয়াক্ত নামাজের চিহ্ন, দিনে দিনে
ummah_hifz
কী মুখস্থ করেছেন, প্রতিটি অংশে কতটা নিশ্চিত এবং পরের দোহরানো কবে
ummah_ramadan_prefs
রোজা ও রমজানের হিসাব
ummah_consent_prefs
কোন বিষয়ে হ্যাঁ বলেছেন এবং কখন। শুধু একটি হ্যাঁ নয়, তারিখটিও রাখা হয়, যাতে কবে রাজি হয়েছিলেন তা বলা যায়
ummah_moderation_prefs
আপনি যাদের ব্লক করেছেন তাদের তালিকা, তখন তাদের যে নাম ছিল সেই নামসহ
ummah_community_prefs
যে চাবিটি চ্যাটে আপনার পরিচয় তৈরি করে, প্রদর্শিত নাম ও বেছে নেওয়া রং। চাবিটি ব্যাকআপে যায় না, যাতে দুটি ইনস্টলেশন একই ব্যক্তি হয়ে না যায়
ummah_jamat_push, ummah_jamat_notification_dedupe
আপনার জামাত পছন্দ, ইনস্টলেশনের ছদ্মনামিক আইডি ও গোপন কী, দেশ, রাউটিংয়ে ব্যবহৃত H3 সেল, ভাষা ও সময় অঞ্চল, নিশ্চিতকরণের অপেক্ষায় থাকা ডাক এবং সম্প্রতি পৌঁছানো আইডি। এগুলি ডিভাইসের সঙ্গে বাঁধা এবং Android ব্যাকআপ ও ম্যানুয়াল রপ্তানি থেকে বাদ পড়ে
ummah_adhan_reliability
যে ইতিহাস বলে আজান সত্যিই বেজেছিল কি না, কখন এবং কতটা দেরিতে
ummah_daily_content_prefs, ummah_overpass_cache, ummah_mosque_directory_cache, ummah_metal_prices, ummah_stream_config
অস্থায়ীভাবে রাখা তথ্য: দিনের পাঠ, স্থান খোঁজার ফলাফল, সোনার সবশেষ দাম ও রেডিও স্টেশনের তালিকা। মুছে ফেললে এগুলো নিজে থেকেই আবার তৈরি হয়
adhan_silence_state, ummah_backup_prefs
অ্যাপের নিজস্ব হিসাব: আজানের আগের রিংগার প্রোফাইল ও ‘বিরক্ত করবেন না’ অবস্থা, নীরবতা যতক্ষণ থাকে ততক্ষণ রাখা হয় যাতে পরে আগের মতো ফিরিয়ে দেওয়া যায়, আর সবশেষ ব্যাকআপ ও সবশেষ পুনরুদ্ধারের তারিখ, যা আপনি সেটিংস → ব্যাকআপ-এ দেখতে পান

যা একেবারেই নেই

কোনো অ্যাকাউন্ট, পাসওয়ার্ড বা বিজ্ঞাপন আইডি নেই। আমরা বিজ্ঞাপন, অ্যানালিটিক্স বা স্বয়ংক্রিয় ক্র্যাশ রিপোর্টিং রাখি না। Firebase Messaging ও Play Integrity App Check শুধু ঐচ্ছিক ব্যাকগ্রাউন্ড জামাত ডাক পৌঁছানো এবং অপব্যবহার রোধে ব্যবহৃত হয়; সক্রিয় করলে একটি ডিভাইস টোকেন ও আনুমানিক H3 সেল প্রক্রিয়াকৃত হতে পারে, আপনার সুনির্দিষ্ট স্থানাঙ্ক নয়।

৩. ফোন থেকে কী যায়

দশটি গন্তব্য, এটুকুই। প্রতিটির জন্য অ্যাপের ভেতরে সত্যিকারের একটি কল আছে; নিরাপদ দেখানোর খাতিরে এখানে বাড়তি কিছু লেখা হয়নি।

হোস্টকী যায়কখনবন্ধ করা যায়
cloud.atomtech.ro (চ্যাট, WebSocket)আপনার বেছে নেওয়া প্রদর্শিত নাম, বার্তার লেখা, ছদ্মনামী পরিচয় এবং আপনি যে চ্যানেলে ঢোকেন।কেবল চ্যাট চালু করে থাকলে। বন্ধ থাকা অবস্থায় অ্যাপটি কোনো সংযোগই খোলে না।হ্যাঁ। সেটিংস → কমিউনিটি চ্যাট।
cloud.atomtech.ro (streams.json)আইপি ঠিকানা ছাড়া আপনার সম্পর্কে কিছুই নয়।দিনে একবার, যখন রেডিও খোলেন।না, তবে অনুরোধে ব্যক্তিগত কিছুই থাকে না।
muslim.atomtech.ro (মসজিদ)দেশের কোড, একটি স্তর-৭ H3 কোষ — প্রায় ৫ বর্গকিলোমিটারের একটি এলাকা, আপনার বিন্দু নয় — এবং কতগুলো ফল চাওয়া হচ্ছে। সঙ্গে অ্যাপের নাম ও সংস্করণ। অনুসন্ধানের ব্যাসার্ধ এখানেই থাকে: দূরত্ব অনুযায়ী ছাঁকাই ফোনেই হয়। সঠিক স্থানাঙ্কও যায় না, তবে কোষটি আনুমানিক এলাকা প্রকাশ করে।যখন আপনি রাডারের খোঁজার বোতামে চাপ দেন। এর কোনো সম্মতির জানালা নেই: অবস্থানের এমন কিছুই যায় না যা নিয়ে আপনাকে জিজ্ঞেস করতে হবে।হ্যাঁ — খুঁজবেন না। ইতিমধ্যে নামানো তালিকা ফোনেই থেকে যায় এবং ইন্টারনেট ছাড়াও পড়া যায়।
muslim.atomtech.ro (Jamat push)সক্রিয় করলে: FCM টোকেন, ছদ্মনামিক পাবলিক কী, ইনস্টলেশন আইডি ও গোপন কী, দেশ, রেজোলুশন-6 H3 সেল, ভাষা ও সময় অঞ্চল। ডাকের সময়: নামাজ, সেল বা মসজিদ, নির্ধারিত ও মেয়াদোত্তীর্ণ হওয়ার সময় এবং ডুপ্লিকেট রোধের আইডি। সঠিক স্থানাঙ্ক যায় না।শুধু জামাত পুশ স্পষ্টভাবে চালু করার পর; এলাকা বা টোকেন বদলালে রাউটিং হালনাগাদ হয়, আর আপনি নিশ্চিত করলেই ডাক পাঠানো হয়।হ্যাঁ — জামাত পুশ বন্ধ করুন। অ্যাপ নিবন্ধন বাতিলের অনুরোধ করে, Firebase বন্ধ করে এবং স্থানীয় টোকেন মুছে দেয়; বাতিলের অনুরোধ সার্ভারে না পৌঁছালে সার্ভারের ডেটা নথিভুক্ত সংরক্ষণকাল অনুসরণ করে।
Google Firebase Messaging / Play Integrity App CheckFirebase ডেলিভারির জন্য প্রয়োজনীয় FCM টোকেন ও প্রযুক্তিগত ডেটা প্রক্রিয়া করে। Play Integrity, App Check প্রমাণ দেওয়ার জন্য অ্যাপ ও ডিভাইসের প্রযুক্তিগত সংকেত প্রক্রিয়া করে। পুশে ডাকের আইডি, নামাজ, নির্ধারিত ও মেয়াদ শেষের সময়, ঐচ্ছিক মসজিদ আইডি এবং ডিপ লিংক থাকে। বিজ্ঞপ্তির লেখা ইন্টারফেসের ভাষায় ফোনেই তৈরি হয়; পুশে H3 সেল বা সঠিক স্থানাঙ্ক থাকে না।স্পষ্ট সক্রিয়করণের পর: টোকেন তৈরি বা বদলানোর সময়, App Check প্রমাণ নেওয়ার সময় এবং জামাতের ডাক পৌঁছানোর সময়।হ্যাঁ — জামাত পুশ বন্ধ করুন। অ্যাপ স্বয়ংক্রিয় চালু হওয়া বন্ধ করে এবং টোকেন মুছতে বলে; Google তার নিজস্ব নীতি ও আইনি বাধ্যবাধকতা অনুযায়ী ডেটা রাখতে পারে।
overpass-api.deহালাল স্থান ও কসাইখানার জন্য: প্রায় ১.১ কিমির একটি ঘরে গোল করে নেওয়া একটি বিন্দু এবং চাওয়া পরিধি। সেই সাথে অ্যাপের নাম ও সংস্করণ, সার্ভারের নিয়ম অনুযায়ী। যেসব দেশে মসজিদের ডিরেক্টরি এখনো পৌঁছায়নি, সেখানে একই উত্তরের OSM মসজিদগুলো বিকল্প হিসেবে দেখানো হয় — কোনো বাড়তি অনুরোধ ছাড়াই।কেবল খোঁজার বোতামে চাপ দিলে, আর তাও আপনি রাজি হওয়ার পরেই।হ্যাঁ। সেটিংস → স্থান খোঁজা।
everyayah.comকোন সূরা, কোন আয়াত ও কোন ক্বারী শুনছেন বা ডাউনলোড করছেন।তিলাওয়াত চালানোর বা ডাউনলোড করার সময়।হ্যাঁ — অডিও শুনবেন না ও ডাউনলোড করবেন না।
qurango.net, cdn-globecast.akamaized.netআপনি ওই স্টেশনটি শুনছেন এবং কতক্ষণ ধরে চালিয়ে রেখেছেন।রেডিও স্টেশন বা ভিডিও সম্প্রচার যতক্ষণ চলে।হ্যাঁ — স্টেশনটি চালু করবেন না।
api.gold-api.comআইপি ঠিকানা ছাড়া কিছুই নয়। কোনো অঙ্ক বা কোনো হিসাব ফোন থেকে যায় না।যখন যাকাতের হিসাব খোলেন।হ্যাঁ — হিসাবটি খুলবেন না।
api.frankfurter.devকেবল মুদ্রার কোড: আপনার বেছে নেওয়াটি, অথবা প্রথমবার খোলার সময় RON, যখন আপনি এখনও কিছু বেছে নেননি।সেই যাকাতের হিসাবেই, আর কেবল হিসাবের মুদ্রা USD না হলে।পুরোপুরি নয়। হিসাবটি RON দিয়ে শুরু হয় এবং প্রথমবার খোলার সময়ই, আপনি মুদ্রা বেছে নেওয়ার আগেই, বিনিময় হার চেয়ে নেয়। মুদ্রা USD থাকা অবস্থায় এই ঠিকানায় আর কিছু যায় না। কিছুই না যাওয়ার নিশ্চয়তা কেবল তখনই, যদি আপনি হিসাবটি না খোলেন।

আইপি ঠিকানা সবাই দেখে

সারণির প্রতিটি হোস্টই আপনার আইপি ঠিকানা দেখে। সংযোগ এভাবেই কাজ করে, অন্যভাবে হওয়ার উপায় নেই। আইপি থেকে মোটামুটি শহরটি বোঝা যায়।

সারণিটি কেন পিছিয়ে পড়তে পারে

রেডিও স্টেশনের তালিকাটি আমাদের সার্ভার থেকে আসে এবং তাতে উপরের হোস্টগুলোর বাইরে অন্য হোস্টের নামও থাকতে পারে। আজ তালিকায় যা আছে, সারণিতেও তাই আছে। যেদিন তালিকাটি বদলাবে, সেদিন সারণিটি অসম্পূর্ণ হয়ে যাবে — এ কারণেই কথাটি এখানে চোখের সামনে লেখা, কোনো পাদটীকায় নয়।

৪. অবস্থান

নামাজের সময়, কিবলার দিক ও ক্যালেন্ডার ফোনেই হিসাব করা হয়। এগুলোর জন্য আপনার অবস্থান কোথাও যায় না — নামাজের সময়ের কোনো সার্ভারই নেই।

রাডারে হালাল অনুসন্ধান Overpass-এ প্রায় ১.১ কিমি পর্যন্ত গোল করা স্থানাঙ্ক ও নির্বাচিত ব্যাসার্ধ পাঠায়। মসজিদ অনুসন্ধান ATOM সার্ভারে দেশ ও আনুমানিক H3 সেল পাঠায়; সঠিক স্থানাঙ্ক ফোনেই থাকে। উভয় অনুরোধ আনুমানিক এলাকা প্রকাশ করে এবং আপনাকে বেনামি করে না।

অবস্থানের অনুমতি না দিলেও চলে; তখন অ্যাপটি তালিকা থেকে হাতে বেছে নেওয়া শহর নিয়েই চলে। না বলার কারণে অ্যাপের কিছুই বন্ধ হয়ে যায় না।

৫. কমিউনিটি চ্যাট

আপনি নিজে চালু না করা পর্যন্ত এটি বন্ধই থাকে, আর তার আগে ফোন থেকে কী যায় তা আপনাকে দেখানো হয়। বন্ধ থাকা অবস্থায় অ্যাপটি চ্যাটের সংযোগ খোলে না এবং আপনার সম্পর্কে রিলেকে কিছুই পাঠায় না। cloud.atomtech.ro-তে তখনও যাওয়া একমাত্র অনুরোধটি হলো রেডিও স্টেশনের তালিকা, যদি আপনি রেডিও খোলেন — এটি ৩ নম্বর অংশের ছকে streams.json সারিতে আছে।

আপনি ছদ্মনামে থাকেন: প্রদর্শিত নামটি আপনি নিজেই বেছে নেন, আর পরিচয়টি ফোনে তৈরি হওয়া একটি চাবি থেকে আসে। রিলে ব্যবহারকারীদের কোনো খাতা রাখে না — সেখানে কোনো অ্যাকাউন্ট নেই, পাসওয়ার্ড নেই, আপনার ই-মেইলও নেই।

রিলে প্রতিটি চ্যানেলের শেষ 100 টি বার্তা রাখে, যাতে এইমাত্র ঢোকা কেউ আলোচনাটি দেখতে পান। রিপোর্টগুলো ৯০ দিন রাখা হয়, তারপর মুছে ফেলা হয়।

আপনার ব্লক তালিকা ফোনেই থাকে। প্রতিবার সংযোগের সময় রিলে সেটি পায় এবং সংযোগ বন্ধ হলে ভুলে যায়, যাতে কে কাকে এড়িয়ে চলে তার একটি মানচিত্র সার্ভারে জমা না হয়।

বার্তাগুলো এন্ড-টু-এন্ড এনক্রিপ্ট করা নয়

সেগুলো রিলের ভেতর দিয়ে খোলা অবস্থায় যায়, আর যিনি রিলেটি চালান তিনি সেগুলো পড়তে পারেন। সংযোগটি TLS, অর্থাৎ বার্তা পথে সুরক্ষিত, গন্তব্যে নয়। প্রকাশ্যে বলবেন না এমন কিছু সেখানে লিখবেন না।

৬. শিশু

চ্যাট চালু করতে হলে আপনাকে ঘোষণা করতে হয় যে আপনার বয়স অন্তত 16 বছর। ঘোষণাটি ও তার তারিখ রাখা হয়, এটুকুই।

অ্যাপের কোনো অংশই বয়স যাচাই করে না এবং কোথাও যাচাই করেছি বলে দাবিও করি না। কোনো কাগজ চাওয়া হয় না, কোনো কার্ড চাওয়া হয় না, অন্য তথ্য থেকে আন্দাজও করা হয় না। আপনি যা ঘোষণা করেছেন সেটাই থেকে যায়।

অ্যাপের বাকি অংশ — নামাজের সময়, কুরআন, কিবলা, কাজা — বয়স জিজ্ঞেস করে না, কারণ সেগুলো আপনার সম্পর্কে কোথাও কিছুই পাঠায় না।

৭. আপনার অধিকার, আর সেগুলো কীভাবে কাজে লাগাবেন

ফোন থেকে তথ্য মুছে ফেলা

অ্যাপ আনইনস্টল করলে এর ব্যক্তিগত জায়গার স্থানীয় ফাইল মুছে যায়। এনক্রিপ্ট করা Android ব্যাকআপ আপনার Google অ্যাকাউন্টে থেকে যেতে এবং পুনরায় ইনস্টল করলে নির্বাচিত তথ্য ফিরিয়ে দিতে পারে; Google/Android সেটিংসে এটি পরিচালনা বা মুছতে পারবেন। হাতে রপ্তানি করা ফাইল আপনার বেছে নেওয়া স্থানেই থাকে।

রিলে থেকে বার্তা মুছে ফেলা

৯ নম্বর অংশের ঠিকানায় একটি ই-মেইল পাঠান এবং তাতে নিচের পরিচয়টি লিখে দিন। সেটি ছাড়া কারও খোঁজার কিছুই থাকে না: রিলে জানে না আপনি কে, আপনার নাম তার কাছে নেই, ই-মেইলও নেই। বার্তাগুলোকে আপনার সাথে বেঁধে রাখে একমাত্র এই পরিচয়টিই।

সম্মতিগুলো সেটিংস থেকে একটিমাত্র চাপে প্রত্যাহার করা যায় — যত সহজে দেওয়া হয়েছিল, ঠিক তত সহজেই। চ্যাটের সম্মতি প্রত্যাহার করলে সংযোগ সঙ্গে সঙ্গেই বন্ধ হয়ে যায়; স্থান খোঁজার সম্মতি প্রত্যাহার করলে পরের বার খোঁজার সময় আবার জিজ্ঞেস করা হয়।

চ্যাটে আপনার পরিচয়

আপনার সম্পর্কে রিলে এটুকুই জানে। এটি কপি করে মুছে ফেলার অনুরোধে জুড়ে দিন।

আপনার পরিচয় প্রতিটি ফোনে আলাদা, তাই কোনো ওয়েব পেজের পক্ষে তা জানা সম্ভব নয়। অ্যাপে এটি পাবেন মেনু → অ্যাপ → গোপনীয়তা-তে, “পরিচয়টি কপি করুন” বোতামসহ। একই স্ক্রিনে লেখা থাকে নিচের দুটি জায়গার কোনটিতে আপনার ফোনে চাবিটি রাখা আছে — অথবা ফোনটি চাবি তৈরি করতে পারেনি, সেক্ষেত্রে রিলেতে কিছুই যায়নি এবং মুছে ফেলার অনুরোধ করার মতো কিছু নেই।

চাবিটি কোথায় রাখা আছে

  • AndroidKeyStore-এ। ব্যক্তিগত চাবিটি সেখান থেকে বের হয় না — অ্যাপটিও সেটিকে বাইট হিসেবে পড়তে পারে না, কেবল সেটি দিয়ে স্বাক্ষর চাইতে পারে।
  • অ্যাপের একটি ব্যক্তিগত ফাইলে, যখন AndroidKeyStore স্বাক্ষর করতে পারেনি। রুট করা ফোনে রুট এই ফাইলটি পড়তে পারে। এটি উপরের ব্যবস্থার মতো শক্ত নয়, আর শক্ত বলে দাবি করার কোনো মানে নেই।

৮. পরিবর্তন

লেখা বদলালে পাতার উপরের তারিখটিও বদলায়। ওয়েবে প্রকাশিত সংস্করণটি অ্যাপের ভেতরের লেখা থেকেই তৈরি হয়, tools/build-privacy-html.js দিয়ে — যাতে প্রকাশিত নীতিটি কোনোভাবেই ইনস্টল করা অ্যাপের বদলে অন্য কোনো অ্যাপের বর্ণনা হয়ে না যায়।

চ্যাটের শর্ত বদলালে পুরোনো সম্মতি আর টেকে না এবং আপনাকে আবার জিজ্ঞেস করা হয়। যে সংস্করণে রাজি হয়েছিলেন সেটি তারিখের পাশেই রাখা থাকে, ঠিক এ কারণেই যে পুরোনো একটি হ্যাঁ যেন নতুন হ্যাঁ বলে চালিয়ে দেওয়া না যায়।

৯. যোগাযোগ

যেকোনো প্রশ্ন, মুছে ফেলার অনুরোধ বা কোনো বার্তা নিয়ে রিপোর্টের জন্য contact@atomtech.ro ঠিকানায় লিখুন।