Obligatory sentimental preamble (and I don’t care if it gets me downvoted): As soon as I received the A2A notification from Darren Johnson on my phone, my heart dropped… and as soon as I clicked on the link and saw that this was, in fact true, I felt some kind of activity in my tear ducts. I wasn’t quite on the verge of tears. But like, 15% of the way to being on the verge? I haven’t been on Craigslist personals in years. However, I met my first love on Craigslist personals - and the way in which meeting someone on Craigslist is just so laughable to most people has always been somewhat of a running joke between us.
We, or a data provider or advertiser that we have engaged, may also place or recognize a cookie on your browser to enable you to receive customized ads or content. These cookies contain no Personal Information. The cookies may reflect de-identified demographic or other data that is linked to data that you have voluntarily have submitted to us (e.g., your email address) that we may share with the data provider or advertiser solely in a hashed (i.e., non-human readable) format. To opt-out of these cookies or to learn more about them, please go to http://www.aboutads.info/choices.
!function(n){function e(e){for(var t,r,i=e[0],a=e[1],u=0,c=[];u1&&void 0!==arguments[1]?arguments[1]:"",t=window,r=Date.now();if(n=e+n,t.ansFrontendGlobals&&t.ansFrontendGlobals.settings&&t.ansFrontendGlobals.settings.gates&&t.ansFrontendGlobals.settings.gates.react_console_log_perf_info){var i=t.performance&&t.performance.now?t.performance.now():r;console.log("".concat(n,": ").concat(i))}o[n]=r}},oqNQ:function(n,e,t){"use strict";t.r(e);var o=t("S0B4");Object(o.a)("entryLoaded"),window.startApp=function(){Object(o.a)("startAppCalled"),Promise.all([t.e("vendor"),t.e("common")]).then(t.bind(null,"A+VG")).then(function(n){n.runApp()})},window.inlineReact=function(n,e,t,a,u){var c="FlowLoadable"==a;Object(o.a)("InlineReactCalled",c?"flow":"body"),c?r(n,e,t,a,u):i(n,e,t,a,u)};var r=function(n,e,t,o,r){window.shimProxy&&window.shimProxy.webnode||(window.shimProxy={webnodeSubscribeEventsQueue:[]}),window.shimProxy.webnode?window.shimProxy.webnode.subscribe("REACT_SHIM_LOAD",function(a){i(n,e,t,o,r)}):window.shimProxy.webnodeSubscribeEventsQueue.push(["REACT_SHIM_LOAD",function(){i(n,e,t,o,r)}])};window.renderPrefetchedPage=function(n,e,o,r){Promise.all([t.e("vendor"),t.e("common")]).then(t.bind(null,"A+VG")).then(function(t){t.renderPrefetchedPage(n,e,o,r)})},window.reportPageSpeedData=function(n){Promise.all([t.e("vendor"),t.e("common")]).then(t.bind(null,"pys6")).then(function(e){e.reportPageData(n)})},window.setTimingData=function(n){Promise.all([t.e("vendor"),t.e("common")]).then(t.bind(null,"pys6")).then(function(e){e.setTimingData(n)})},window.setGlobalMetadata=function(n){Promise.all([t.e("vendor"),t.e("common")]).then(t.bind(null,"Gnru")).then(function(e){e.setGlobalMetadata(n)})},window.updateGlobalMetadata=function(n){Promise.all([t.e("vendor"),t.e("common")]).then(t.bind(null,"Gnru")).then(function(e){e.updateGlobalMetadata(n)})},window.setServerPerfCheckpointData=function(n){Promise.all([t.e("vendor"),t.e("common")]).then(t.bind(null,"pys6")).then(function(e){e.setServerPerfCheckpointData(n)})};var i=function(n,e,r,i,a){Promise.all([t.e("vendor"),t.e("common")]).then(t.bind(null,"A+VG")).then(function(t){var u="FlowLoadable"==i;Object(o.a)("StartAppInlineReactCalled",u?"flow":"body"),t.inlineReact(n,e,r,i,a)})}}});
Due to the nature of many of the services provided by the FFN Websites, certain of your Personal Information will be disclosed to other Members. As an example, if you complete a "dating" profile and choose to disclose your religious affiliation or ethnic origin, this information will be available to other Members using the services on the applicable FFN Website. By providing this type of profile information to us, you have consented to the use and disclosure of your Personal Information in this manner.

We also disclose Personal Information to our service providers (for example, credit card processing companies, billing services) as reasonably necessary or appropriate to provide services on the FFN Websites. Our service providers are legally required by us to protect your Personal Information. Because many of the FFN Websites operate or use service providers located in different countries, your Personal Information may be transferred to a country in which you do not reside, and while in that foreign country, may be accessible to its law enforcement authorities.


