关于 App Store 要求 APP 必须提供用户彻底删除的功能的一个问题 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
iOS 开发实用技术导航
NSHipster 中文版
http://nshipster.cn/
cocos2d 开源 2D 游戏引擎
http://www.cocos2d-iphone.org/
CocoaPods
http://cocoapods.org/
Google Analytics for Mobile 统计解决方案
http://code.google.com/mobile/analytics/
WWDC
https://developer.apple.com/wwdc/
Design Guides and Resources
https://developer.apple.com/design/
Transcripts of WWDC sessions
http://asciiwwdc.com
Cocoa with Love
http://cocoawithlove.com/
Cocoa Dev Central
http://cocoadevcentral.com/
NSHipster
http://nshipster.com/
Style Guides
Google Objective-C Style Guide
NYTimes Objective-C Style Guide
Useful Tools and Services
Charles Web Debugging Proxy
Smore
vimac
V2EX    iDev

关于 App Store 要求 APP 必须提供用户彻底删除的功能的一个问题

  •  2
     
  •   vimac 2022-06-09 16:01:15 +08:00 7653 次点击
    这是一个创建于 1226 天前的主题,其中的信息可能已经有所发展或是发生改变。

    月末就是 App Store 要求 APP 必须提供彻底删除自己数据这个功能的 deadline 了。

    有一个细节我这里不是非常清楚,不知道各位老哥有没有处理到过,就是删除后,是否这个用户后续仍然可以重新注册和原先的唯一标识相同的新账号,包括不限于被删除账户的邮箱 /手机号 /登录名等等

    这个当然也和删除的具体实现有一定的关联,有了解的老哥解答一下,谢谢

    40 条回复    2022-06-12 22:04:28 +08:00
    Fitz77777
        1
    Fitz77777  
       2022-06-09 16:07:27 +08:00
    我认为肯定不会物理删除数据的,只是逻辑删除而已,Apple 也不可能看每个 app 的删除逻辑。各大公司也不会真正物理删除。
    删除后理论上来说应该逻辑上是一个全新的账户,可以使用包括用原来的邮箱 /手机号 /登录名等等来注册才对
    ZE3kr
        2
    ZE3kr  
       2022-06-09 16:33:07 +08:00 via iPhone   2
    你要是技术上实现不了删除后重新注册,你就在删除后提示“服务器需要一段时间才可完全删除账户”。然后再注册时提示“删除仍在进行中,无法注册新账户” doge

    就是别跟别人说这个方法是我提出来的
    vimac
        3
    vimac  
    OP
       2022-06-09 16:43:28 +08:00
    @ZE3kr 哈哈,这个放心
    其实脸书有类似的逻辑,我们今天跑了它的删除,它这里提示就是 30 天后才会删除,中间如果再用这个账户登录允许你取消,就是今天刚测试了还不知道 30 天后会怎么
    devinww
        4
    devinww  
       2022-06-09 16:44:03 +08:00 via iPhone
    别人他们了,我们开发系统的删除也不会做物理删除的。
    vimac
        5
    vimac  
    OP
       2022-06-09 16:44:09 +08:00
    @Fitz77777 逻辑删除倒几乎可以说是"肯定"的了,所以主要还是纠结于是否允许仍然用同样的登录标识重新注册
    lujiaosama
        6
    lujiaosama  
       2022-06-09 16:44:47 +08:00
    历史数据保留的情况下采用的是软删除的方式, 已经使用的手机号 /邮箱 /登录名直接提示被占用就完事了, 这个删除类似于拉黑. 手机号能重复注册可能会方便某些人薅羊毛了不可取.
    strongcoder
        7
    strongcoder  
       2022-06-09 16:47:18 +08:00
    我们去年就做了这个功能,删除账号重新注册会给一个新的用户 id,旧的 id 数据软删除
    ZE3kr
        8
    ZE3kr  
       2022-06-09 16:48:00 +08:00 via iPhone
    @vimac 对,我就是受 FB 一类的启发提出这个方案的。我觉得删除要分两类,一类是违规操作被管理员删除,这种不给重新注册的机会。另一类是自己删除,这种可以重新注册。此外要禁止账户存在风险 /被限制的账号去请求删除,要考虑到会有人通过删除后重新注册绕过风险 /账户限制
    kera0a
        9
    kera0a  
       2022-06-09 16:49:44 +08:00 via iPhone   1
    删除不仅是苹果要求的,我们国家好像也有要求。
    反正我公司是真的删除了,顶多保存了行为数据,,再注册是新用户。
    hsiaochi
        10
    hsiaochi  
       2022-06-09 16:53:35 +08:00
    应该是摔倒了 超过了 faceid 模组的位移限制 up:胜利文绉绉 有期 iphone 拆解讲过
    hsiaochi
        11
    hsiaochi  
       2022-06-09 16:57:35 +08:00
    @hsiaochi 回错主题了。。。标签页太多
    ruixue
        12
    ruixue  
       2022-06-09 17:03:35 +08:00
    邮箱注册无所谓,苹果的 Apple ID 申请注销后也无法再用相同的邮箱重新注册,但是手机号注册的应该允许注销账号后可以使用相同的手机号重新注册新账号,甚至应该允许使用和未注销账号一样的手机号强行注册新账号。因为手机的二次放号以后会越来越常见,届时新申请一个手机号大概率被上一任号码持有者注册过账号,得保证这种二次放号的手机号可以顺利注册新账号,不会因为之前已经被注册过账号而面临困境。当然这种情况下手机号就不应作为账号的内部唯一 ID ,而应该采用其他方式来识别区分账号
    jhdxr
        13
    jhdxr  
       2022-06-09 17:14:54 +08:00
    我的理解是可以用同一个标识符来进行注册的,尤其是手机。

    至于删除后悔期,在我看来更多的是一个业务上的考量,而非技术上用来推诿的手段。
    gengchun
        14
    gengchun  
       2022-06-09 17:27:12 +08:00
    我觉得把标识符加盐哈希一次加到一个名单上就差不多了。和处理风控名单类似。只要知道手机号在名单上就好,平时不关心具体手机号。
    imnpc
        15
    imnpc  
       2022-06-09 17:28:53 +08:00
    1.违规永封的 ,单独建表, 黑名单存储 ,限制永久不可再注册或者 1 年内不可再注册
    2.自己申请删除的 , 首先软删除, 按照法规, 保留 60-90 天以后 ,手机号+邮箱增加随机后缀或者更改手机号邮箱标识
    zhaoxin
        16
    zhaoxin  
       2022-06-09 17:44:44 +08:00 via iPhone
    提供这个功能的目的是为了保护用户的隐私,即用户的数据应该由用户自己来掌握。结果大部分人考虑的都是有没有人重复薅自己的羊毛,而没有确实履行自己的法律义务。

    删除就是简简单单的删除。如果怕误删,可以提供一个额外的确认提示。这就足够了。至于说重复薅羊毛的问题。苹果本身会自动记录该用户的 Apple ID 是否有使用过首次购买的优惠,并对于不符合的用户直接不显示该优惠,因此开发者完全不必考虑这个问题。
    yankebupt
        17
    yankebupt  
       2022-06-09 17:45:11 +08:00
    邮箱和登录名可以永封,手机号必须允许重复注册
    有二次放号的问题
    实际上被二次放号的都不是什么好号码,好号码都留着自用……
    所以出问题的概率直线上升
    codespots
        18
    codespots  
       2022-06-09 18:01:04 +08:00
    求教二次放号如何防止薅羊毛等风险
    ZE3kr
        19
    ZE3kr  
       2022-06-09 18:08:54 +08:00 via iPhone
    @codespots 删号做个 30 天或者 12 个月的冻结期,这样至少在冻结期无法薅羊毛
    paradoxs
        20
    paradoxs  
       2022-06-09 18:12:58 +08:00
    现在很多 APP 利用 keychain 功能,导致卸载后重新安装,直接就是已登录的状态。

    希望这次能“修复”吧。
    liuidetmks
        21
    liuidetmks  
       2022-06-09 18:15:11 +08:00
    @codespots 加上设备判断呗,苹果提供了接口 2 个 bit 给你来标记用户是否是新用户。用户刷机,换 apple id 都不会变的。
    2bit 只有 4 个状态,悠着点用
    ZE3kr
        22
    ZE3kr  
       2022-06-09 18:19:05 +08:00 via iPhone
    @paradoxs 这种 App 不一定是故意这样的,用 keychain 只是为了安全的存储 token
    ZE3kr
        23
    ZE3kr  
       2022-06-09 18:19:55 +08:00 via iPhone
    @paradoxs 还有就是可以实现跨 App 共享,比如 Google Chrome 和 YouTube 的登录账号数据
    paradoxs
        24
    paradoxs  
       2022-06-09 18:24:41 +08:00
    @ZE3kr 如果触摸到了 APP 可以标记每一个用户的这条底线,那这个功能就应该被废掉。
    ZE3kr
        25
    ZE3kr  
       2022-06-09 18:32:05 +08:00 via iPhone
    @paradoxs 你说的这个标记用户,只要 app 有持久存储功能就一定可以实现。keychain 的问题确实蛮严重的,不仅是删除软件后不会自动删,而且还不能手动删!如果开了 iCloud keychain 倒是可以在 Mac 上删除,但这不该是大众的方法。不过这就跑题了
    vimac
        26
    vimac  
    OP
       2022-06-09 18:44:41 +08:00
    这个信息有帮助到,非常感谢
    shinsekai
        27
    shinsekai  
       2022-06-09 19:44:40 +08:00
    @ZE3kr 有些应用的 keychain 根本不同步到 iCloud 上,更没法删了
    coolzjy
        28
    coolzjy  
       2022-06-09 19:48:11 +08:00
    不用说其他厂商, 自己的 apple id 删除之后也不能再用相同的邮箱注册。
    ZE3kr
        29
    ZE3kr  
       2022-06-09 20:57:02 +08:00 via iPhone
    @coolzjy 苹果的工程师说是 12 个月内不能注册
    ooooo
        30
    ooooo  
       2022-06-09 21:32:07 +08:00
    可以 30 天后
    系统后台彻底删除
    然后用户名和邮箱重新开放注册
    不然会被用户举报是虚假删除
    这是欺骗用户
    winddweb
        31
    winddweb  
       2022-06-10 03:15:38 +08:00
    这个感觉可以直接问苹果,看他们要求到什么细节。
    superchange
        32
    superchange  
       2022-06-10 04:21:01 +08:00
    @lujiaosama 人在国外,有用到过 APP 就是这个逻辑,不小心删除帐号以后,再注册就会提示该邮箱已经被占用,得打电话过去给客服。客服会帮我彻底删除记录,我就可以重新注册了。
    debuggeeker
        33
    debuggeeker  
       2022-06-10 09:18:33 +08:00
    苹果没有说怎么查这个删除账号,没有具体的说删除后再注册怎么处理,或者删除后找回密码怎么处理。目前我开发的 app 是简单处理,注销后标记不可以,再次注册或者找回密码不可用。如果是封号,就不可能有注销这个操作了,也不会给注册的机会。正常注销就是提示账号不存在,也不给注册,先应付看看,看看后续苹果有什么具体政策。
    gam2046
        34
    gam2046  
       2022-06-10 09:20:23 +08:00
    注销后,再次注册的,应该认为是一个新的账号,与原账号无关。但是要实现这一点需要在前期设计时,没有过多采用用户的唯一标识符,如手机号。如果业务已经很多地方是通过手机号来关联,就比较难实现这样的功能了。偷懒一点,注销后的手机号,就不再允许注册。用户协议里写好,注销后的手机号,720 天内不允许注册。
    nothingistrue
        35
    nothingistrue  
       2022-06-10 09:39:31 +08:00
    老外的惯例是,用户数据必须立刻删除,用户标识可以延后解绑(延后期限也没硬性要求,3 个月行,12 个月行,24 个月也行)。注意用户标识是解绑不是删除,也就是说到期后要满足这个标识不会定位到之前的人,但这个标识可以留着当历史数据用(当然像身份证号这种必定关联自然人的标识,那就必须删除了)。要是立刻解绑用户标识,被薅羊毛只是小问题,对系统数据逻辑的冲击才是致命的。

    硬删除跟软删除,在大数据分析或者商务意义上,没有区别。软删除留下来的数据,你要用在除了误删除恢复的其他场景下,那绝对被揍到爆,你要是不用,那这数据就是垃圾数据。
    leeg810312
        36
    leeg810312  
       2022-06-10 10:57:40 +08:00
    看了上面很多人的回复,我觉得有一个问题,手机号是可以重新放号的,如果因为业务规则而拉黑手机号,那么手机号新机主就无法注册了,是决定放弃所有这样的用户吗?

    我们业务做过欧盟和韩国的合规要求,大体上是用户请求删除账号时,个人信息必须真正意义上完全删除即硬删除,用户行为产生的业务数据可以保留,但不能有任何能识别用户身份的信息。
    shanguiyao
        37
    shanguiyao  
       2022-06-10 12:11:08 +08:00
    为啥做软删除啊,是合规性要求吗?还是什么
    4074
        38
    4074  
       2022-06-10 14:30:16 +08:00
    @leeg810312 比如用户发的帖子,属于个人信息,还是业务数据?
    leeg810312
        39
    leeg810312  
       2022-06-10 22:02:48 +08:00 via Android   1
    @4074 之前业务做的是零售企业客户,处理的都是会员销售数据,没有社区交流数据这种。但按照不能有指向个人信息的数据,帖子之类的可能含有用户信息不能保留,但可以保留一段时间延迟删除,具体看法规要求,我们当时就是按客户的法务部门给的规则处理数据。
    mmkkyang
        40
    mmkkyang  
       2022-06-12 22:04:28 +08:00
    如果学习 apple 的话,是不能用以前的手机和邮箱来注册 apple id 的……
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2637 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 05:09 PVG 13:09 LAX 22:09 JFK 01:09
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86