Your search features are lousy. I would like very much to be able to search for a man within 50 miles who is in my age range. Why can't I do that? The men that you put on my recommendation list almost never even live in my city, which was a specification I provided. Most of them are from other cities and some of them are even from other states! And when you put me on their lists, I get mail from a bunch of guys who don’t live anywhere near me and it’s a complete waste of time. I think when you put just a picture and nothing else, especially the city and state they live in, there is no way we can tell if we are interested without opening the person’s entire profile and seeing where they live. You’re having us only judge them by their looks alone, and that is not how I judge a man. What a waste of time.
We DO NOT sell or rent any of your Personal Information to third parties for marketing purposes without your express permission or consent. We may, however, disclose to third-party advertisers certain aggregated or hashed (i.e., encrypted) information in a manner that no longer reflects or references an individually identifiable user, for other marketing and promotional purposes.

On November 13, 2016, it was reported that a database of usernames, e-mails, and passwords had been breached and leaked from Adult FriendFinder and other FriendFinder Networks websites. The breach included 300 million Adult FriendFinder user accounts, including account data for 15 million accounts that had supposedly been "deleted". The passwords had not been encrypted at all, or encrypted with the obsolete and insecure SHA-1.[24]
Today, FriendFinder’s award-winning portfolio of services synergistically combines the technical and brand assets of online personals, social-networking, live video chat, recorded video, online chat rooms, webcams, instant messaging, photo and video sharing, and premium content. With over 700,000,000 (not a typo; that’s 700 MILLION!) people engaged with at least one of our websites, and a track record of over twenty years of positive customer experiences, we continue our mission of pioneering new development of innovative, social media technology connecting people every day all over the world.
!function(n,t){function r(e,n){return Object.prototype.hasOwnProperty.call(e,n)}function o(e){return void 0===e}if(n){var i={},s=n.TraceKit,u=[].slice,l="?";i.noConflict=function(){return n.TraceKit=s,i},i.wrap=function(e){function n(){try{return e.apply(this,arguments)}catch(e){throw i.report(e),e}}return n},i.report=function(){function e(e){l(),h.push(e)}function t(e){for(var n=h.length-1;n>=0;--n)h[n]===e&&h.splice(n,1)}function o(e,n){var t=null;if(!n||i.collectWindowErrors){for(var o in h)if(r(h,o))try{h[o].apply(null,[e].concat(u.call(arguments,2)))}catch(e){t=e}if(t)throw t}}function s(e,n,t,r,s){var u=null;if(y)i.computeStackTrace.augmentStackTraceWithInitialElement(y,n,t,e),a();else if(s)u=i.computeStackTrace(s),o(u,!0);else{var l={url:n,line:t,column:r};l.func=i.computeStackTrace.guessFunctionName(l.url,l.line),l.context=i.computeStackTrace.gatherContext(l.url,l.line),u={mode:"onerror",message:e,stack:[l]},o(u,!0)}return!!f&&f.apply(this,arguments)}function l(){!0!==p&&(f=n.onerror,n.onerror=s,p=!0)}function a(){var e=y,n=d;d=null,y=null,m=null,o.apply(null,[e,!1].concat(n))}function c(e){if(y){if(m===e)return;a()}var t=i.computeStackTrace(e);throw y=t,m=e,d=u.call(arguments,1),n.setTimeout(function(){m===e&&a()},t.incomplete?2e3:0),e}var f,p,h=[],d=null,m=null,y=null;return c.subscribe=e,c.unsubscribe=t,c}(),i.computeStackTrace=function(){function e(e){if(!i.remoteFetching)return"";try{var t=function(){try{return new n.XMLHttpRequest}catch(e){return new n.ActiveXObject("Microsoft.XMLHTTP")}},r=t();return r.open("GET",e,!1),r.send(""),r.responseText}catch(e){return""}}function t(t){if("string"!=typeof t)return[];if(!r(x,t)){var o="",i="";try{i=n.document.domain}catch(e){}var s=/(.*)\:\/\/([^:\/]+)([:\d]*)\/{0,1}([\s\S]*)/.exec(t);s&&s[2]===i&&(o=e(t)),x[t]=o?o.split("\n"):[]}return x[t]}function s(e,n){var r,i=/function ([^(]*)\(([^)]*)\)/,s=/['"]?([0-9A-Za-z$_]+)['"]?\s*[:=]\s*(function|eval|new Function)/,u="",a=10,c=t(e);if(!c.length)return l;for(var f=0;f0?s:null}function a(e){return e.replace(/[\-\[\]{}()*+?.,\\\^$|#]/g,"\\$&")}function c(e){return a(e).replace("<","(?:<|<)").replace(">","(?:>|>)").replace("&","(?:&|&)").replace('"','(?:"|")').replace(/\s+/g,"\\s+")}function f(e,n){for(var r,o,i=0,s=n.length;ir&&(o=s.exec(i[r]))?o.index:null}function h(e){if(!o(n&&n.document)){for(var t,r,i,s,u=[n.location.href],l=n.document.getElementsByTagName("script"),p=""+e,h=/^function(?:\s+([\w$]+))?\s*\(([\w\s,]*)\)\s*\{\s*(\S[\s\S]*\S)\s*\}\s*$/,d=/^function on([\w$]+)\s*\(event\)\s*\{\s*(\S[\s\S]*\S)\s*\}\s*$/,m=0;m]+)>|([^\)]+))\((.*)\))? in (.*):\s*$/i,i=n.split("\n"),l=[],a=0;a=0&&(g.line=v+j.substring(0,x).split("\n").length)}}}else if(i=p.exec(o[w])){var _=n.location.href.replace(/#.*$/,""),T=new RegExp(c(o[w+1])),E=f(T,[_]);g={url:_,func:"",args:[],line:E?E.line:i[1],column:null}}if(g){g.func||(g.func=s(g.url,g.line));var k=u(g.url,g.line),A=k?k[Math.floor(k.length/2)]:null;k&&A.replace(/^\s*/,"")===o[w+1].replace(/^\s*/,"")?g.context=k:g.context=[o[w+1]],h.push(g)}}return h.length?{mode:"multiline",name:e.name,message:o[0],stack:h}:null}function w(e,n,t,r){var o={url:n,line:t};if(o.url&&o.line){e.incomplete=!1,o.func||(o.func=s(o.url,o.line)),o.context||(o.context=u(o.url,o.line));var i=/ '([^']+)' /.exec(r);if(i&&(o.column=p(i[1],o.url,o.line)),e.stack.length>0&&e.stack[0].url===o.url){if(e.stack[0].line===o.line)return!1;if(!e.stack[0].line&&e.stack[0].func===o.func)return e.stack[0].line=o.line,e.stack[0].context=o.context,!1}return e.stack.unshift(o),e.partial=!0,!0}return e.incomplete=!0,!1}function g(e,n){for(var t,r,o,u=/function\s+([_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*)?\s*\(/i,a=[],c={},f=!1,d=g.caller;d&&!f;d=d.caller)if(d!==v&&d!==i.report){if(r={url:null,func:l,args:[],line:null,column:null},d.name?r.func=d.name:(t=u.exec(d.toString()))&&(r.func=t[1]),"undefined"==typeof r.func)try{r.func=t.input.substring(0,t.input.indexOf("{"))}catch(e){}if(o=h(d)){r.url=o.url,r.line=o.line,r.func===l&&(r.func=s(r.url,r.line));var m=/ '([^']+)' /.exec(e.message||e.description);m&&(r.column=p(m[1],o.url,o.line))}c[""+d]?f=!0:c[""+d]=!0,a.push(r)}n&&a.splice(0,n);var y={mode:"callers",name:e.name,message:e.message,stack:a};return w(y,e.sourceURL||e.fileName,e.line||e.lineNumber,e.message||e.description),y}function v(e,n){var t=null;n=null==n?0:+n;try{if(t=m(e))return t}catch(e){if(j)throw e}try{if(t=d(e))return t}catch(e){if(j)throw e}try{if(t=y(e))return t}catch(e){if(j)throw e}try{if(t=g(e,n+1))return t}catch(e){if(j)throw e}return{mode:"failed"}}function b(e){e=1+(null==e?0:+e);try{throw new Error}catch(n){return v(n,e+1)}}var j=!1,x={};return v.augmentStackTraceWithInitialElement=w,v.guessFunctionName=s,v.gatherContext=u,v.ofCaller=b,v.getSource=t,v}(),i.extendToAsynchronousCallbacks=function(){var e=function(e){var t=n[e];n[e]=function(){var e=u.call(arguments),n=e[0];return"function"==typeof n&&(e[0]=i.wrap(n)),t.apply?t.apply(this,e):t(e[0],e[1])}};e("setTimeout"),e("setInterval")},i.remoteFetching||(i.remoteFetching=!0),i.collectWindowErrors||(i.collectWindowErrors=!0),(!i.linesOfContext||i.linesOfContext<1)&&(i.linesOfContext=11),void 0!==e&&e.exports&&n.module!==e?e.exports=i:"function"==typeof define&&define.amd?define("TraceKit",[],i):n.TraceKit=i}}("undefined"!=typeof window?window:global)},"./webpack-loaders/expose-loader/index.js?require!./shared/require-global.js":function(e,n,t){(function(n){e.exports=n.require=t("./shared/require-global.js")}).call(n,t("../../../lib/node_modules/webpack/buildin/global.js"))}});

Recently I saw an ad on TV with a testimonial from some couple that got married after having met on a dating site. It reminded me of how blessed I am to have met my wife as a DIRECT RESULT OF one of your sites. It also occurred to me that as I approach my 5th wedding anniversary in February, I have yet to officially let your organization know about our success. I wanted to share them with you.
"I've heard great stories from friends about dating and meeting people online, but didn't believe in online dating… this was until I met David. He didn't expect much from dating sites either but things completely changed when we met. Naturally, we got to know one another at a deeper level and discovered how perfect we were together. David is now my husband to be and we are now planning our wedding. I’ve heard about many successful relationships starting from online dating and wish I would’ve joined Asia Friendfinder earlier. Thanks to Asia Friendfinder, I’ve found my true love and look forward to a life time of happiness."
(function(){"use strict";function s(e){return"function"==typeof e||"object"==typeof e&&null!==e}function u(e){return"function"==typeof e}function l(e){X=e}function a(e){G=e}function c(){return function(){r.nextTick(d)}}function f(){var e=0,n=new ne(d),t=document.createTextNode("");return n.observe(t,{characterData:!0}),function(){t.data=e=++e%2}}function p(){var e=new MessageChannel;return e.port1.onmessage=d,function(){e.port2.postMessage(0)}}function h(){return function(){setTimeout(d,1)}}function d(){for(var e=0;et.length)&&(n=t.length),n-=e.length;var r=t.indexOf(e,n);return-1!==r&&r===n}),String.prototype.startsWith||(String.prototype.startsWith=function(e,n){return n=n||0,this.substr(n,e.length)===e}),String.prototype.trim||(String.prototype.trim=function(){return this.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")}),String.prototype.includes||(String.prototype.includes=function(e,n){"use strict";return"number"!=typeof n&&(n=0),!(n+e.length>this.length)&&-1!==this.indexOf(e,n)})},"./shared/require-global.js":function(e,n,t){e.exports=t("./shared/require-shim.js")},"./shared/require-shim.js":function(e,n,t){var r=t("./shared/errors.js"),o=(this.window,!1),i=null,s=null,u=new Promise(function(e,n){i=e,s=n}),l=function(e){if(!l.hasModule(e)){var n=new Error('Cannot find module "'+e+'"');throw n.code="MODULE_NOT_FOUND",n}return t("./"+e+".js")};l.loadChunk=function(e){return u.then(function(){return"main"==e?t.e("main").then(function(e){t("./main.js")}.bind(null,t))["catch"](t.oe):"dev"==e?Promise.all([t.e("main"),t.e("dev")]).then(function(e){t("./shared/dev.js")}.bind(null,t))["catch"](t.oe):"internal"==e?Promise.all([t.e("main"),t.e("internal"),t.e("qtext2"),t.e("dev")]).then(function(e){t("./internal.js")}.bind(null,t))["catch"](t.oe):"ads_manager"==e?Promise.all([t.e("main"),t.e("ads_manager")]).then(function(e){t("./ads_manager/main.js")}.bind(null,t))["catch"](t.oe):"publisher_dashboard"==e?t.e("publisher_dashboard").then(function(e){undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined}.bind(null,t))["catch"](t.oe):"content_widgets"==e?Promise.all([t.e("main"),t.e("content_widgets")]).then(function(e){t("./content_widgets.iframe.js")}.bind(null,t))["catch"](t.oe):void 0})},l.whenReady=function(e,n){Promise.all(window.ansWebWebpackChunks.map(function(e){return l.loadChunk(e)})).then(function(){n()})},l.installPageProperties=function(e,n){window.Q.settings=e,window.Q.gating=n,o=!0,i()},l.assertPagePropertiesInstalled=function(){o||(s(),r.logJsError("installPageProperties","The install page properties promise was rejected in require-shim."))},l.prefetchAll=function(){t("./settings.js");Promise.all([t.e("main"),t.e("qtext2")]).then(function(){}.bind(null,t))["catch"](t.oe)},l.hasModule=function(e){return!!window.NODE_JS||t.m.hasOwnProperty("./"+e+".js")},l.execAll=function(){var e=Object.keys(t.m);try{for(var n=0;n
×